สร้างรายการรับโอน ถ้าเป็นขรก.เดิมใช้รูปภาพจากทะเบียนประวัติ #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)
|
public async Task DeleteFileAsync(Guid fileId)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
|
||||||
|
|
@ -326,33 +326,22 @@ namespace BMA.EHR.Placement.Service.Controllers
|
||||||
p.posLevelOldId,
|
p.posLevelOldId,
|
||||||
p.posLevelNameOld,
|
p.posLevelNameOld,
|
||||||
|
|
||||||
//Avatar = p.Avatar == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.Avatar.Id,
|
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 }),
|
PlacementReceiveDocs = p.PlacementReceiveDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }),
|
||||||
Docs = p.Avatar ?? null,
|
|
||||||
})
|
})
|
||||||
.FirstOrDefaultAsync();
|
.FirstOrDefaultAsync();
|
||||||
if (data == null)
|
if (data == null)
|
||||||
return Error(GlobalMessages.DataNotFound, 404);
|
return Error(GlobalMessages.DataNotFound, 404);
|
||||||
|
|
||||||
//var placementReceiveDocs = new List<dynamic>();
|
var placementReceiveDocs = new List<dynamic>();
|
||||||
//foreach (var doc in data.PlacementReceiveDocs)
|
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 _doc = new
|
var _doc = new
|
||||||
{
|
{
|
||||||
FileName = data.Docs?.FileName,
|
doc.FileName,
|
||||||
PathName = await _documentService.ImagesPath(data.Docs?.Id)
|
PathName = await _documentService.ImagesPath(doc.Id)
|
||||||
};
|
};
|
||||||
_Docs.Add(_doc);
|
placementReceiveDocs.Add(_doc);
|
||||||
}
|
}
|
||||||
var _data = new
|
var _data = new
|
||||||
{
|
{
|
||||||
|
|
@ -438,9 +427,8 @@ namespace BMA.EHR.Placement.Service.Controllers
|
||||||
data.posLevelOldId,
|
data.posLevelOldId,
|
||||||
data.posLevelNameOld,
|
data.posLevelNameOld,
|
||||||
|
|
||||||
//Avatar = data.Avatar == Guid.Parse("00000000-0000-0000-0000-000000000000") ? null : await _documentService.ImagesPath(data.Avatar),
|
Avatar = data.Avatar == Guid.Parse("00000000-0000-0000-0000-000000000000") ? null : await _documentService.ImagesPath(data.Avatar),
|
||||||
//Docs = placementReceiveDocs,
|
Docs = placementReceiveDocs,
|
||||||
Docs = _Docs,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
return Success(_data);
|
return Success(_data);
|
||||||
|
|
@ -522,6 +510,7 @@ namespace BMA.EHR.Placement.Service.Controllers
|
||||||
return Error("ข้อมูลรหัสบัตรประจำตัวประชาชนไม่ถูกต้อง", 500);
|
return Error("ข้อมูลรหัสบัตรประจำตัวประชาชนไม่ถูกต้อง", 500);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var avatarUrl = string.Empty;
|
||||||
var apiUrl = $"{_configuration["API"]}/org/profile/citizenid/position/{req.citizenId}";
|
var apiUrl = $"{_configuration["API"]}/org/profile/citizenid/position/{req.citizenId}";
|
||||||
using (var client = new HttpClient())
|
using (var client = new HttpClient())
|
||||||
{
|
{
|
||||||
|
|
@ -579,6 +568,8 @@ namespace BMA.EHR.Placement.Service.Controllers
|
||||||
placementReceive.OrganizationPositionOld = org.result.position + "\n" +
|
placementReceive.OrganizationPositionOld = org.result.position + "\n" +
|
||||||
(placementReceive.PositionExecutiveOld == null ? "" : (placementReceive.positionExecutiveField == null ? placementReceive.PositionExecutiveOld + "\n" : placementReceive.PositionExecutiveOld + "(" + placementReceive.positionExecutiveField + ")" + "\n"))
|
(placementReceive.PositionExecutiveOld == null ? "" : (placementReceive.positionExecutiveField == null ? placementReceive.PositionExecutiveOld + "\n" : placementReceive.PositionExecutiveOld + "(" + placementReceive.positionExecutiveField + ")" + "\n"))
|
||||||
+ placementReceive.OrganizationOld;
|
+ placementReceive.OrganizationOld;
|
||||||
|
|
||||||
|
avatarUrl = org.result.avatarUrl ?? null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
await _context.PlacementReceives.AddAsync(placementReceive);
|
await _context.PlacementReceives.AddAsync(placementReceive);
|
||||||
|
|
@ -596,6 +587,20 @@ namespace BMA.EHR.Placement.Service.Controllers
|
||||||
placementReceive.Avatar = _doc;
|
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();
|
await _context.SaveChangesAsync();
|
||||||
|
|
||||||
return Success();
|
return Success();
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,7 @@ namespace BMA.EHR.Placement.Service.Requests
|
||||||
public double? salary { get; set; }
|
public double? salary { get; set; }
|
||||||
public string? education { get; set; }
|
public string? education { get; set; }
|
||||||
public double? Amount { get; set; }
|
public double? Amount { get; set; }
|
||||||
|
public string? avatarUrl { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue