สร้างรายการรับโอน ถ้าเป็นขรก.เดิมใช้รูปภาพจากทะเบียนประวัติ #1168
Some checks failed
release-dev / release-dev (push) Failing after 10s
Some checks failed
release-dev / release-dev (push) Failing after 10s
This commit is contained in:
parent
18be7bee37
commit
d6a3bdc8ba
3 changed files with 62 additions and 22 deletions
|
|
@ -155,6 +155,40 @@ namespace BMA.EHR.Application.Repositories
|
|||
}
|
||||
}
|
||||
|
||||
public async Task<FormFile> GetImageToFormFileAsync(string refId)
|
||||
{
|
||||
try
|
||||
{
|
||||
using var memoryStream = new MemoryStream();
|
||||
var request = new GetObjectRequest
|
||||
{
|
||||
BucketName = _bucketName,
|
||||
Key = refId
|
||||
};
|
||||
|
||||
using var response = await _s3Client.GetObjectAsync(request);
|
||||
using var responseStream = response.ResponseStream;
|
||||
|
||||
await responseStream.CopyToAsync(memoryStream);
|
||||
|
||||
var finalBytes = memoryStream.ToArray();
|
||||
|
||||
var finalStream = new MemoryStream(finalBytes);
|
||||
var fileName = Path.GetFileName(refId);
|
||||
var contentType = response.Headers.ContentType ?? "image/jpeg";
|
||||
|
||||
return new FormFile(finalStream, 0, finalStream.Length, "file", fileName)
|
||||
{
|
||||
Headers = new HeaderDictionary(),
|
||||
ContentType = contentType
|
||||
};
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
public async Task DeleteFileAsync(Guid fileId)
|
||||
{
|
||||
try
|
||||
|
|
|
|||
|
|
@ -326,33 +326,22 @@ namespace BMA.EHR.Placement.Service.Controllers
|
|||
p.posLevelOldId,
|
||||
p.posLevelNameOld,
|
||||
|
||||
//Avatar = p.Avatar == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.Avatar.Id,
|
||||
//PlacementReceiveDocs = p.PlacementReceiveDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }),
|
||||
Docs = p.Avatar ?? null,
|
||||
Avatar = p.Avatar == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.Avatar.Id,
|
||||
PlacementReceiveDocs = p.PlacementReceiveDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }),
|
||||
})
|
||||
.FirstOrDefaultAsync();
|
||||
if (data == null)
|
||||
return Error(GlobalMessages.DataNotFound, 404);
|
||||
|
||||
//var placementReceiveDocs = new List<dynamic>();
|
||||
//foreach (var doc in data.PlacementReceiveDocs)
|
||||
//{
|
||||
// var _doc = new
|
||||
// {
|
||||
// doc.FileName,
|
||||
// PathName = await _documentService.ImagesPath(doc.Id)
|
||||
// };
|
||||
// placementReceiveDocs.Add(_doc);
|
||||
//}
|
||||
var _Docs = new List<dynamic>();
|
||||
if (data.Docs != null)
|
||||
var placementReceiveDocs = new List<dynamic>();
|
||||
foreach (var doc in data.PlacementReceiveDocs)
|
||||
{
|
||||
var _doc = new
|
||||
{
|
||||
FileName = data.Docs?.FileName,
|
||||
PathName = await _documentService.ImagesPath(data.Docs?.Id)
|
||||
doc.FileName,
|
||||
PathName = await _documentService.ImagesPath(doc.Id)
|
||||
};
|
||||
_Docs.Add(_doc);
|
||||
placementReceiveDocs.Add(_doc);
|
||||
}
|
||||
var _data = new
|
||||
{
|
||||
|
|
@ -438,9 +427,8 @@ namespace BMA.EHR.Placement.Service.Controllers
|
|||
data.posLevelOldId,
|
||||
data.posLevelNameOld,
|
||||
|
||||
//Avatar = data.Avatar == Guid.Parse("00000000-0000-0000-0000-000000000000") ? null : await _documentService.ImagesPath(data.Avatar),
|
||||
//Docs = placementReceiveDocs,
|
||||
Docs = _Docs,
|
||||
Avatar = data.Avatar == Guid.Parse("00000000-0000-0000-0000-000000000000") ? null : await _documentService.ImagesPath(data.Avatar),
|
||||
Docs = placementReceiveDocs,
|
||||
};
|
||||
|
||||
return Success(_data);
|
||||
|
|
@ -522,6 +510,7 @@ namespace BMA.EHR.Placement.Service.Controllers
|
|||
return Error("ข้อมูลรหัสบัตรประจำตัวประชาชนไม่ถูกต้อง", 500);
|
||||
}
|
||||
|
||||
var avatarUrl = string.Empty;
|
||||
var apiUrl = $"{_configuration["API"]}/org/profile/citizenid/position/{req.citizenId}";
|
||||
using (var client = new HttpClient())
|
||||
{
|
||||
|
|
@ -532,7 +521,7 @@ namespace BMA.EHR.Placement.Service.Controllers
|
|||
var _result = await _res.Content.ReadAsStringAsync();
|
||||
|
||||
var org = JsonConvert.DeserializeObject<OrgRequest>(_result);
|
||||
|
||||
|
||||
if (org != null && org.result != null)
|
||||
{
|
||||
placementReceive.profileId = org.result.profileId;
|
||||
|
|
@ -579,6 +568,8 @@ namespace BMA.EHR.Placement.Service.Controllers
|
|||
placementReceive.OrganizationPositionOld = org.result.position + "\n" +
|
||||
(placementReceive.PositionExecutiveOld == null ? "" : (placementReceive.positionExecutiveField == null ? placementReceive.PositionExecutiveOld + "\n" : placementReceive.PositionExecutiveOld + "(" + placementReceive.positionExecutiveField + ")" + "\n"))
|
||||
+ placementReceive.OrganizationOld;
|
||||
|
||||
avatarUrl = org.result.avatarUrl ?? null;
|
||||
}
|
||||
}
|
||||
await _context.PlacementReceives.AddAsync(placementReceive);
|
||||
|
|
@ -596,6 +587,20 @@ namespace BMA.EHR.Placement.Service.Controllers
|
|||
placementReceive.Avatar = _doc;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (avatarUrl != null && avatarUrl != "")
|
||||
{
|
||||
IFormFile imageFile = await _documentService.GetImageToFormFileAsync(avatarUrl);
|
||||
var doc = await _documentService.UploadFileAsync(imageFile, imageFile.FileName);
|
||||
var _doc = await _context.Documents.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == doc.Id);
|
||||
if (_doc != null)
|
||||
{
|
||||
placementReceive.Avatar = _doc;
|
||||
}
|
||||
}
|
||||
}
|
||||
await _context.SaveChangesAsync();
|
||||
|
||||
return Success();
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@ namespace BMA.EHR.Placement.Service.Requests
|
|||
public double? salary { get; set; }
|
||||
public string? education { get; set; }
|
||||
public double? Amount { get; set; }
|
||||
public string? avatarUrl { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue