private async Task SaveCompleteData(Guid notificationId, UploadCertificateViewModel model) { var fileExtension = Path.GetExtension(model.File.FileName); var uploadedFile = await fileReader.GetFileBytes(model.File, User.GetAccessToken()); var id = model.MovementId; await mediator.SendAsync(new SaveMovementCompletedReceipt(id, model.DateRecovered, uploadedFile, fileExtension, SystemTime.Now)); }
private async Task SaveReceiptData(Guid notificationId, UploadCertificateViewModel model) { var fileExtension = Path.GetExtension(model.File.FileName); var uploadedFile = await fileReader.GetFileBytes(model.File, User.GetAccessToken()); var id = model.MovementId; var fileId = await mediator.SendAsync(new SaveCertificateOfReceiptFile(id, uploadedFile, fileExtension)); await mediator.SendAsync(new SetMovementAccepted(id, fileId, model.DateReceived, model.Quantity.GetValueOrDefault(), model.Unit.GetValueOrDefault(), SystemTime.Now)); }
public async Task <ActionResult> UploadCertificate(Guid notificationId, Guid movementId) { var movementDetails = await mediator.SendAsync(new GetMovementDetailsById(notificationId, movementId)); var model = new UploadCertificateViewModel { Certificate = (CertificateType)TempData[CertificateKey], NotificationType = (NotificationType)TempData[NotificationTypeKey], NotificationId = notificationId, MovementId = movementId, ShipmentNumber = movementDetails.Number }; if (model.Certificate == CertificateType.Receipt || model.Certificate == CertificateType.ReceiptRecovery) { //Check all the values are available object quantityResult; object unitResult; object dateReceivedResult; if (TempData.TryGetValue(DateReceivedKey, out dateReceivedResult) && TempData.TryGetValue(UnitKey, out unitResult) && TempData.TryGetValue(QuantityKey, out quantityResult)) { model.DateReceived = DateTime.Parse(dateReceivedResult.ToString()); model.Unit = (ShipmentQuantityUnits)unitResult; model.Quantity = decimal.Parse(quantityResult.ToString()); } } if (model.Certificate == CertificateType.Recovery || model.Certificate == CertificateType.ReceiptRecovery) { model.DateRecovered = DateTime.Parse(TempData[DateRecoveredKey].ToString()); } return(View(model)); }
public async Task <ActionResult> UploadCertificate(Guid notificationId, Guid movementId, UploadCertificateViewModel model) { if (!ModelState.IsValid) { return(View(model)); } model.MovementId = movementId; if (model.Certificate == CertificateType.Receipt) { await SaveReceiptData(notificationId, model); } else if (model.Certificate == CertificateType.Recovery) { await SaveCompleteData(notificationId, model); } else if (model.Certificate == CertificateType.ReceiptRecovery) { await SaveReceiptRecoveryData(notificationId, model); } TempData[CertificateKey] = model.Certificate; TempData[NotificationTypeKey] = model.NotificationType; return(RedirectToAction("Success", new { movementId })); }