private ActionResult GetRuleErrorView(MovementRulesSummary ruleSummary)
        {
            if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.TotalShipmentsReached && r.MessageLevel == MessageLevel.Error))
            {
                return(RedirectToAction("TotalMovementsReached"));
            }
            if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.TotalIntendedQuantityReached && r.MessageLevel == MessageLevel.Error))
            {
                return(RedirectToAction("TotalIntendedQuantityReached"));
            }
            if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.TotalIntendedQuantityExceeded && r.MessageLevel == MessageLevel.Error))
            {
                return(RedirectToAction("TotalIntendedQuantityExceeded"));
            }
            if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.ConsentPeriodExpired && r.MessageLevel == MessageLevel.Error))
            {
                return(RedirectToAction("ConsentPeriodExpired"));
            }
            if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.ConsentWithdrawn && r.MessageLevel == MessageLevel.Error))
            {
                return(RedirectToAction("ConsentWithdrawn"));
            }

            throw new InvalidOperationException("Unknown rule view");
        }
Example #2
0
        public CreateControllerTests()
        {
            mediator   = A.Fake <IMediator>();
            controller = new CreateController(mediator);
            var movementRulesSummary = new MovementRulesSummary(new List <RuleResult <MovementRules> >());

            A.CallTo(() => mediator.SendAsync(A <GetMovementRulesSummary> .Ignored)).Returns(movementRulesSummary);
            A.CallTo(() => mediator.SendAsync(A <GetShipmentInfo> .Ignored)).Returns(GetShipmentInfo());
        }
        public async Task Index_Send_Request_ConsentExpired()
        {
            MovementRulesSummary movementRulesSummary = new MovementRulesSummary(CreateRule(MovementRules.ConsentPeriodExpired));

            A.CallTo(() => mediator.SendAsync(A <GetMovementRulesSummary> .Ignored)).Returns(movementRulesSummary);

            var result = await controller.Index(Guid.NewGuid()) as RedirectToRouteResult;

            A.CallTo(() => mediator.SendAsync(A <GetMovementRulesSummary> .Ignored))
            .MustHaveHappened(Repeated.Exactly.Once);

            Assert.NotNull(result);
            Assert.True(result.RouteValues["action"].ToString() == "ConsentPeriodExpired");
        }
        public async Task Index_Send_Request()
        {
            MovementRulesSummary movementRulesSummary = new MovementRulesSummary(new List <RuleResult <MovementRules> >());

            A.CallTo(() => mediator.SendAsync(A <GetMovementRulesSummary> .Ignored)).Returns(movementRulesSummary);

            var result = await controller.Index(Guid.NewGuid()) as ViewResult;

            A.CallTo(() => mediator.SendAsync(A <GetMovementRulesSummary> .Ignored))
            .MustHaveHappened(Repeated.Exactly.Once);

            Assert.NotNull(result);
            Assert.True(result.ViewName == "Index");
        }
        private ActionResult GetRuleErrorView(MovementRulesSummary ruleSummary)
        {
            if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.TotalShipmentsReached && r.MessageLevel == MessageLevel.Error))
            {
                return RedirectToAction("TotalMovementsReached");
            }
            else if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.TotalIntendedQuantityReached && r.MessageLevel == MessageLevel.Error))
            {
                return RedirectToAction("TotalIntendedQuantityReached");
            }
            else if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.TotalIntendedQuantityExceeded && r.MessageLevel == MessageLevel.Error))
            {
                return RedirectToAction("TotalIntendedQuantityExceeded");
            }
            else if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.HasApprovedFinancialGuarantee && r.MessageLevel == MessageLevel.Error))
            {
                return RedirectToAction("NoApprovedFinancialGuarantee");
            }
            else if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.ActiveLoadsReached && r.MessageLevel == MessageLevel.Error))
            {
                return RedirectToAction("TotalActiveLoadsReached");
            }
            else if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.ConsentPeriodExpired && r.MessageLevel == MessageLevel.Error))
            {
                return RedirectToAction("ConsentPeriodExpired");
            }
            else if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.ConsentExpiresInFourWorkingDays && r.MessageLevel == MessageLevel.Error))
            {
                return RedirectToAction("ConsentExpiresInFourWorkingDays");
            }
            else if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.ConsentExpiresInThreeOrLessWorkingDays && r.MessageLevel == MessageLevel.Error))
            {
                return RedirectToAction("ConsentExpiresInThreeOrLessWorkingDays");
            }
            else if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.ConsentWithdrawn && r.MessageLevel == MessageLevel.Error))
            {
                return RedirectToAction("ConsentWithdrawn");
            }
            else if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.FileClosed && r.MessageLevel == MessageLevel.Error))
            {
                return RedirectToAction("FileClosed");
            }

            throw new InvalidOperationException("Unknown rule view");
        }
Example #6
0
        private ActionResult GetRuleErrorView(MovementRulesSummary ruleSummary)
        {
            if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.TotalShipmentsReached && r.MessageLevel == MessageLevel.Error))
            {
                return(RedirectToAction("TotalMovementsReached"));
            }
            if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.TotalIntendedQuantityReached && r.MessageLevel == MessageLevel.Error))
            {
                return(RedirectToAction("TotalIntendedQuantityReached"));
            }
            if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.TotalIntendedQuantityExceeded && r.MessageLevel == MessageLevel.Error))
            {
                return(RedirectToAction("TotalIntendedQuantityExceeded"));
            }
            if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.HasApprovedFinancialGuarantee && r.MessageLevel == MessageLevel.Error))
            {
                return(RedirectToAction("NoApprovedFinancialGuarantee"));
            }
            if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.ConsentPeriodExpired && r.MessageLevel == MessageLevel.Error))
            {
                return(RedirectToAction("ConsentPeriodExpired"));
            }
            if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.ConsentExpiresInFourWorkingDays && r.MessageLevel == MessageLevel.Error))
            {
                return(RedirectToAction("ConsentExpiresInFourWorkingDays"));
            }
            if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.ConsentExpiresInThreeOrLessWorkingDays && r.MessageLevel == MessageLevel.Error))
            {
                return(RedirectToAction("ConsentExpiresInThreeOrLessWorkingDays"));
            }
            if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.ConsentWithdrawn && r.MessageLevel == MessageLevel.Error))
            {
                return(RedirectToAction("ConsentWithdrawn"));
            }
            if (ruleSummary.RuleResults.Any(r => r.Rule == MovementRules.FileClosed && r.MessageLevel == MessageLevel.Error))
            {
                return(RedirectToAction("FileClosed"));
            }

            throw new InvalidOperationException("Unknown rule view");
        }
        public async Task <ActionResult> Index(Guid notificationId)
        {
            ViewBag.NotificationId = notificationId;

            var ruleSummary = await mediator.SendAsync(new GetMovementRulesSummary(notificationId));

            var updatedRules = ruleSummary.RuleResults.Where(p => p.Rule != MovementRules.ConsentExpiresInThreeOrLessWorkingDays &&
                                                             p.Rule != MovementRules.ConsentExpiresInFourWorkingDays &&
                                                             p.Rule != MovementRules.HasApprovedFinancialGuarantee &&
                                                             p.Rule != MovementRules.FileClosed);

            var updatedSummary = new MovementRulesSummary(updatedRules);

            if (!updatedSummary.IsSuccess)
            {
                return(GetRuleErrorView(updatedSummary));
            }

            var model = new PrenotificationBulkUploadViewModel(notificationId);

            return(View("Index", model));
        }