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 }); }
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()); }