private ActionResult ChangeCountryAction(TransitStateViewModel model)
        {
            ModelState.Clear();
            model.ShowNextSection = false;

            return(View("Index", model));
        }
Exemple #2
0
        public TransitStatesBlock(IList <MergeField> mergeFields, TransportRoute transportRoute)
        {
            CorrespondingMergeFields = MergeFieldLocator.GetCorrespondingFieldsForBlock(mergeFields, TypeName);
            data = new TransitStateViewModel(transportRoute.TransitStates.ToList());

            AnnexMergeFields = MergeFieldLocator.GetAnnexMergeFields(mergeFields, TypeName);
        }
        private async Task <ActionResult> SubmitAction(Guid id, Guid?transitStateId, TransitStateViewModel model, bool?backToOverview)
        {
            try
            {
                TransitStateWithTransportRouteData existingData = await mediator.SendAsync(new GetTransitStateWithTransportRouteDataByNotificationId(id, transitStateId));

                var request = new SetTransitStateForNotification(id,
                                                                 model.CountryId.Value,
                                                                 model.EntryPointId.Value,
                                                                 model.ExitPointId.Value,
                                                                 model.CompetentAuthorities.SelectedValue,
                                                                 transitStateId,
                                                                 model.OrdinalPosition);

                await mediator.SendAsync(request);

                await this.auditService.AddAuditEntry(this.mediator,
                                                      id,
                                                      User.GetUserId(),
                                                      existingData.TransitState == null?NotificationAuditType.Added : NotificationAuditType.Updated,
                                                      NotificationAuditScreenType.Transits);

                return(RedirectToAction("Summary", "TransportRoute", new { id, backToOverview }));
            }
            catch (ApiException)
            {
                ModelState.AddModelError(string.Empty, "Error saving this record. You may already have saved this record, return to the summary to edit this record.");
            }
            return(View(model));
        }
        public TransitStatesBlock(IList<MergeField> mergeFields, TransportRoute transportRoute)
        {
            CorrespondingMergeFields = MergeFieldLocator.GetCorrespondingFieldsForBlock(mergeFields, TypeName);
            data = new TransitStateViewModel(transportRoute.TransitStates.ToList());

            AnnexMergeFields = MergeFieldLocator.GetAnnexMergeFields(mergeFields, TypeName);
        }
        private ActionResult ChangeCountryAction(TransitStateViewModel model)
        {
            ModelState.Clear();
            model.ShowNextSection = false;

            return View("Index", model);
        }
        private async Task <SelectList> GetCountrySelectListForModel(TransitStateViewModel model)
        {
            var countries = await mediator.SendAsync(new GetAllCountriesHavingCompetentAuthorities());

            return((model.CountryId.HasValue)
                ? new SelectList(countries, "Id", "Name", model.CountryId.Value)
                : new SelectList(countries, "Id", "Name"));
        }
        public async Task<ActionResult> Add(Guid id)
        {
            var model = new TransitStateViewModel
            {
                Countries = await mediator.SendAsync(new GetCountries())
            };

            return View(model);
        }
Exemple #8
0
        public async Task <ActionResult> Add(Guid id)
        {
            var model = new TransitStateViewModel
            {
                Countries = await mediator.SendAsync(new GetCountries())
            };

            return(View(model));
        }
Exemple #9
0
        public void SetAnnexMessageTest()
        {
            var statesList = new List <TransitState>();

            statesList.Add(TransitState(CountryFactory.Create(Guid.Empty, "one"), "short name"));
            var vm = new TransitStateViewModel(statesList);

            vm.SetAnnexMessage(6);

            Assert.Equal("See Annex 6", vm.AnnexMessage);
        }
        public void OneStateDisplaysInMiddleOnFormTest()
        {
            var statesList = new List<TransitState>();
            statesList.Add(TransitState(CountryFactory.Create(Guid.Empty, "one"), "short name"));

            var vm = new TransitStateViewModel(statesList);

            Assert.Equal(string.Empty, vm.AnnexMessage);
            Assert.Equal("one", vm.MiddleCountry);
            Assert.Equal(string.Empty, vm.LeftCountry);
            Assert.Equal(string.Empty, vm.RightCountry);
        }
