public async Task <ActionResult> Index(Guid id) { var submittedMovements = await mediator.SendAsync(new GetSubmittedPendingMovements(id)); var addedMovements = GetTempDataAddedCancellableMovements().Where(x => x.NotificationId == id).ToList(); TempData[AddedCancellableMovementsListKey] = addedMovements; var model = new SelectMovementsViewModel(submittedMovements, addedMovements); var selectedMovements = GetTempDataSelectedMovements().Where(x => x.NotificationId == id).ToList(); TempData[SubmittedMovementListKey] = selectedMovements; if (selectedMovements.Count > 0) { var selectedMovementIds = selectedMovements.Select(m => m.Id).ToArray(); foreach (var movement in model.SubmittedMovements.Where(x => selectedMovementIds.Contains(x.MovementId))) { movement.IsSelected = true; } } return(View(model)); }
public async Task<ActionResult> Index(Guid id) { var result = await mediator.SendAsync(new GetSubmittedMovements(id)); var model = new SelectMovementsViewModel { SubmittedMovements = result }; return View(model); }
public async Task<ActionResult> Index(Guid id, SelectMovementsViewModel model) { if (!ModelState.IsValid) { model.SubmittedMovements = await mediator.SendAsync(new GetSubmittedMovements(id)); return View(model); } var selectedMovements = model.SubmittedMovements .Where(m => m.IsSelected) .Select(p => new MovementData { Id = p.MovementId, Number = p.Number }) .ToList(); TempData[SubmittedMovementListKey] = selectedMovements; return RedirectToAction("Confirm"); }
public async Task <ActionResult> Index(Guid id, SelectMovementsViewModel model, string command) { var selectedMovements = model.SubmittedMovements .Where(m => m.IsSelected) .Select(p => new MovementData { NotificationId = id, Id = p.MovementId, Number = p.Number }) .ToList(); TempData[SubmittedMovementListKey] = selectedMovements; if (command == AddCommand) { return(RedirectToAction("Add")); } var addedCancellableMovements = GetTempDataAddedCancellableMovements(); int removeShipmentNumber; if (!string.IsNullOrEmpty(command) && int.TryParse(command, out removeShipmentNumber)) { addedCancellableMovements.RemoveAll(x => x.Number == removeShipmentNumber); TempData[AddedCancellableMovementsListKey] = addedCancellableMovements; return(RedirectToAction("Index")); } if (!ModelState.IsValid && !addedCancellableMovements.Any()) { model.SubmittedMovements = await mediator.SendAsync(new GetSubmittedPendingMovements(id)); model.AddedMovements = addedCancellableMovements; return(View(model)); } return(RedirectToAction("Confirm")); }