Пример #1
0
 public static TraderDocument ToDomain(this UploadDocumentGrpcContract src)
 {
     return(new TraderDocument
     {
         Id = Guid.NewGuid().ToString("N"),
         Mime = src.FileName.ConvertFileNameToMime(),
         DateTime = DateTime.UtcNow,
         DocumentType = (int)src.DocumentType,
         TraderId = src.TraderId,
         FileName = src.FileName
     });
 }
Пример #2
0
        public async ValueTask <TraderDocumentGrpcModel> SaveDocumentAsync(UploadDocumentGrpcContract request)
        {
            var model = request.ToDomain();

            await ServiceLocator.TraderDocumentsPostgresRepository.Add(model);

            var encodedFileContent = AesEncodeDecode.Encode(request.Data, ServiceLocator.EncodingKey);

            await ServiceLocator.AzureBlobContainer.UploadToBlobAsync(model.Id, encodedFileContent);

            // await ServiceLocator.AuditLogGrpcService.DispatchAuditLogsAction(request.TraderId, "kyc",
            //     model.Id,
            //     $"Trader uploaded a document with id: {model.Id}");

            return(model.ToGrpc());
        }