Exemple #11
0
        public void OneStateDisplaysInMiddleOnFormTest()
        {
            var statesList = new List <TransitState>();

            statesList.Add(TransitState(CountryFactory.Create(Guid.Empty, "one"), "short name"));

            var vm = new TransitStateViewModel(statesList);

            Assert.Equal(string.Empty, vm.AnnexMessage);
            Assert.Equal("one", vm.MiddleCountry);
            Assert.Equal(string.Empty, vm.LeftCountry);
            Assert.Equal(string.Empty, vm.RightCountry);
        }
Exemple #12
0
        public async Task <ActionResult> GetCompetentAuthoritiesAndEntryOrExitPoints(Guid countryId)
        {
            var lookupData =
                await mediator.SendAsync(new GetTransitAuthoritiesAndEntryOrExitPointsByCountryId(countryId));

            var model = new TransitStateViewModel
            {
                CompetentAuthorities = lookupData.CompetentAuthorities,
                EntryOrExitPoints    = lookupData.EntryOrExitPoints
            };

            return(PartialView("_CompetentAuthoritiesAndEntryAndExitPoints", model));
        }
        public async Task<ActionResult> Add(Guid id, TransitStateViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return View(model);
            }
            
            var transitStateCollection = await mediator.SendAsync(new GetDraftData<TransitStateCollection>(id));
            
            transitStateCollection.Add(model.AsTransitState(id));

            await mediator.SendAsync(new SetDraftData<TransitStateCollection>(id, transitStateCollection));

            return RedirectToAction("Index");
        }
Exemple #14
0
        public async Task <ActionResult> Edit(Guid id, Guid entityId, TransitStateViewModel model)
        {
            var transitStateCollection = await mediator.SendAsync(new GetDraftData <TransitStateCollection>(id));

            var transitState = transitStateCollection.TransitStates.Single(ts => ts.Id == entityId);

            transitState.CountryId            = model.CountryId;
            transitState.CompetentAuthorityId = model.CompetentAuthorityId;
            transitState.EntryPointId         = model.EntryPointId;
            transitState.ExitPointId          = model.ExitPointId;

            await mediator.SendAsync(new SetDraftData <TransitStateCollection>(id, transitStateCollection));

            return(RedirectToAction("Index"));
        }
Exemple #15
0
        public async Task <ActionResult> Add(Guid id, TransitStateViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var transitStateCollection = await mediator.SendAsync(new GetDraftData <TransitStateCollection>(id));

            transitStateCollection.Add(model.AsTransitState(id));

            await mediator.SendAsync(new SetDraftData <TransitStateCollection>(id, transitStateCollection));

            return(RedirectToAction("Index"));
        }
        public void OneStateDisplaysInAnnexIfPointNameLengthGreaterThan12Test()
        {
            var statesList = new List<TransitState>();
            statesList.Add(TransitState(CountryFactory.Create(Guid.Empty, "one"), "long name >12"));

            var vm = new TransitStateViewModel(statesList);
            vm.SetAnnexMessage(6);

            Assert.Equal("See Annex 6", vm.AnnexMessage);
            Assert.Equal(string.Empty, vm.MiddleCountry);
            Assert.Equal(string.Empty, vm.LeftCountry);
            Assert.Equal(string.Empty, vm.RightCountry);
            Assert.Equal(1, vm.TransitStateDetails.Count);
            Assert.Equal("one", vm.TransitStateDetails[0].Country);
        }
Exemple #17
0
        public async Task Index_Post_BackToOverview_MaintainsRouteValue(bool?backToOverview)
        {
            var model = new TransitStateViewModel()
            {
                CountryId    = hull.CountryId,
                ExitPointId  = hull.Id,
                EntryPointId = europoort.Id
            };
            var result = await transitStateController.Index(notificationId, null, model, anyString, backToOverview) as RedirectToRouteResult;

            var backToOverviewKey = "backToOverview";

            Assert.True(result.RouteValues.ContainsKey(backToOverviewKey));
            Assert.Equal <bool>(backToOverview.GetValueOrDefault(),
                                ((bool?)result.RouteValues[backToOverviewKey]).GetValueOrDefault());
        }
