Add GetOcByNodeId method to UserProfileRepository and update InsigniaManageController to use it #2389
This commit is contained in:
parent
ea694bfda2
commit
69b89dfc90
2 changed files with 40 additions and 1 deletions
|
|
@ -1259,6 +1259,38 @@ namespace BMA.EHR.Application.Repositories
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public GetOrganizationResponseDTO? GetOcByNodeId(Guid ocId, int level, string? accessToken)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var apiPath = $"{_configuration["API"]}/org/find/all";
|
||||||
|
var apiKey = _configuration["API_KEY"];
|
||||||
|
var body = new
|
||||||
|
{
|
||||||
|
nodeId = ocId,
|
||||||
|
node = level
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
var apiResult = PostExternalAPIAsync(apiPath, accessToken ?? "", body, apiKey).Result;
|
||||||
|
if (apiResult != null)
|
||||||
|
{
|
||||||
|
var raw = JsonConvert.DeserializeObject<GetOrganizationResponseResultDTO>(apiResult);
|
||||||
|
if (raw != null && raw.Result != null)
|
||||||
|
{
|
||||||
|
return raw.Result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public GetOrganizationResponseDTO? GetOc(Guid ocId, int level, string? accessToken)
|
public GetOrganizationResponseDTO? GetOc(Guid ocId, int level, string? accessToken)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
|
||||||
|
|
@ -331,7 +331,7 @@ namespace BMA.EHR.Insignia.Service.Controllers
|
||||||
if (req.Total + total > insigniaManage.Total)
|
if (req.Total + total > insigniaManage.Total)
|
||||||
return Error(GlobalMessages.InsigniaManageOrgLimit);
|
return Error(GlobalMessages.InsigniaManageOrgLimit);
|
||||||
|
|
||||||
var ocData = _userProfileRepository.GetOc(req.OrganizationOrganizationId, 0, AccessToken);
|
var ocData = _userProfileRepository.GetOcByNodeId(req.OrganizationOrganizationId, 0, AccessToken);
|
||||||
var root = ocData?.Root ?? null;
|
var root = ocData?.Root ?? null;
|
||||||
var rootDnaId = ocData?.RootDnaId ?? null;
|
var rootDnaId = ocData?.RootDnaId ?? null;
|
||||||
await _context.InsigniaManageOrganiations.AddAsync(
|
await _context.InsigniaManageOrganiations.AddAsync(
|
||||||
|
|
@ -407,6 +407,10 @@ namespace BMA.EHR.Insignia.Service.Controllers
|
||||||
if (uppdated == null)
|
if (uppdated == null)
|
||||||
return Error(GlobalMessages.InsigniaManageNotFound);
|
return Error(GlobalMessages.InsigniaManageNotFound);
|
||||||
|
|
||||||
|
var ocData = _userProfileRepository.GetOcByNodeId(uppdated.OrganizationId, 0, AccessToken);
|
||||||
|
var root = ocData?.Root ?? null;
|
||||||
|
var rootDnaId = ocData?.RootDnaId ?? null;
|
||||||
|
|
||||||
var insigniaManage = await _context.InsigniaManages.AsQueryable()
|
var insigniaManage = await _context.InsigniaManages.AsQueryable()
|
||||||
.Include(x => x.InsigniaManageOrganiations)
|
.Include(x => x.InsigniaManageOrganiations)
|
||||||
.FirstOrDefaultAsync(x => x.Id == uppdated.InsigniaManage.Id);
|
.FirstOrDefaultAsync(x => x.Id == uppdated.InsigniaManage.Id);
|
||||||
|
|
@ -416,6 +420,9 @@ namespace BMA.EHR.Insignia.Service.Controllers
|
||||||
if (req.Total + total > insigniaManage.Total)
|
if (req.Total + total > insigniaManage.Total)
|
||||||
return Error(GlobalMessages.InsigniaManageOrgLimit);
|
return Error(GlobalMessages.InsigniaManageOrgLimit);
|
||||||
|
|
||||||
|
uppdated.Organization = root;
|
||||||
|
uppdated.RootDnaId = rootDnaId;
|
||||||
|
|
||||||
uppdated.Total = req.Total;
|
uppdated.Total = req.Total;
|
||||||
uppdated.LastUpdateFullName = FullName ?? "System Administrator";
|
uppdated.LastUpdateFullName = FullName ?? "System Administrator";
|
||||||
uppdated.LastUpdateUserId = UserId ?? "";
|
uppdated.LastUpdateUserId = UserId ?? "";
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue