Example #1
0
        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");
        }
Example #4
0
        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"));
        }