Exemple #18
0
        public void OneStateDisplaysInAnnexIfPointNameLengthGreaterThan12Test()
        {
            var statesList = new List <TransitState>();

            statesList.Add(TransitState(CountryFactory.Create(Guid.Empty, "one"), "long name >12"));

            var vm = new TransitStateViewModel(statesList);

            vm.SetAnnexMessage(6);

            Assert.Equal("See Annex 6", vm.AnnexMessage);
            Assert.Equal(string.Empty, vm.MiddleCountry);
            Assert.Equal(string.Empty, vm.LeftCountry);
            Assert.Equal(string.Empty, vm.RightCountry);
            Assert.Equal(1, vm.TransitStateDetails.Count);
            Assert.Equal("one", vm.TransitStateDetails[0].Country);
        }
        public async Task<ActionResult> Index(Guid id, Guid? entityId, TransitStateViewModel model, string submit, bool? backToOverview)
        {
            model.Countries = await GetCountrySelectListForModel(model);
            await GetCompetentAuthoritiesAndCountriesForModel(model);

            if (!ModelState.IsValid && submit != ChangeCountry)
            {
                return View(model);
            }

            switch (submit)
            {
                case SelectCountry:
                    return SelectCountryAction(model);
                case ChangeCountry:
                    return ChangeCountryAction(model);
                default:
                    return await SubmitAction(id, entityId, model, backToOverview);
            }
        }
        public async Task <ActionResult> Index(Guid id, Guid?entityId, TransitStateViewModel model, string submit, bool?backToOverview)
        {
            model.Countries = await GetCountrySelectListForModel(model);
            await GetCompetentAuthoritiesAndCountriesForModel(model);

            if (!ModelState.IsValid && submit != ChangeCountry)
            {
                return(View(model));
            }

            switch (submit)
            {
            case SelectCountry:
                return(SelectCountryAction(model));

            case ChangeCountry:
                return(ChangeCountryAction(model));

            default:
                return(await SubmitAction(id, entityId, model, backToOverview));
            }
        }
        private async Task GetCompetentAuthoritiesAndCountriesForModel(TransitStateViewModel model)
        {
            if (!model.CountryId.HasValue)
            {
                return;
            }

            var entryPointsAndCompetentAuthorities =
                await
                mediator.SendAsync(new GetTransitAuthoritiesAndEntryOrExitPointsByCountryId(model.CountryId.Value));

            var competentAuthoritiesKeyValuePairs = entryPointsAndCompetentAuthorities.CompetentAuthorities.Select(ca =>
                                                                                                                   new KeyValuePair <string, Guid>(ca.Code + " - " + ca.Name, ca.Id));
            var competentAuthorityRadioButtons = new StringGuidRadioButtons(competentAuthoritiesKeyValuePairs);

            if (model.CompetentAuthorities != null)
            {
                competentAuthorityRadioButtons.SelectedValue = model.CompetentAuthorities.SelectedValue;
            }

            model.CompetentAuthorities = competentAuthorityRadioButtons;
            model.EntryOrExitPoints    = new SelectList(entryPointsAndCompetentAuthorities.EntryOrExitPoints, "Id", "Name");
        }
Exemple #22
0
        public async Task <ActionResult> Edit(Guid id, Guid entityId)
        {
            var transitStateCollection = await mediator.SendAsync(new GetDraftData <TransitStateCollection>(id));

            var transitState = transitStateCollection.TransitStates.Single(ts => ts.Id == entityId);

            var model = new TransitStateViewModel(transitState);

            model.Countries = await mediator.SendAsync(new GetCountries());

            if (model.IsCountrySelected)
            {
                var lookupData =
                    await
                    mediator.SendAsync(
                        new GetTransitAuthoritiesAndEntryOrExitPointsByCountryId(model.CountryId.Value));

                model.CompetentAuthorities = lookupData.CompetentAuthorities;
                model.EntryOrExitPoints    = lookupData.EntryOrExitPoints;
            }

            return(View(model));
        }
Exemple #23
0
        public void MoreThanThreeStatesDisplaysInAnnexTest()
        {
            var statesList = new List <TransitState>();

            statesList.Add(TransitState(CountryFactory.Create(Guid.Empty, "one"), "short name"));
            statesList.Add(TransitState(CountryFactory.Create(Guid.Empty, "two"), "short name"));
            statesList.Add(TransitState(CountryFactory.Create(Guid.Empty, "three"), "short name"));
            statesList.Add(TransitState(CountryFactory.Create(Guid.Empty, "four"), "short name"));

            var vm = new TransitStateViewModel(statesList);

            vm.SetAnnexMessage(6);

            Assert.Equal("See Annex 6", vm.AnnexMessage);
            Assert.Equal(string.Empty, vm.MiddleCountry);
            Assert.Equal(string.Empty, vm.LeftCountry);
            Assert.Equal(string.Empty, vm.RightCountry);
            Assert.Equal(4, vm.TransitStateDetails.Count);
            Assert.Equal("one", vm.TransitStateDetails[0].Country);
            Assert.Equal("two", vm.TransitStateDetails[1].Country);
            Assert.Equal("three", vm.TransitStateDetails[2].Country);
            Assert.Equal("four", vm.TransitStateDetails[3].Country);
        }
        private ActionResult SelectCountryAction(TransitStateViewModel model)
        {
            model.ShowNextSection = true;

            return View("Index", model);
        }
        private async Task<SelectList> GetCountrySelectListForModel(TransitStateViewModel model)
        {
            var countries = await mediator.SendAsync(new GetAllCountriesHavingCompetentAuthorities());

            return (model.CountryId.HasValue)
                ? new SelectList(countries, "Id", "Name", model.CountryId.Value)
                : new SelectList(countries, "Id", "Name");
        }
        private async Task GetCompetentAuthoritiesAndCountriesForModel(TransitStateViewModel model)
        {
            if (!model.CountryId.HasValue)
            {
                return;
            }

            var entryPointsAndCompetentAuthorities =
                await
                    mediator.SendAsync(new GetTransitAuthoritiesAndEntryOrExitPointsByCountryId(model.CountryId.Value));

            var competentAuthoritiesKeyValuePairs = entryPointsAndCompetentAuthorities.CompetentAuthorities.Select(ca =>
                new KeyValuePair<string, Guid>(ca.Code + " - " + ca.Name, ca.Id));
            var competentAuthorityRadioButtons = new StringGuidRadioButtons(competentAuthoritiesKeyValuePairs);

            if (model.CompetentAuthorities != null)
            {
                competentAuthorityRadioButtons.SelectedValue = model.CompetentAuthorities.SelectedValue;
            }

            model.CompetentAuthorities = competentAuthorityRadioButtons;
            model.EntryOrExitPoints = new SelectList(entryPointsAndCompetentAuthorities.EntryOrExitPoints, "Id", "Name");
        }
        public void MoreThanThreeStatesDisplaysInAnnexTest()
        {
            var statesList = new List<TransitState>();
            statesList.Add(TransitState(CountryFactory.Create(Guid.Empty, "one"), "short name"));
            statesList.Add(TransitState(CountryFactory.Create(Guid.Empty, "two"), "short name"));
            statesList.Add(TransitState(CountryFactory.Create(Guid.Empty, "three"), "short name"));
            statesList.Add(TransitState(CountryFactory.Create(Guid.Empty, "four"), "short name"));

            var vm = new TransitStateViewModel(statesList);
            vm.SetAnnexMessage(6);

            Assert.Equal("See Annex 6", vm.AnnexMessage);
            Assert.Equal(string.Empty, vm.MiddleCountry);
            Assert.Equal(string.Empty, vm.LeftCountry);
            Assert.Equal(string.Empty, vm.RightCountry);
            Assert.Equal(4, vm.TransitStateDetails.Count);
            Assert.Equal("one", vm.TransitStateDetails[0].Country);
            Assert.Equal("two", vm.TransitStateDetails[1].Country);
            Assert.Equal("three", vm.TransitStateDetails[2].Country);
            Assert.Equal("four", vm.TransitStateDetails[3].Country);
        }
        private ActionResult SelectCountryAction(TransitStateViewModel model)
        {
            model.ShowNextSection = true;

            return(View("Index", model));
        }
        public async Task<ActionResult> Edit(Guid id, Guid entityId)
        {
            var transitStateCollection = await mediator.SendAsync(new GetDraftData<TransitStateCollection>(id));

            var transitState = transitStateCollection.TransitStates.Single(ts => ts.Id == entityId);

            var model = new TransitStateViewModel(transitState);
            model.Countries = await mediator.SendAsync(new GetCountries());

            if (model.IsCountrySelected)
            {
                var lookupData =
                    await
                        mediator.SendAsync(
                            new GetTransitAuthoritiesAndEntryOrExitPointsByCountryId(model.CountryId.Value));

                model.CompetentAuthorities = lookupData.CompetentAuthorities;
                model.EntryOrExitPoints = lookupData.EntryOrExitPoints;
            }

            return View(model);
        }
        public async Task<ActionResult> Edit(Guid id, Guid entityId, TransitStateViewModel model)
        {
            var transitStateCollection = await mediator.SendAsync(new GetDraftData<TransitStateCollection>(id));

            var transitState = transitStateCollection.TransitStates.Single(ts => ts.Id == entityId);

            transitState.CountryId = model.CountryId;
            transitState.CompetentAuthorityId = model.CompetentAuthorityId;
            transitState.EntryPointId = model.EntryPointId;
            transitState.ExitPointId = model.ExitPointId;

            await mediator.SendAsync(new SetDraftData<TransitStateCollection>(id, transitStateCollection));

            return RedirectToAction("Index");
        }
        public async Task<ActionResult> GetCompetentAuthoritiesAndEntryOrExitPoints(Guid countryId)
        {
            var lookupData =
                await mediator.SendAsync(new GetTransitAuthoritiesAndEntryOrExitPointsByCountryId(countryId));

            var model = new TransitStateViewModel
            {
                CompetentAuthorities = lookupData.CompetentAuthorities,
                EntryOrExitPoints = lookupData.EntryOrExitPoints
            };

            return PartialView("_CompetentAuthoritiesAndEntryAndExitPoints", model);
        }
