Ejemplo n.º 1
0
        public async Task <ActionResult> Index(Guid id)
        {
            var response = await mediator.SendAsync(new GetNotificationOverview(id));

            var model = new NotificationOverviewViewModel(response);

            model.SubmitSideBarViewModel.IsOwner = await mediator.SendAsync(new CheckIfNotificationOwner(id));

            if (!model.SubmitSideBarViewModel.IsOwner)
            {
                var sharedUsers = await mediator.SendAsync(new GetSharedUsersByNotificationId(id));

                model.SubmitSideBarViewModel.IsSharedUser = sharedUsers.Count(p => p.UserId == User.GetUserId()) > 0;
            }

            model.SubmitSideBarViewModel.IsInternalUser = await mediator.SendAsync(new GetUserIsInternal());

            //Here restricting the external user to edit the consented unlock notification
            if (!model.SubmitSideBarViewModel.IsInternalUser && model.SubmitSideBarViewModel.Status == NotificationStatus.ConsentedUnlock)
            {
                model.CanEditNotification = false;
                model.SubmitSideBarViewModel.ShowResubmitButton = false;
            }
            else if (model.SubmitSideBarViewModel.Status == NotificationStatus.Unlocked || model.SubmitSideBarViewModel.Status == NotificationStatus.ConsentedUnlock)
            {
                model.SubmitSideBarViewModel.ShowResubmitButton = true;
            }

            ViewBag.Charge = response.NotificationCharge;

            return(View(model));
        }
        public async Task<ActionResult> Index(Guid id)
        {
            var result = await mediator.SendAsync(new GetNotificationOverviewInternal(id));
            var authorised = Task.Run(() => authorizationService.AuthorizeActivity(typeof(GetOriginalNumberOfShipments))).Result;

            var model = new NotificationOverviewViewModel(result);
            model.AmountsAndDatesViewModel.CanShowChangeShipmentNumberLink = authorised;

            return View(model);
        }
Ejemplo n.º 3
0
        public async Task<ActionResult> Index(Guid id)
        {
            var response = await mediator.SendAsync(new GetNotificationOverview(id));

            var model = new NotificationOverviewViewModel(response);

            ViewBag.Charge = response.NotificationCharge;

            return View(model);
        }
Ejemplo n.º 4
0
        public async Task <ActionResult> Index(Guid id)
        {
            var result = await mediator.SendAsync(new GetNotificationOverviewInternal(id));

            var canChangeNumberOfShipments = Task.Run(() => authorizationService.AuthorizeActivity(typeof(GetOriginalNumberOfShipments))).Result;
            var canChangeEntryExitPoints   = Task.Run(() => authorizationService.AuthorizeActivity(ExportNotificationPermissions.CanChangeEntryExitPoint)).Result;
            var canAddProducer             = Task.Run(() => authorizationService.AuthorizeActivity(ExportNotificationPermissions.CanAddProducer)).Result;
            var canAddRemoveTransitState   = Task.Run(() => authorizationService.AuthorizeActivity(ExportNotificationPermissions.CanAddRemoveTransitState)).Result;
            var canEditContactDetails      = Task.Run(() => authorizationService.AuthorizeActivity(ExportNotificationPermissions.CanEditContactDetails)).Result;
            var canEditEwcCodes            = Task.Run(() => authorizationService.AuthorizeActivity(ExportNotificationPermissions.CanEditEwcCodes)).Result;
            var canEditYCodes         = Task.Run(() => authorizationService.AuthorizeActivity(ExportNotificationPermissions.CanEditYCodes)).Result;
            var canEditOperationCodes = Task.Run(() => authorizationService.AuthorizeActivity(ExportNotificationPermissions.CanEditOperationCodes)).Result;
            var canEditHCodes         = Task.Run(() => authorizationService.AuthorizeActivity(ExportNotificationPermissions.CanEditHCodes)).Result;
            var canAddCarrier         = Task.Run(() => authorizationService.AuthorizeActivity(ExportNotificationPermissions.CanAddCarrier)).Result;
            var canChangeTransitStateEntryExitPoint =
                Task.Run(
                    () =>
                    authorizationService.AuthorizeActivity(
                        ExportNotificationPermissions.CanChangeTransitStateEntryExitPoint)).Result;

            var model = new NotificationOverviewViewModel(result);

            model.AmountsAndDatesViewModel.CanChangeNumberOfShipments  = canChangeNumberOfShipments;
            model.JourneyViewModel.CanChangeEntryExitPoint             = canChangeEntryExitPoints && result.SubmitSummaryData.Status != NotificationStatus.FileClosed;
            model.JourneyViewModel.CanAddRemoveTransitState            = canAddRemoveTransitState && IsEditableStatus(result.SubmitSummaryData.Status);
            model.JourneyViewModel.CanChangeTransitStateEntryExitPoint = canChangeTransitStateEntryExitPoint &&
                                                                         result.SubmitSummaryData.Status ==
                                                                         NotificationStatus.Consented;
            model.OrganisationsInvolvedViewModel.CanAddProducer        = canAddProducer && result.SubmitSummaryData.Status != NotificationStatus.FileClosed;
            model.OrganisationsInvolvedViewModel.CanEditContactDetails = canEditContactDetails && result.SubmitSummaryData.Status != NotificationStatus.FileClosed;
            model.OrganisationsInvolvedViewModel.DisplayAllProducers   = IsEditableStatus(result.SubmitSummaryData.Status);
            model.WasteCodeOverviewViewModel.CanEditEWCCodes           = canEditEwcCodes && result.SubmitSummaryData.Status == NotificationStatus.Consented;
            model.WasteCodeOverviewViewModel.CanEditYCodes             = canEditYCodes && result.SubmitSummaryData.Status == NotificationStatus.Consented;
            model.RecoveryOperationViewModel.CanEditCodes    = canEditOperationCodes && result.SubmitSummaryData.Status == NotificationStatus.Consented;
            model.WasteCodeOverviewViewModel.CanEditHCodes   = canEditHCodes && result.SubmitSummaryData.Status == NotificationStatus.Consented;
            model.TransportationViewModel.CanAddCarrier      = canAddCarrier && result.SubmitSummaryData.Status == NotificationStatus.Consented;
            model.TransportationViewModel.DisplayAllCarriers = IsEditableStatus(result.SubmitSummaryData.Status);

            return(View(model));
        }