enotaryo-landing/EnotaryoPH/EnotaryoPH.Web/Common/Models/IdentificationDocumentModelMapper.cs

39 lines
1.3 KiB
C#

using EnotaryoPH.Data.Entities;
namespace EnotaryoPH.Web.Common.Models
{
internal static class IdentificationDocumentModelMapper
{
internal static IdentificationDocument ToEntity(this IdentificationDocumentModel model, int userID)
{
var now = DateTime.UtcNow;
var entity = new IdentificationDocument
{
UploadedOn = now,
UserID = userID,
IdentificationDocument_UID = Guid.CreateVersion7(now),
CreatedOn = now
};
return model.ToEntity(entity);
}
internal static IdentificationDocument ToEntity(this IdentificationDocumentModel model, IdentificationDocument entity)
{
ArgumentNullException.ThrowIfNull(model.File);
entity.ExpirationDate = model.ExpirationDate.ToUTC();
entity.DateIssued = model.DateIssued.ToUTC();
entity.PlaceIssued = model.PlaceIssued;
entity.IdNumber = model.IdNumber;
entity.Type = model.IdentificationType;
var file = model.File;
entity.Filename = file.FileName;
var stream = new MemoryStream((int)file.Length);
file.CopyTo(stream);
entity.File = stream.ToArray();
return entity;
}
}
}