Exemple #32
0
        public void CanCreateTransitStateViewModelTest()
        {
            var vm = new TransitStateViewModel();

            Assert.IsType(typeof(TransitStateViewModel), vm);
        }
        public void CanCreateTransitStateViewModelTest()
        {
            var vm = new TransitStateViewModel();

            Assert.IsType(typeof(TransitStateViewModel), vm);
        }
        private async Task<ActionResult> SubmitAction(Guid id, Guid? transitStateId, TransitStateViewModel model, bool? backToOverview)
        {
            try
            {
                var request = new SetTransitStateForNotification(id,
                    model.CountryId.Value,
                    model.EntryPointId.Value,
                    model.ExitPointId.Value,
                    model.CompetentAuthorities.SelectedValue,
                    transitStateId,
                    model.OrdinalPosition);

                await mediator.SendAsync(request);

                return RedirectToAction("Summary", "TransportRoute", new { id, backToOverview });
            }
            catch (ApiException)
            {
                ModelState.AddModelError(string.Empty, "Error saving this record. You may already have saved this record, return to the summary to edit this record.");
            }
            return View(model);
        }
        public void SetAnnexMessageTest()
        {
            var statesList = new List<TransitState>();
            statesList.Add(TransitState(CountryFactory.Create(Guid.Empty, "one"), "short name"));
            var vm = new TransitStateViewModel(statesList);

            vm.SetAnnexMessage(6);

            Assert.Equal("See Annex 6", vm.AnnexMessage);
        }