public async Task<ActionResult> Index(Guid id) { object dateReceivedResult; object unitResult; object quantityResult; bool allDataPresent = false; var model = new ReceiptCompleteViewModel(); if (TempData.TryGetValue(DateReceivedKey, out dateReceivedResult) && TempData.TryGetValue(UnitKey, out unitResult) && TempData.TryGetValue(QuantityKey, out quantityResult)) { allDataPresent = true; model.DateReceived = DateTime.Parse(dateReceivedResult.ToString()); model.Unit = (ShipmentQuantityUnits)unitResult; model.Quantity = decimal.Parse(quantityResult.ToString()); } if (allDataPresent) { var notificationId = await mediator.SendAsync(new GetNotificationIdByMovementId(id)); model.NotificationId = notificationId; return View(model); } return RedirectToAction("Index", "DateReceived", new { id }); }
public async Task<ActionResult> Index(Guid id, ReceiptCompleteViewModel model) { if (!ModelState.IsValid) { return View(model); } var fileExtension = Path.GetExtension(model.File.FileName); var uploadedFile = await fileReader.GetFileBytes(model.File); 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())); return RedirectToAction("Success", "ReceiptComplete"); }