public async Task SendEmail(EbatchSheet ebatchSheet) { var request = new HttpRequestMessage(HttpMethod.Post, _configuration["EmailTriggerURL"]); request.Headers.Add("Accept", "application/json"); var req = _httpContext.HttpContext.Request; string itemUrl = string.Format("{0}://{1}/form?id={2}", req.Scheme, req.Host, ebatchSheet.Id); EbatchSheetUpdateStateMailContent emailContent = new EbatchSheetUpdateStateMailContent { Body = itemUrl, NextState = ebatchSheet.CurrentState.Value }; string content = JsonConvert.SerializeObject(emailContent); request.Content = new StringContent(content, Encoding.UTF8, "application/json"); var client = _clientFactory.CreateClient(); var response = await client.SendAsync(request); if (!response.IsSuccessStatusCode) { _logger.LogError("UPDATE_EBATCHSHEET - SEND EMAIL FAILED {@request}", request); } else { _logger.LogInformation("UPDATE_EBATCHSHEET: {ebatchId} - {@BODY} successfully to {newStatus} ", ebatchSheet.Id, request, ebatchSheet.CurrentState); } }
/*public static EbatchSheet ToDomainEntity(this CreateEbatchSheetCommand request) * { * var ebatchSheet = new EbatchSheet() * { * WorkOrderId = Guid.NewGuid().ToString(), * Owner = request.Owner, * WorkOrderNumber = request.WorkOrderNumber, * WorkOrderDesciption = request.WorkOrderDesciption, * WorkOrderPart = request.WorkOrderPart, * WorkOrderArticle = request.WorkOrderArticle, * ManufacturingDate = request.ManufacturingDate, * ManufacturingComment = request.ManufacturingComment, * GridBulkItem = request.GridBulkItem * }; * return ebatchSheet; * }*/ public static EbatchSheetVm ToViewEntity(this EbatchSheet request) { var ebatchVm = new EbatchSheetVm() { Id = request.Id, CurrentState = request.CurrentState, NextState = request.GetNextState(request.CurrentState), WorkOrderId = request.WorkOrderId, Owner = request.Owner, WorkOrderNumber = request.WorkOrderNumber, WorkOrderPartDesciption = request.WorkOrderPartDesciption, WorkOrderPart = request.WorkOrderPart, WorkOrderArticle = request.WorkOrderArticle, ManufacturingDate = request.ManufacturingDate, BatchStartDate = request.BatchStartDate, EndDateComment = request.EndDateComment, ExpiryDate = request.ExpiryDate, ModifiedDate = request.ModifiedDate, CreatedDate = request.CreatedDate, PackDate = request.PackageDate, PackageSize = request.PackageSize, BestBeforeComment = request.BestBeforeComment, GroupBComment = request.GroupBComment, Panel9Signature = request.Panel9Signature, Panel9Signature2 = request.Panel9Signature2, QCSample = request.QCSample, QuantityRequired = request.QuantityRequired, ReconciliationCompletedbySignature = request.ReconciliationCompletedbySignature, ManufacturingComment = request.ManufacturingComment, IssuedDate = request.IssuedDate, IssuedBy = request.IssuedBy, EbatchVersion = request.EbatchVersion, OuterShipperLabel = request.OuterShipperLabel, PalletLabel = request.PalletLabel, ChangeOfLabelNotice = request.ChangeOfLabelNotice, PalletInformation = request.PalletInformation, CleanCompletedSignature = request.CleanCompletedSignature, GridBulkItem = request.GridBulkItem, GridPrePrint = request.GridPrePrint, GridPackaging = request.GridPackaging, DataGridGroupA = request.DataGridGroupA, FinishedGoodUnit_NumberOfUnits = request.FinishedGoodUnit_NumberOfUnits, FinishedGoodUnit_NumberOfUnitsInPart = request.FinishedGoodUnit_NumberOfUnitsInPart, FinishedGoodUnit_TotalNumberOfUnits = request.FinishedGoodUnit_TotalNumberOfUnits, SecondUKOnly_NumberOfUnits = request.SecondUKOnly_NumberOfUnits, SecondUKOnly_NumberOfUnitsInPart = request.SecondUKOnly_NumberOfUnitsInPart, SecondUKOnly_TotalNumberOfUnits = request.SecondUKOnly_TotalNumberOfUnits, RoomCoordinatorSignature = request.RoomCoordinatorSignature, GMPReconciliatorSignature = request.GMPReconciliatorSignature, ReconciliationComment = request.ReconciliationComment, CommentsSignOff = request.CommentsSignOff }; return(ebatchVm); }
public async Task <string> Handle(CreateEbatchSheetCommand request, CancellationToken cancellationToken) { _logger.LogInformation("CREATE_NEW_EBATCHSHEET : {@request} ", request); var newEbatch = new EbatchSheet(); newEbatch.Create(request); await _cosmosStore.AddAsync(newEbatch); await _ebatchSheetEmailSender.SendEmail(newEbatch); return(newEbatch.Id); }