using Neo.Afx.Services.Workflows.Entities; using Neo.LegitimateLicences.ApplicationRequest.Models.Database; using Neo.LegitimateLicences.Common; using Neo.LegitimateLicences.Common.Helpers; using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace Neo.LegitimateLicences.ApplicationRequest { public class ApplicationRequestBaseModel : Common.ViewModels.ResponsiveAppWorkflowModel { public Vw_ApplicationDetails_Light ApplicationView {get; set; } public Vw_ApplicationDetails_Light ParentApplicationView { get; set; } #region labels public string NewVehicleLabel { get; set; } public string ExistingVehicleLabel { get; set; } #endregion #region CanView properties public bool CanViewRelatedTATRequest { get; set; } public bool CanViewTATDetails { get; set; } public bool CanViewApplicantDetails { get; set; } public bool CanViewProxyDetails { get; set; } public bool CanViewPreviousLicenceHolderDetails { get; set; } public bool CanViewNptrLiveryDetails { get; set; } public bool CanViewNptrVehicleMaintenanceDetails { get; set; } public bool CanViewNptrVehicleSummaryDetails { get; set; } public bool CanViewAuthorityDetails { get; set; } public bool CanViewLicenceDetails { get; set; } public bool CanViewLicenceApplicationFormDocument { get; set; } public bool CanViewLicenceDocument { get; set; } public bool CanViewVehicleTypeDetails { get; set; } public bool CanViewServiceTypeDetails { get; set; } public bool CanViewExistingVehicleDetails { get; set; } public bool CanViewNewVehicleDetails { get; set; } public bool CanViewNewVehicleDocuments { get; set; } public bool CanViewRouteDetails { get; set; } public bool CanViewPaymentDetails { get; set; } public bool CanViewInspectionDetails { get; set; } public bool CanViewReferrals { get; set; } public bool CanViewObjections { get; set; } public bool CanViewGazetteDetails { get; set; } public bool CanViewAdjudicationDetails { get; set; } public bool CanViewSpecialLicenceDetails { get; set; } public bool CanViewTemporaryReplacementDetails { get; set; } public bool CanViewUpliftmentExtensionDetails { get; set; } public bool CanViewNewRouteRequests { get; set; } #endregion #region CanEdit properties public bool CanEditApplicantDetails { get; set; } public bool CanEditProxyDetails { get; set; } public bool CanEditPreviousLicenceHolderDetails { get; set; } public bool CanEditNptrLiveryDetails { get; set; } public bool CanEditNptrVehicleMaintenanceDetails { get; set; } public bool CanEditNptrVehicleSummaryDetails { get; set; } public bool CanEditLicenceDetails { get; set; } public bool CanEditAuthorityDetails { get; set; } public bool CanEditLicenceApplicationFormDocument { get; set; } public bool CanEditLicenceDocument { get; set; } public bool CanEditVehicleTypeDetails { get; set; } public bool CanEditServiceTypeDetails { get; set; } public bool CanEditNewVehicleDetails { get; set; } public bool CanEditNewVehicleDocuments { get; set; } public bool CanEditRouteDetails { get; set; } public bool CanEditPaymentDetails { get; set; } public bool CanEditInspectionDetails { get; set; } public bool CanEditReferralsDetails { get; set; } public bool CanEditObjections { get; set; } public bool CanEditSpecialLicenceDetails { get; set; } public bool CanEditTemporaryReplacementDetails { get; set; } public bool CanEditUpliftmentExtensionDetails { get; set; } #endregion #region can??? properties public bool CanPrintTemporaryReplacementLetter { get; set; } #endregion #region SetFormEditState public void SetFormEditState(Vw_WorkflowInstanceTask activeUserTask) { if (ApplicationView != null && WorkflowInstance != null) { if (activeUserTask != null && ApplicationView.DivisionTypeID == (short)DivisionTypeEnum.TAT) { if(ApplicationView.PREDataReleased) { #region TAT Details CanViewTATDetails = true; CanViewRelatedTATRequest = false; #endregion #region applicant details CanViewApplicantDetails = true; CanEditApplicantDetails = false; #endregion #region proxy details CanViewProxyDetails = true; CanEditProxyDetails = false; #endregion #region existing licence holder details CanViewPreviousLicenceHolderDetails = ParentApplicationView.ApplicationRequestType.IncludeNormalTransferType.Value || ParentApplicationView.ApplicationRequestType.IncludeDeceasedTransferType.Value; CanEditPreviousLicenceHolderDetails = false; #endregion #region nptr livery details CanViewNptrLiveryDetails = ( ParentApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForAccreditation || ParentApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AddOperatingLicenceToAccreditation || ParentApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForRenewalOfAccreditation ); CanEditNptrLiveryDetails = false; #endregion #region nptr vehicle maintenance details CanViewNptrVehicleMaintenanceDetails = ( ParentApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForAccreditation || ParentApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AddOperatingLicenceToAccreditation || ParentApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForRenewalOfAccreditation ); CanEditNptrVehicleMaintenanceDetails = false; #endregion #region nptr vehicle summary details CanViewNptrVehicleSummaryDetails = ( ParentApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForAccreditation || ParentApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AddOperatingLicenceToAccreditation || ParentApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForRenewalOfAccreditation ); CanEditNptrVehicleSummaryDetails = false; #endregion #region authority CanViewAuthorityDetails = (ParentApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AddNewAuthorisationsRoutes || ParentApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AmendAuthorisationsRoutes); CanEditAuthorityDetails = false; #endregion #region licences CanViewLicenceDetails = (ParentApplicationView.ApplicationRequestTypeID != (short)ApplicationRequestTypeEnum.AddNewAuthorisationsRoutes && ParentApplicationView.ApplicationRequestTypeID != (short)ApplicationRequestTypeEnum.AmendAuthorisationsRoutes); CanEditLicenceDetails = false; #endregion #region licence application form document CanViewLicenceApplicationFormDocument = true; CanEditLicenceApplicationFormDocument = false; #endregion #region licence document CanViewLicenceDocument = ( ParentApplicationView.ApplicationRequestTypeID != (short)ApplicationRequestTypeEnum.NewOperatingLicence && ParentApplicationView.ApplicationRequestTypeID != (short)ApplicationRequestTypeEnum.ApplicationForAccreditation ); CanEditLicenceDocument = false; #endregion #region service types CanViewServiceTypeDetails = CanViewLicenceDetails; CanEditServiceTypeDetails = false; #endregion #region vehicle type CanViewVehicleTypeDetails = CanViewLicenceDetails; CanEditVehicleTypeDetails = false; #endregion #region existing vehicle CanViewExistingVehicleDetails = ( ParentApplicationView.ApplicationRequestType.IncludeIncreaseInCapacityType.Value || ParentApplicationView.ApplicationRequestType.IncludeCovType.Value || ParentApplicationView.ApplicationRequestType.IncludeDeceasedTransferType.Value || ParentApplicationView.ApplicationRequestType.IncludeNormalTransferType.Value || ParentApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.NewOperatingLicenceFromSource || ParentApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.TemporaryReplacements ); ExistingVehicleLabel = ( ParentApplicationView.ApplicationRequestType.IncludeIncreaseInCapacityType.Value || ParentApplicationView.ApplicationRequestType.IncludeCovType.Value || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.NewOperatingLicenceFromSource || ParentApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.TemporaryReplacements ) ? "Current Vehicle" : "Vehicle"; #endregion #region new vehicle CanViewNewVehicleDetails = true; CanEditNewVehicleDetails = false; NewVehicleLabel = ( ParentApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.NewOperatingLicence || ParentApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForAccreditation || ParentApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.TemporaryReplacements || ParentApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.NewOperatingLicenceFromSource || ApplicationView.ApplicationRequestType.IncludeNormalTransferType.Value || ApplicationView.ApplicationRequestType.IncludeDeceasedTransferType.Value || ParentApplicationView.ApplicationRequestType.IncludeCovType.Value || ParentApplicationView.ApplicationRequestType.IncludeIncreaseInCapacityType.Value ) ? "New Vehicle" : "Vehicle"; #endregion #region new vehicle documents CanViewNewVehicleDocuments = true; CanEditNewVehicleDocuments = false; #endregion #region routes/area of operation if (ParentApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.TemporarySpecialLicence) { CanViewRouteDetails = false; CanEditRouteDetails = false; } else { CanViewRouteDetails = true; CanEditRouteDetails = false; } #endregion #region payment details CanViewPaymentDetails = ParentApplicationView.ApplicationStatusID != (short)ApplicationStatusEnum.DataCapture; CanEditPaymentDetails = (activeUserTask != null && activeUserTask.WorkflowTemplateStepNumber == 2); #endregion #region gazette details CanViewGazetteDetails = ParentApplicationView.IsGazettingRequired && ( ParentApplicationView.ApplicationStatusID == (short)ApplicationStatusEnum.Gazetting || ParentApplicationView.ApplicationStatusID == (short)ApplicationStatusEnum.Adjudication || ParentApplicationView.ApplicationStatusID == (short)ApplicationStatusEnum.Finalised || ParentApplicationView.ApplicationStatusID == (short)ApplicationStatusEnum.Cancelled ); #endregion #region objection details CanViewObjections = (ParentApplicationView.IsGazettingRequired || ParentApplicationView.IsAdjudicationRequired) && ( ParentApplicationView.ApplicationStatusID == (short)ApplicationStatusEnum.Gazetting || ParentApplicationView.ApplicationStatusID == (short)ApplicationStatusEnum.Adjudication || ParentApplicationView.ApplicationStatusID == (short)ApplicationStatusEnum.Finalised || ParentApplicationView.ApplicationStatusID == (short)ApplicationStatusEnum.Cancelled ); CanEditObjections = false; #endregion #region inspections CanViewInspectionDetails = ParentApplicationView.IsInspectionRequired && ( ParentApplicationView.ApplicationStatusID != (short)ApplicationStatusEnum.DataCapture && ParentApplicationView.ApplicationStatusID != (short)ApplicationStatusEnum.Payment && ParentApplicationView.ApplicationStatusID != (short)ApplicationStatusEnum.Verification ); CanEditInspectionDetails = false; #endregion #region referrals CanViewReferrals = ParentApplicationView.IsReferralRequired && ( ParentApplicationView.ApplicationStatusID != (short)ApplicationStatusEnum.DataCapture && ParentApplicationView.ApplicationStatusID != (short)ApplicationStatusEnum.Verification && ParentApplicationView.ApplicationStatusID != (short)ApplicationStatusEnum.Payment ); CanEditReferralsDetails = false; #endregion #region adjudication details CanViewAdjudicationDetails = ParentApplicationView.IsAdjudicationRequired && ( ParentApplicationView.ApplicationStatusID == (short)ApplicationStatusEnum.Adjudication || ParentApplicationView.ApplicationStatusID == (short)ApplicationStatusEnum.Finalised || ParentApplicationView.ApplicationStatusID == (short)ApplicationStatusEnum.Cancelled ); #endregion #region Special/Temp Licence details CanViewSpecialLicenceDetails = ( ParentApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.TemporarySpecialLicence ); CanEditSpecialLicenceDetails = false; #endregion #region Temporary replacement details CanViewTemporaryReplacementDetails = ( ParentApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.TemporaryReplacements ); CanEditTemporaryReplacementDetails = false; #endregion #region Upliftment Extension details CanViewUpliftmentExtensionDetails = ( ParentApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.UpliftmentExtension ); CanEditUpliftmentExtensionDetails = false; #endregion #region Can Print Temporary Replacement Letter CanPrintTemporaryReplacementLetter = false; #endregion #region Can view new route requests CanViewNewRouteRequests = (ParentApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AddNewAuthorisationsRoutes || ParentApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AmendAuthorisationsRoutes); #endregion } else { #region TAT Details CanViewTATDetails = true; CanViewRelatedTATRequest = false; #endregion #region applicant details CanViewApplicantDetails = false; CanEditApplicantDetails = false; #endregion #region proxy details CanViewProxyDetails = false; CanEditProxyDetails = false; #endregion #region existing licence holder details CanViewPreviousLicenceHolderDetails = false; CanEditPreviousLicenceHolderDetails = false; #endregion #region nptr livery details CanViewNptrLiveryDetails = false; CanEditNptrLiveryDetails = false; #endregion #region nptr vehicle maintenance details CanViewNptrVehicleMaintenanceDetails = false; CanEditNptrVehicleMaintenanceDetails = false; #endregion #region nptr vehicle summary details CanViewNptrVehicleSummaryDetails = false; CanEditNptrVehicleSummaryDetails = false; #endregion #region authority CanViewAuthorityDetails = false; CanEditAuthorityDetails = false; #endregion #region licences CanViewLicenceDetails = false; CanEditLicenceDetails = false; #endregion #region licence application form document CanViewLicenceApplicationFormDocument = false; CanEditLicenceApplicationFormDocument = false; #endregion #region licence document CanViewLicenceDocument = false; CanEditLicenceDocument = false; #endregion #region service types CanViewServiceTypeDetails = false; CanEditServiceTypeDetails = false; #endregion #region vehicle type CanViewVehicleTypeDetails = false; CanEditVehicleTypeDetails = false; #endregion #region existing vehicle CanViewExistingVehicleDetails = false; ExistingVehicleLabel = ( ApplicationView.ApplicationRequestType.IncludeIncreaseInCapacityType.Value || ApplicationView.ApplicationRequestType.IncludeCovType.Value || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.NewOperatingLicenceFromSource || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.TemporaryReplacements ) ? "Current Vehicle" : "Vehicle"; #endregion #region new vehicle CanViewNewVehicleDetails = false; CanEditNewVehicleDetails = false; NewVehicleLabel = ( ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.NewOperatingLicence || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForAccreditation || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.TemporaryReplacements || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.NewOperatingLicenceFromSource || ApplicationView.ApplicationRequestType.IncludeNormalTransferType.Value || ApplicationView.ApplicationRequestType.IncludeDeceasedTransferType.Value || ApplicationView.ApplicationRequestType.IncludeCovType.Value || ApplicationView.ApplicationRequestType.IncludeIncreaseInCapacityType.Value ) ? "New Vehicle" : "Vehicle"; #endregion #region new vehicle documents CanViewNewVehicleDocuments = false; CanEditNewVehicleDocuments = false; #endregion #region routes/area of operation CanViewRouteDetails = false; CanEditRouteDetails = false; #endregion #region payment details CanViewPaymentDetails = ApplicationView.ApplicationStatusID != (short)ApplicationStatusEnum.DataCapture; CanEditPaymentDetails = (activeUserTask != null && activeUserTask.WorkflowTemplateStepNumber == 2); #endregion #region gazette details CanViewGazetteDetails = false; #endregion #region objection details CanViewObjections = false; CanEditObjections = false; #endregion #region inspections CanViewInspectionDetails = false; CanEditInspectionDetails = false; #endregion #region referrals CanEditReferralsDetails = false; CanViewReferrals = false; #endregion #region adjudication details CanViewAdjudicationDetails = false; #endregion #region Special/Temp Licence details CanViewSpecialLicenceDetails = false; CanEditSpecialLicenceDetails = false; #endregion #region Temporary replacement details CanViewTemporaryReplacementDetails = false; CanEditTemporaryReplacementDetails = false; #endregion #region Upliftment Extension details CanViewUpliftmentExtensionDetails = false; CanEditUpliftmentExtensionDetails = false; #endregion #region Can Print Temporary Replacement Letter CanPrintTemporaryReplacementLetter = false; #endregion #region Can view new route requests CanViewNewRouteRequests = (ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AddNewAuthorisationsRoutes || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AmendAuthorisationsRoutes); #endregion } } else if (activeUserTask != null && activeUserTask.EscalatedFromID != null && activeUserTask.WorkflowTemplateStepNumber == 1) { #region TAT Details CanViewTATDetails = false; CanViewRelatedTATRequest = (ApplicationView.RelatedTATApplicationRequestID != null); #endregion #region applicant details CanViewApplicantDetails = true; CanEditApplicantDetails = true; #endregion #region proxy details CanViewProxyDetails = true; CanEditProxyDetails = true; #endregion #region existing licence holder details CanViewPreviousLicenceHolderDetails = true; CanEditPreviousLicenceHolderDetails = true; #endregion #region nptr livery details CanViewNptrLiveryDetails = ( ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForAccreditation || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AddOperatingLicenceToAccreditation || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForRenewalOfAccreditation ); CanEditNptrLiveryDetails = ( ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForAccreditation || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AddOperatingLicenceToAccreditation ); #endregion #region nptr vehicle maintenance details CanViewNptrVehicleMaintenanceDetails = ( ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForAccreditation || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AddOperatingLicenceToAccreditation || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForRenewalOfAccreditation ); CanEditNptrVehicleMaintenanceDetails = ( ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForAccreditation || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AddOperatingLicenceToAccreditation ); #endregion #region nptr vehicle summary details CanViewNptrVehicleSummaryDetails = ( ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForAccreditation || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AddOperatingLicenceToAccreditation || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForRenewalOfAccreditation ); CanEditNptrVehicleSummaryDetails = ( ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForAccreditation || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AddOperatingLicenceToAccreditation ); #endregion #region authority CanViewAuthorityDetails = (ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AddNewAuthorisationsRoutes || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AmendAuthorisationsRoutes); CanEditAuthorityDetails = (ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AddNewAuthorisationsRoutes || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AmendAuthorisationsRoutes); #endregion #region licences CanViewLicenceDetails = (ApplicationView.ApplicationRequestTypeID != (short)ApplicationRequestTypeEnum.AddNewAuthorisationsRoutes && ApplicationView.ApplicationRequestTypeID != (short)ApplicationRequestTypeEnum.AmendAuthorisationsRoutes); CanEditLicenceDetails = (ApplicationView.ApplicationRequestTypeID != (short)ApplicationRequestTypeEnum.AddNewAuthorisationsRoutes && ApplicationView.ApplicationRequestTypeID != (short)ApplicationRequestTypeEnum.AmendAuthorisationsRoutes); #endregion #region licence application form document CanViewLicenceApplicationFormDocument = true; CanEditLicenceApplicationFormDocument = true; #endregion #region licence document CanViewLicenceDocument = true; CanEditLicenceDocument = true; #endregion #region service types CanViewServiceTypeDetails = CanViewLicenceDetails; CanEditServiceTypeDetails = true; #endregion #region vehicle type CanViewVehicleTypeDetails = true; CanEditVehicleTypeDetails = true; #endregion #region existing vehicle CanViewExistingVehicleDetails = false; #endregion #region new vehicle CanViewNewVehicleDetails = true; CanEditNewVehicleDetails = true; NewVehicleLabel = "Vehicle"; #endregion #region new vehicle documents CanViewNewVehicleDocuments = true; CanEditNewVehicleDocuments = true; #endregion #region routes/area of operation if (ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.TemporarySpecialLicence) { CanViewRouteDetails = false; CanEditRouteDetails = false; } else { CanViewRouteDetails = true; CanEditRouteDetails = true; } #endregion #region Can view new route requests CanViewNewRouteRequests = (ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AddNewAuthorisationsRoutes || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AmendAuthorisationsRoutes); #endregion } else { #region TAT Details if(ApplicationView.DivisionTypeID == (short)DivisionTypeEnum.TAT) { CanViewTATDetails = true; } else { CanViewTATDetails = false; } CanViewRelatedTATRequest = (ApplicationView.RelatedTATApplicationRequestID != null); #endregion #region applicant details CanViewApplicantDetails = true; CanEditApplicantDetails = CanViewApplicantDetails && (activeUserTask != null && activeUserTask.WorkflowTemplateStepNumber == 1); #endregion #region proxy details CanViewProxyDetails = true; CanEditProxyDetails = CanViewProxyDetails && (activeUserTask != null && activeUserTask.WorkflowTemplateStepNumber == 1); #endregion #region existing licence holder details CanViewPreviousLicenceHolderDetails = ApplicationView.ApplicationRequestType.IncludeNormalTransferType.Value || ApplicationView.ApplicationRequestType.IncludeDeceasedTransferType.Value; CanEditPreviousLicenceHolderDetails = CanViewPreviousLicenceHolderDetails && ( activeUserTask != null && activeUserTask.WorkflowTemplateStepNumber == 1 ); #endregion #region nptr livery details CanViewNptrLiveryDetails = ( ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForAccreditation || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AddOperatingLicenceToAccreditation || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForRenewalOfAccreditation ); CanEditNptrLiveryDetails = CanViewNptrLiveryDetails && ( activeUserTask != null && activeUserTask.WorkflowTemplateStepNumber == 1 ) && ( ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForAccreditation || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AddOperatingLicenceToAccreditation ); #endregion #region nptr vehicle maintenance details CanViewNptrVehicleMaintenanceDetails = ( ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForAccreditation || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AddOperatingLicenceToAccreditation || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForRenewalOfAccreditation ); CanEditNptrVehicleMaintenanceDetails = CanViewNptrVehicleMaintenanceDetails && ( activeUserTask != null && activeUserTask.WorkflowTemplateStepNumber == 1 ) && ( ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForAccreditation || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AddOperatingLicenceToAccreditation ); #endregion #region nptr vehicle summary details CanViewNptrVehicleSummaryDetails = ( ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForAccreditation || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AddOperatingLicenceToAccreditation || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForRenewalOfAccreditation ); CanEditNptrVehicleSummaryDetails = CanViewNptrVehicleSummaryDetails && ( activeUserTask != null && activeUserTask.WorkflowTemplateStepNumber == 1 ) && ( ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForAccreditation || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AddOperatingLicenceToAccreditation ); #endregion #region authority CanViewAuthorityDetails = (ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AddNewAuthorisationsRoutes || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AmendAuthorisationsRoutes); CanEditAuthorityDetails = false; #endregion #region licences CanViewLicenceDetails = (ApplicationView.ApplicationRequestTypeID != (short)ApplicationRequestTypeEnum.AddNewAuthorisationsRoutes && ApplicationView.ApplicationRequestTypeID != (short)ApplicationRequestTypeEnum.AmendAuthorisationsRoutes); CanEditLicenceDetails = false; #endregion #region licence application form document CanViewLicenceApplicationFormDocument = true; CanEditLicenceApplicationFormDocument = CanViewLicenceApplicationFormDocument && ( activeUserTask != null && activeUserTask.WorkflowTemplateStepNumber == 1 ); #endregion #region licence document CanViewLicenceDocument = ( ApplicationView.ApplicationRequestTypeID != (short)ApplicationRequestTypeEnum.NewOperatingLicence && ApplicationView.ApplicationRequestTypeID != (short)ApplicationRequestTypeEnum.ApplicationForAccreditation && ApplicationView.ApplicationRequestTypeID != (short)ApplicationRequestTypeEnum.AddNewAuthorisationsRoutes && ApplicationView.ApplicationRequestTypeID != (short)ApplicationRequestTypeEnum.AmendAuthorisationsRoutes ); CanEditLicenceDocument = CanViewLicenceDocument && ( activeUserTask != null && activeUserTask.WorkflowTemplateStepNumber == 1 ); #endregion #region service types CanViewServiceTypeDetails = (CanViewLicenceDetails); CanEditServiceTypeDetails = CanViewServiceTypeDetails && ( activeUserTask != null && activeUserTask.WorkflowTemplateStepNumber == 1 ) && ( ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.NewOperatingLicence || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForAccreditation ); #endregion #region vehicle type CanViewVehicleTypeDetails = CanViewLicenceDetails; CanEditVehicleTypeDetails = CanViewVehicleTypeDetails && ( activeUserTask != null && activeUserTask.WorkflowTemplateStepNumber == 1 ) && ( ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.NewOperatingLicence || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForAccreditation || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.IncreaseCarryingCapacity ); #endregion #region existing vehicle CanViewExistingVehicleDetails = ( ApplicationView.ApplicationRequestType.IncludeIncreaseInCapacityType.Value || ApplicationView.ApplicationRequestType.IncludeCovType.Value || ApplicationView.ApplicationRequestType.IncludeDeceasedTransferType.Value || ApplicationView.ApplicationRequestType.IncludeNormalTransferType.Value || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.NewOperatingLicenceFromSource || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.TemporaryReplacements ); ExistingVehicleLabel = ( ApplicationView.ApplicationRequestType.IncludeIncreaseInCapacityType.Value || ApplicationView.ApplicationRequestType.IncludeCovType.Value || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.NewOperatingLicenceFromSource || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.TemporaryReplacements ) ? "Current Vehicle" : "Vehicle"; #endregion #region new vehicle CanViewNewVehicleDetails = (ApplicationView.ApplicationRequestTypeID != (short)ApplicationRequestTypeEnum.AddNewAuthorisationsRoutes && ApplicationView.ApplicationRequestTypeID != (short)ApplicationRequestTypeEnum.AmendAuthorisationsRoutes); CanEditNewVehicleDetails = ( ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.NewOperatingLicence || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForAccreditation || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.TemporaryReplacements || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.NewOperatingLicenceFromSource || ApplicationView.ApplicationRequestType.IncludeNormalTransferType.Value || ApplicationView.ApplicationRequestType.IncludeDeceasedTransferType.Value || ApplicationView.ApplicationRequestType.IncludeCovType.Value || ApplicationView.ApplicationRequestType.IncludeIncreaseInCapacityType.Value ) && ( activeUserTask != null && activeUserTask.WorkflowTemplateStepNumber == 1 ); NewVehicleLabel = ( ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.NewOperatingLicence || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForAccreditation || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.TemporaryReplacements || ApplicationView.ApplicationRequestType.IncludeNormalTransferType.Value || ApplicationView.ApplicationRequestType.IncludeDeceasedTransferType.Value || ApplicationView.ApplicationRequestType.IncludeCovType.Value || ApplicationView.ApplicationRequestType.IncludeIncreaseInCapacityType.Value ) ? "New Vehicle" : "Vehicle"; #endregion #region new vehicle documents CanViewNewVehicleDocuments = (ApplicationView.ApplicationRequestTypeID != (short)ApplicationRequestTypeEnum.AddNewAuthorisationsRoutes && ApplicationView.ApplicationRequestTypeID != (short)ApplicationRequestTypeEnum.AmendAuthorisationsRoutes); CanEditNewVehicleDocuments = activeUserTask != null && activeUserTask.WorkflowTemplateStepNumber == 1; #endregion #region routes/area of operation if (ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.TemporarySpecialLicence) { CanViewRouteDetails = false; CanEditRouteDetails = false; } else { CanViewRouteDetails = true; CanEditRouteDetails = CanViewRouteDetails && ( activeUserTask != null && activeUserTask.WorkflowTemplateStepNumber == 1 ) && ( ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.NewOperatingLicence || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.ApplicationForAccreditation || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AddAuthorisationsRoutes || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AddNewAuthorisationsRoutes || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AmendAuthorisationsRoutes ); } #endregion #region payment details CanViewPaymentDetails = ApplicationView.ApplicationStatusID != (short)ApplicationStatusEnum.DataCapture; CanEditPaymentDetails = (activeUserTask != null && activeUserTask.WorkflowTemplateStepNumber == 2); #endregion #region gazette details CanViewGazetteDetails = ApplicationView.IsGazettingRequired && ( ApplicationView.ApplicationStatusID == (short)ApplicationStatusEnum.Gazetting || ApplicationView.ApplicationStatusID == (short)ApplicationStatusEnum.Adjudication || ApplicationView.ApplicationStatusID == (short)ApplicationStatusEnum.Finalised || ApplicationView.ApplicationStatusID == (short)ApplicationStatusEnum.Cancelled ); #endregion #region objection details CanViewObjections = (ApplicationView.IsGazettingRequired || ApplicationView.IsAdjudicationRequired) && ( ApplicationView.ApplicationStatusID == (short)ApplicationStatusEnum.Gazetting || ApplicationView.ApplicationStatusID == (short)ApplicationStatusEnum.Adjudication || ApplicationView.ApplicationStatusID == (short)ApplicationStatusEnum.Finalised || ApplicationView.ApplicationStatusID == (short)ApplicationStatusEnum.Cancelled ); CanEditObjections = CanViewObjections && ( ApplicationView.ApplicationStatusID == (short)ApplicationStatusEnum.Gazetting || ApplicationView.ApplicationStatusID == (short)ApplicationStatusEnum.Adjudication ); #endregion #region inspections CanViewInspectionDetails = ApplicationView.IsInspectionRequired && ( ApplicationView.ApplicationStatusID != (short)ApplicationStatusEnum.DataCapture && ApplicationView.ApplicationStatusID != (short)ApplicationStatusEnum.Payment && ApplicationView.ApplicationStatusID != (short)ApplicationStatusEnum.Verification ); CanEditInspectionDetails = (activeUserTask != null && activeUserTask.WorkflowTemplateStepNumber == 10); #endregion #region referrals CanEditReferralsDetails = ApplicationView.IsReferralRequired && ( ApplicationView.ApplicationStatusID != (short)ApplicationStatusEnum.DataCapture && ApplicationView.ApplicationStatusID != (short)ApplicationStatusEnum.Verification && ApplicationView.ApplicationStatusID != (short)ApplicationStatusEnum.Payment ); CanViewReferrals = (activeUserTask != null && activeUserTask.WorkflowTemplateStepNumber == 11); #endregion #region adjudication details CanViewAdjudicationDetails = ApplicationView.IsAdjudicationRequired && ( ApplicationView.ApplicationStatusID == (short)ApplicationStatusEnum.Adjudication || ApplicationView.ApplicationStatusID == (short)ApplicationStatusEnum.Finalised || ApplicationView.ApplicationStatusID == (short)ApplicationStatusEnum.Cancelled ); #endregion #region Special/Temp Licence details CanViewSpecialLicenceDetails = ( ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.TemporarySpecialLicence ); CanEditSpecialLicenceDetails = (activeUserTask != null && activeUserTask.WorkflowTemplateStepNumber == 1) && ( ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.TemporarySpecialLicence ); #endregion #region Temporary replacement details CanViewTemporaryReplacementDetails = ( ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.TemporaryReplacements ); CanEditTemporaryReplacementDetails = (activeUserTask != null && activeUserTask.WorkflowTemplateStepNumber == 1) && ( ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.TemporaryReplacements ); #endregion #region Upliftment Extension details CanViewUpliftmentExtensionDetails = ( ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.UpliftmentExtension ); CanEditUpliftmentExtensionDetails = (activeUserTask != null && activeUserTask.WorkflowTemplateStepNumber == 1) && ( ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.UpliftmentExtension ); #endregion #region Can Print Temporary Replacement Letter CanPrintTemporaryReplacementLetter = ( activeUserTask != null && activeUserTask.WorkflowTemplateStepNumber == 15 && ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.TemporaryReplacements ); #endregion #region Can view new route requests CanViewNewRouteRequests = (ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AddNewAuthorisationsRoutes || ApplicationView.ApplicationRequestTypeID == (short)ApplicationRequestTypeEnum.AmendAuthorisationsRoutes); #endregion } } } #endregion } }