private static void AddPerformanceMeasureActualSubcategoryOptionUpdates(
            PerformanceMeasureActualUpdate performanceMeasureActual,
            PerformanceMeasureActualUpdateSimple performanceMeasureActualUpdateSimple)
        {
            var performanceMeasureActualSubcategoryOptionUpdates = new List <PerformanceMeasureActualSubcategoryOptionUpdate>();
            var optionUpdates = performanceMeasureActualUpdateSimple.PerformanceMeasureActualSubcategoryOptionUpdates;

            foreach (var optionUpdate in optionUpdates)
            {
                if (ModelObjectHelpers.IsRealPrimaryKeyValue(optionUpdate
                                                             .PerformanceMeasureSubcategoryOptionID) && optionUpdate
                    .PerformanceMeasureSubcategoryOptionID.HasValue)
                {
                    var performanceMeasureActualSubcategoryOptionUpdate =
                        new PerformanceMeasureActualSubcategoryOptionUpdate(
                            performanceMeasureActual.PerformanceMeasureActualUpdateID
                            , optionUpdate.PerformanceMeasureSubcategoryOptionID.Value
                            , optionUpdate.PerformanceMeasureID
                            , optionUpdate.PerformanceMeasureSubcategoryID);
                    performanceMeasureActualSubcategoryOptionUpdates.Add(performanceMeasureActualSubcategoryOptionUpdate);
                }
            }

            performanceMeasureActual.PerformanceMeasureActualSubcategoryOptionUpdates = performanceMeasureActualSubcategoryOptionUpdates;
        }
Esempio n. 2
0
        public void UpdateModel(Person person, Person currentPerson)
        {
            person.RoleID = RoleID.GetValueOrDefault();  // will never default due to RequiredAttribute
            person.ReceiveSupportEmails            = ShouldReceiveSystemCommunications;
            person.ReceiveRSBRevisionRequestEmails = ShouldReceiveRSBRevisionRequests;

            var assignedRole = Models.Role.AllLookupDictionary[RoleID.GetValueOrDefault()];

            if (assignedRole == Models.Role.Admin || assignedRole == Models.Role.SitkaAdmin)
            {
                HttpRequestStorage.DatabaseEntities.StormwaterJurisdictionPeople.DeleteStormwaterJurisdictionPerson(
                    person.StormwaterJurisdictionPeople);
            }

            if (ModelObjectHelpers.IsRealPrimaryKeyValue(person.PersonID))
            {
                // Existing person
                person.UpdateDate = DateTime.Now;
            }
            else
            {
                // New person
                person.CreateDate = DateTime.Now;
            }
        }
Esempio n. 3
0
        public void UpdateModel(Models.OnlandVisualTrashAssessment onlandVisualTrashAssessment)
        {
            Check.Require(ModelObjectHelpers.IsRealPrimaryKeyValue(onlandVisualTrashAssessment.OnlandVisualTrashAssessmentID));

            onlandVisualTrashAssessment.StormwaterJurisdictionID = StormwaterJurisdiction.StormwaterJurisdictionID;

            if (OnlandVisualTrashAssessmentAreaID.HasValue)
            {
                var transectBackingAssessment = HttpRequestStorage.DatabaseEntities.OnlandVisualTrashAssessmentAreas
                                                .Find(OnlandVisualTrashAssessmentAreaID).GetTransectBackingAssessment();

                // ensure the area to which this assessment is assigned ends up with only one transect-backing assessment
                if (transectBackingAssessment != null)
                {
                    if (transectBackingAssessment.OnlandVisualTrashAssessmentID != onlandVisualTrashAssessment.OnlandVisualTrashAssessmentID)
                    {
                        onlandVisualTrashAssessment.IsTransectBackingAssessment = false;
                    }
                }
                else
                {
                    onlandVisualTrashAssessment.IsTransectBackingAssessment = true;
                }
            }
            else
            {
                onlandVisualTrashAssessment.IsTransectBackingAssessment = false;
            }

            onlandVisualTrashAssessment.OnlandVisualTrashAssessmentAreaID = OnlandVisualTrashAssessmentAreaID;
            onlandVisualTrashAssessment.AssessingNewArea = AssessingNewArea;
        }
Esempio n. 4
0
        public virtual void UpdateModel(List <PerformanceMeasureExpected> currentPerformanceMeasureExpecteds, IList <PerformanceMeasureExpected> allPerformanceMeasureExpecteds, IList <PerformanceMeasureExpectedSubcategoryOption> allPerformanceMeasureExpectedSubcategoryOptions, ProjectFirmaModels.Models.Project project)
        {
            // Remove all existing associations
            currentPerformanceMeasureExpecteds.ForEach(pmav =>
            {
                pmav.PerformanceMeasureExpectedSubcategoryOptions.ToList().ForEach(pmavso => allPerformanceMeasureExpectedSubcategoryOptions.Remove(pmavso));
                allPerformanceMeasureExpecteds.Remove(pmav);
            });
            currentPerformanceMeasureExpecteds.Clear();

            if (PerformanceMeasureExpecteds != null)
            {
                // Completely rebuild the list
                foreach (var x in PerformanceMeasureExpecteds)
                {
                    var performanceMeasureExpected = new PerformanceMeasureExpected(project.ProjectID, x.PerformanceMeasureID)
                    {
                        ExpectedValue = x.ExpectedValue
                    };
                    allPerformanceMeasureExpecteds.Add(performanceMeasureExpected);
                    if (x.PerformanceMeasureExpectedSubcategoryOptions != null)
                    {
                        x.PerformanceMeasureExpectedSubcategoryOptions.Where(y => ModelObjectHelpers.IsRealPrimaryKeyValue(y.PerformanceMeasureSubcategoryOptionID))
                        .ToList()
                        .ForEach(
                            y =>
                            allPerformanceMeasureExpectedSubcategoryOptions.Add(
                                new PerformanceMeasureExpectedSubcategoryOption(performanceMeasureExpected.PerformanceMeasureExpectedID,
                                                                                y.PerformanceMeasureSubcategoryOptionID,
                                                                                y.PerformanceMeasureID,
                                                                                y.PerformanceMeasureSubcategoryID)));
                    }
                }
            }
        }
Esempio n. 5
0
        public JsonNetJObjectResult OrganizationDashboardSummary(int organizationID)
        {
            List <Project> projects;
            Organization   organization = null;

            if (ModelObjectHelpers.IsRealPrimaryKeyValue(organizationID) &&
                MultiTenantHelpers.DisplayAccomplishmentDashboard())
            {
                organization = HttpRequestStorage.DatabaseEntities.Organizations.GetOrganization(organizationID);
                projects     = organization.GetAllActiveProjectsWhereOrganizationReportsInAccomplishmentsDashboard(CurrentFirmaSession);
            }
            else
            {
                projects = HttpRequestStorage.DatabaseEntities.Projects.ToList()
                           .GetActiveProjectsAndProposals(MultiTenantHelpers.ShowProposalsToThePublic(), CurrentFirmaSession).ToList();
            }

            var projectCount    = projects.Count;
            var partnerCount    = GetPartnerOrganizations(organizationID).Count;
            var totalInvestment = MultiTenantHelpers.GetAccomplishmentsDashboardFundingDisplayType()
                                  .GetInvestmentAmount(organization, projects.SelectMany(x => x.ProjectFundingSourceExpenditures));

            return(new JsonNetJObjectResult(new
            {
                ProjectCount = projectCount,
                PartnerCount = partnerCount,
                TotalInvestment = totalInvestment.ToGroupedNumeric()
            }));
        }
Esempio n. 6
0
        public void UpdateModel(Person person, Person currentPerson)
        {
            var downgradingFromSteward = person.Role == Models.Role.ProjectSteward &&
                                         RoleID != Models.Role.ProjectSteward.RoleID &&
                                         RoleID != Models.Role.Admin.RoleID && RoleID != Models.Role.SitkaAdmin.RoleID;

            // RoleID is required so this should not really happen, but map to unassigned as a safety
            person.RoleID = RoleID ?? Models.Role.Unassigned.RoleID;
            person.ReceiveSupportEmails = ShouldReceiveSupportEmails;

            if (ModelObjectHelpers.IsRealPrimaryKeyValue(person.PersonID))
            {
                person.UpdateDate = DateTime.Now; // Existing person
            }
            else
            {
                person.CreateDate = DateTime.Now; // New person
            }

            if (downgradingFromSteward)
            {
                HttpRequestStorage.DatabaseEntities.PersonStewardRegions.DeletePersonStewardRegion(person.PersonStewardRegions);
                HttpRequestStorage.DatabaseEntities.PersonStewardTaxonomyBranches.DeletePersonStewardTaxonomyBranch(person.PersonStewardTaxonomyBranches);
                HttpRequestStorage.DatabaseEntities.PersonStewardOrganizations.DeletePersonStewardOrganization(person.PersonStewardOrganizations);
            }
        }
Esempio n. 7
0
        public static bool IsReadyToSubmit(this ProjectUpdateBatch projectUpdateBatch)
        {
            bool inEditableState                       = projectUpdateBatch.InEditableState();
            bool isPassingAllValidationRules           = projectUpdateBatch.IsPassingAllValidationRules();
            bool projectUpdateBatchHasAlreadyBeenSaved = ModelObjectHelpers.IsRealPrimaryKeyValue(projectUpdateBatch.ProjectUpdateBatchID);

            return(inEditableState && isPassingAllValidationRules && projectUpdateBatchHasAlreadyBeenSaved);
        }
 public ProjectRelevantCostTypeSimple(ProjectRelevantCostTypeUpdate projectRelevantCostTypeUpdate)
     : this()
 {
     ProjectRelevantCostTypeID = projectRelevantCostTypeUpdate.ProjectRelevantCostTypeUpdateID;
     ProjectID    = projectRelevantCostTypeUpdate.ProjectUpdateBatchID;
     CostTypeID   = projectRelevantCostTypeUpdate.CostTypeID;
     IsRelevant   = ModelObjectHelpers.IsRealPrimaryKeyValue(projectRelevantCostTypeUpdate.ProjectRelevantCostTypeUpdateID);
     CostTypeName = projectRelevantCostTypeUpdate.CostType.CostTypeName;
 }
        public void UpdateModel(Models.Project project, ICollection <Models.ProjectOrganization> allProjectOrganizations)
        {
            var projectOrganizationsUpdated = ProjectOrganizationSimples.Where(x => ModelObjectHelpers.IsRealPrimaryKeyValue(x.OrganizationID)).Select(x =>
                                                                                                                                                       new Models.ProjectOrganization(project.ProjectID, x.OrganizationID, x.RelationshipTypeID)).ToList();

            project.ProjectOrganizations.Merge(projectOrganizationsUpdated,
                                               allProjectOrganizations,
                                               (x, y) => x.ProjectID == y.ProjectID && x.OrganizationID == y.OrganizationID && x.RelationshipTypeID == y.RelationshipTypeID);
        }
Esempio n. 10
0
 /// <summary>
 /// Constructor for building a new simple object with the POCO class
 /// </summary>
 public ProjectExemptReportingYearUpdateSimple(ProjectExemptReportingYearUpdate projectExemptReportingYearUpdate)
     : this()
 {
     ProjectExemptReportingYearUpdateID = projectExemptReportingYearUpdate.ProjectExemptReportingYearUpdateID;
     ProjectUpdateBatchID = projectExemptReportingYearUpdate.ProjectUpdateBatchID;
     CalendarYear         = projectExemptReportingYearUpdate.CalendarYear;
     IsExempt             = ModelObjectHelpers.IsRealPrimaryKeyValue(projectExemptReportingYearUpdate.ProjectExemptReportingYearUpdateID);
     CalendarYearDisplay  = MultiTenantHelpers.FormatReportingYear(projectExemptReportingYearUpdate.CalendarYear);
 }
 /// <summary>
 /// Constructor for building a new object with MaximalConstructor required fields in preparation for insert into database
 /// </summary>
 public PerformanceMeasureActualSubcategoryOptionSimple(int performanceMeasureActualSubcategoryOptionID, int performanceMeasureActualID, int performanceMeasureSubcategoryOptionID, int performanceMeasureID, int performanceMeasureSubcategoryID) : this()
 {
     PerformanceMeasureActualSubcategoryOptionID = performanceMeasureActualSubcategoryOptionID;
     PerformanceMeasureActualID = performanceMeasureActualID;
     // It shouldn't ever happen that PerformanceMeasureSubcategoryOptionID is null in the database, but if it is it will come back as a -1 which will break validation on the front-end.
     PerformanceMeasureSubcategoryOptionID = ModelObjectHelpers.IsRealPrimaryKeyValue(performanceMeasureSubcategoryOptionID) ? (int?)performanceMeasureSubcategoryOptionID : null;
     PerformanceMeasureID            = performanceMeasureID;
     PerformanceMeasureSubcategoryID = performanceMeasureSubcategoryID;
 }
Esempio n. 12
0
 /// <summary>
 /// Constructor for building a new simple object with the POCO class
 /// </summary>
 public ProjectExemptReportingYearSimple(ProjectExemptReportingYear projectExemptReportingYear)
     : this()
 {
     ProjectExemptReportingYearID = projectExemptReportingYear.ProjectExemptReportingYearID;
     ProjectID           = projectExemptReportingYear.ProjectID;
     CalendarYear        = projectExemptReportingYear.CalendarYear;
     IsExempt            = ModelObjectHelpers.IsRealPrimaryKeyValue(projectExemptReportingYear.ProjectExemptReportingYearID);
     CalendarYearDisplay = MultiTenantHelpers.FormatReportingYear(projectExemptReportingYear.CalendarYear);
 }
        public static ProjectUpdateBatch GetLatestNotApprovedProjectUpdateBatchOrCreateNewAndSaveToDatabase(Project project, Person currentPerson)
        {
            var projectUpdateBatch = GetLatestNotApprovedProjectUpdateBatchOrCreateNew(project, currentPerson);

            if (!ModelObjectHelpers.IsRealPrimaryKeyValue(projectUpdateBatch.ProjectUpdateBatchID))
            {
                HttpRequestStorage.DatabaseEntities.SaveChanges();
            }
            return(projectUpdateBatch);
        }
Esempio n. 14
0
        private PartialViewResult ViewEdit(EditViewModel viewModel, ProjectCustomAttributeGroup projectCustomAttributeGroup)
        {
            var instructionsFirmaPage = FirmaPageTypeEnum.ManageProjectCustomAttributeGroupInstructions.GetFirmaPage();
            var submitUrl             = ModelObjectHelpers.IsRealPrimaryKeyValue(viewModel.ProjectCustomAttributeGroupID)
                ? SitkaRoute <ProjectCustomAttributeGroupController> .BuildUrlFromExpression(x => x.Edit(viewModel.ProjectCustomAttributeGroupID))
                : SitkaRoute <ProjectCustomAttributeGroupController> .BuildUrlFromExpression(x => x.New());

            var viewData = new EditViewData(CurrentFirmaSession, submitUrl, instructionsFirmaPage, projectCustomAttributeGroup);

            return(RazorPartialView <Edit, EditViewData, EditViewModel>(viewData, viewModel));
        }
Esempio n. 15
0
        private ViewResult ViewEdit(EditViewModel viewModel, CustomAttributeType customAttributeType)
        {
            var instructionsNeptunePage = NeptunePage.GetNeptunePageByPageType(NeptunePageType.ManageCustomAttributeTypeInstructions);
            var customAttributeInstructionsNeptunePage = NeptunePage.GetNeptunePageByPageType(NeptunePageType.ManageCustomAttributeInstructions);

            var submitUrl = ModelObjectHelpers.IsRealPrimaryKeyValue(viewModel.CustomAttributeTypeID) ? SitkaRoute <CustomAttributeTypeController> .BuildUrlFromExpression(x => x.Edit(viewModel.CustomAttributeTypeID)) : SitkaRoute <CustomAttributeTypeController> .BuildUrlFromExpression(x => x.New());

            var viewData = new EditViewData(CurrentPerson, MeasurementUnitType.All, CustomAttributeDataType.All, submitUrl, instructionsNeptunePage, customAttributeInstructionsNeptunePage, customAttributeType);

            return(RazorView <Edit, EditViewData, EditViewModel>(viewData, viewModel));
        }
Esempio n. 16
0
        public void UpdateModel(ProjectFirmaModels.Models.Project project, ICollection <ProjectFirmaModels.Models.ProjectContact> allProjectContacts)
        {
            project.PrimaryContactPersonID = PrimaryContactPersonID;

            var projectContactsUpdated = ProjectContactSimples.Where(x => ModelObjectHelpers.IsRealPrimaryKeyValue(x.ContactID)).Select(x =>
                                                                                                                                        new ProjectFirmaModels.Models.ProjectContact(project.ProjectID, x.ContactID, x.ContactRelationshipTypeID)).ToList();

            project.ProjectContacts.Merge(projectContactsUpdated,
                                          allProjectContacts,
                                          (x, y) => x.ProjectID == y.ProjectID && x.ContactID == y.ContactID && x.ContactRelationshipTypeID == y.ContactRelationshipTypeID, HttpRequestStorage.DatabaseEntities);
        }
Esempio n. 17
0
        private PartialViewResult ViewEdit(EditViewModel viewModel, ProjectCustomAttributeType projectCustomAttributeType)
        {
            var instructionsFirmaPage = FirmaPage.GetFirmaPageByPageType(FirmaPageType.ManageProjectCustomAttributeTypeInstructions);
            var submitUrl             = ModelObjectHelpers.IsRealPrimaryKeyValue(viewModel.ProjectCustomAttributeTypeID)
                ? SitkaRoute <ProjectCustomAttributeTypeController> .BuildUrlFromExpression(x => x.Edit(viewModel.ProjectCustomAttributeTypeID))
                : SitkaRoute <ProjectCustomAttributeTypeController> .BuildUrlFromExpression(x => x.New());

            var viewData = new EditViewData(CurrentPerson, MeasurementUnitType.All, ProjectCustomAttributeDataType.All,
                                            submitUrl, instructionsFirmaPage, projectCustomAttributeType);

            return(RazorPartialView <Edit, EditViewData, EditViewModel>(viewData, viewModel));
        }
        public void CheckForValidInsertOfInvoiceLineItemForAllValidCostTypes()
        {
            var lineItemCostTypes = CostType.GetLineItemCostTypes();

            foreach (var costType in lineItemCostTypes)
            {
                var item = TestFramework.TestInvoiceLineItem.Create(HttpRequestStorage.DatabaseEntities, costType);
                Assert.IsNotNull(item, "should get item");
                Assert.DoesNotThrow(() => HttpRequestStorage.DatabaseEntities.SaveChanges(), "Should be able to create for these types");
                Assert.That(ModelObjectHelpers.IsRealPrimaryKeyValue(item.PrimaryKey), "has primary key in database");
            }
        }
Esempio n. 19
0
        private PartialViewResult ViewEdit(EditViewModel viewModel, FundingSourceCustomAttributeType fundingSourceCustomAttributeType)
        {
            var instructionsFirmaPage = FirmaPageTypeEnum.ManageFundingSourceCustomAttributeTypeInstructions.GetFirmaPage();
            var submitUrl             = ModelObjectHelpers.IsRealPrimaryKeyValue(viewModel.FundingSourceCustomAttributeTypeID)
                ? SitkaRoute <FundingSourceCustomAttributeTypeController> .BuildUrlFromExpression(x => x.Edit(viewModel.FundingSourceCustomAttributeTypeID))
                : SitkaRoute <FundingSourceCustomAttributeTypeController> .BuildUrlFromExpression(x => x.New());

            var viewData = new EditViewData(CurrentFirmaSession, MeasurementUnitType.All, FundingSourceCustomAttributeDataType.All, Role.All,
                                            submitUrl, instructionsFirmaPage, fundingSourceCustomAttributeType);

            return(RazorPartialView <Edit, EditViewData, EditViewModel>(viewData, viewModel));
        }
        public void GivenBadCostTypeWhenInvoiceSavedThenFails()
        {
            var invalidCostTypeItems = CostType.All.Except(CostType.GetLineItemCostTypes());

            foreach (var costType in invalidCostTypeItems)
            {
                var item = TestFramework.TestInvoiceLineItem.Create(HttpRequestStorage.DatabaseEntities, costType);
                Assert.IsNotNull(item, "should get item");
                Assert.Catch(() => HttpRequestStorage.DatabaseEntities.SaveChanges(), "Database save should catch on constraint and fail");
                Assert.That(!ModelObjectHelpers.IsRealPrimaryKeyValue(item.PrimaryKey), "does not have primary key in database");
            }
        }
Esempio n. 21
0
        private ViewResult ViewEdit(EditViewModel viewModel, TreatmentBMPAssessmentObservationType treatmentBMPAssessmentObservationType)
        {
            var instructionsNeptunePage              = NeptunePage.GetNeptunePageByPageType(NeptunePageType.ManageObservationTypeInstructions);
            var observationInstructionsNeptunePage   = NeptunePage.GetNeptunePageByPageType(NeptunePageType.ManageObservationTypeObservationInstructions);
            var labelAndUnitsInstructionsNeptunePage = NeptunePage.GetNeptunePageByPageType(NeptunePageType.ManageObservationTypeLabelsAndUnitsInstructions);

            var submitUrl = ModelObjectHelpers.IsRealPrimaryKeyValue(viewModel.TreatmentBMPAssessmentObservationTypeID) ? SitkaRoute <TreatmentBMPAssessmentObservationTypeController> .BuildUrlFromExpression(x => x.Edit(viewModel.TreatmentBMPAssessmentObservationTypeID)) : SitkaRoute <TreatmentBMPAssessmentObservationTypeController> .BuildUrlFromExpression(x => x.New());

            var viewData = new EditViewData(CurrentPerson, MeasurementUnitType.All, ObservationTypeSpecification.All, ObservationThresholdType.All, ObservationTargetType.All, ObservationTypeCollectionMethod.All.ToList(), submitUrl, instructionsNeptunePage, observationInstructionsNeptunePage, labelAndUnitsInstructionsNeptunePage, treatmentBMPAssessmentObservationType);

            return(RazorView <Edit, EditViewData, EditViewModel>(viewData, viewModel));
        }
Esempio n. 22
0
        public void UpdateModel(Person person, Person currentPerson)
        {
            var roleSimpleIDs          = RoleSimples.Select(x => x.RoleID).ToList();
            var downgradingFromSteward = person.HasRole(Models.Role.ProjectSteward) &&
                                         !roleSimpleIDs.Contains(Models.Role.ProjectSteward.RoleID) &&
                                         !roleSimpleIDs.Contains(Models.Role.Admin.RoleID) && !roleSimpleIDs.Contains(Models.Role.SitkaAdmin.RoleID);

            var downgradingFromProgramEditor = person.HasRole(Models.Role.ProgramEditor) && !roleSimpleIDs.Contains(Models.Role.ProgramEditor.RoleID);


            var newPersonRoles = new List <PersonRole>();

            if (RoleSimples.Any())
            {
                foreach (var roleSimple in RoleSimples)
                {
                    var newPersonRole = new PersonRole(person.PersonID, roleSimple.RoleID);
                    newPersonRoles.Add(newPersonRole);
                }
            }
            else
            {
                // RoleID is required so this should not really happen, but map to unassigned as a safety
                newPersonRoles.Add(new PersonRole(person, Models.Role.Unassigned));
            }

            person.PersonRoles.Merge(newPersonRoles, HttpRequestStorage.DatabaseEntities.PersonRoles.Local, (o1, o2) => o1.PersonID == o2.PersonID && o1.RoleID == o2.RoleID);


            person.ReceiveSupportEmails = ShouldReceiveSupportEmails;

            if (ModelObjectHelpers.IsRealPrimaryKeyValue(person.PersonID))
            {
                person.UpdateDate = DateTime.Now; // Existing person
            }
            else
            {
                person.CreateDate = DateTime.Now; // New person
            }

            if (downgradingFromSteward)
            {
                HttpRequestStorage.DatabaseEntities.PersonStewardRegions.DeletePersonStewardRegion(person.PersonStewardRegions);
                HttpRequestStorage.DatabaseEntities.PersonStewardTaxonomyBranches.DeletePersonStewardTaxonomyBranch(person.PersonStewardTaxonomyBranches);
                HttpRequestStorage.DatabaseEntities.PersonStewardOrganizations.DeletePersonStewardOrganization(person.PersonStewardOrganizations);
            }

            if (downgradingFromProgramEditor)
            {
                HttpRequestStorage.DatabaseEntities.ProgramPeople.DeleteProgramPerson(person.ProgramPeople);
            }
        }
        private ViewResult ViewEdit(EditViewModel viewModel, TreatmentBMPType treatmentBMPType)
        {
            var instructionsNeptunePage = NeptunePage.GetNeptunePageByPageType(NeptunePageType.ManageTreatmentBMPTypeInstructions);
            var submitUrl = ModelObjectHelpers.IsRealPrimaryKeyValue(viewModel.TreatmentBMPTypeID) ? SitkaRoute <TreatmentBMPTypeController> .BuildUrlFromExpression(x => x.Edit(viewModel.TreatmentBMPTypeID)) : SitkaRoute <TreatmentBMPTypeController> .BuildUrlFromExpression(x => x.New());

            var observationTypes     = treatmentBMPType?.TreatmentBMPTypeAssessmentObservationTypes.ToList() ?? new List <TreatmentBMPTypeAssessmentObservationType>();
            var customAttributeTypes = treatmentBMPType?.TreatmentBMPTypeCustomAttributeTypes.ToList() ?? new List <TreatmentBMPTypeCustomAttributeType>();
            var allTreatmentBMPAssessmentObservationTypes = HttpRequestStorage.DatabaseEntities.TreatmentBMPAssessmentObservationTypes.ToList();
            var allCustomAttributeTypes = HttpRequestStorage.DatabaseEntities.CustomAttributeTypes.ToList();
            var viewData = new EditViewData(CurrentPerson, observationTypes, submitUrl, instructionsNeptunePage, treatmentBMPType, customAttributeTypes, allTreatmentBMPAssessmentObservationTypes, allCustomAttributeTypes);

            return(RazorView <Edit, EditViewData, EditViewModel>(viewData, viewModel));
        }
Esempio n. 24
0
 public void UpdateModel(IEntityNote entityNote, FirmaSession currentFirmaSession)
 {
     entityNote.Note = Note;
     if (!ModelObjectHelpers.IsRealPrimaryKeyValue(entityNote.PrimaryKey))
     {
         entityNote.CreateDate   = DateTime.Now;
         entityNote.CreatePerson = currentFirmaSession.Person;
     }
     else
     {
         entityNote.UpdateDate   = DateTime.Now;
         entityNote.UpdatePerson = currentFirmaSession.Person;
     }
 }
        private PartialViewResult ViewEdit(EditViewModel viewModel, ProjectCustomAttributeType projectCustomAttributeType)
        {
            var instructionsFirmaPage = FirmaPageTypeEnum.ManageProjectCustomAttributeTypeInstructions.GetFirmaPage();
            var submitUrl             = ModelObjectHelpers.IsRealPrimaryKeyValue(viewModel.ProjectCustomAttributeTypeID)
                ? SitkaRoute <ProjectCustomAttributeTypeController> .BuildUrlFromExpression(x => x.Edit(viewModel.ProjectCustomAttributeTypeID))
                : SitkaRoute <ProjectCustomAttributeTypeController> .BuildUrlFromExpression(x => x.New());

            var allProjectCustomAttributeGroups =
                HttpRequestStorage.DatabaseEntities.ProjectCustomAttributeGroups.ToList();
            var viewData = new EditViewData(CurrentFirmaSession, MeasurementUnitType.All, ProjectCustomAttributeDataType.All, Role.All,
                                            submitUrl, instructionsFirmaPage, projectCustomAttributeType, allProjectCustomAttributeGroups);

            return(RazorPartialView <Edit, EditViewData, EditViewModel>(viewData, viewModel));
        }
Esempio n. 26
0
 public void UpdateModel(ProjectInternalNote projectInternalNote, Person currentPerson)
 {
     projectInternalNote.Note = Note;
     if (!ModelObjectHelpers.IsRealPrimaryKeyValue(projectInternalNote.ProjectInternalNoteID))
     {
         projectInternalNote.CreateDate   = DateTime.Now;
         projectInternalNote.CreatePerson = currentPerson;
     }
     else
     {
         projectInternalNote.UpdateDate   = DateTime.Now;
         projectInternalNote.UpdatePerson = currentPerson;
     }
 }
Esempio n. 27
0
 public void UpdateModel(PerformanceMeasureNote performanceMeasureNote, Person currentPerson)
 {
     performanceMeasureNote.Note = Note;
     if (!ModelObjectHelpers.IsRealPrimaryKeyValue(performanceMeasureNote.PerformanceMeasureNoteID))
     {
         performanceMeasureNote.CreateDate   = DateTime.Now;
         performanceMeasureNote.CreatePerson = currentPerson;
     }
     else
     {
         performanceMeasureNote.UpdateDate   = DateTime.Now;
         performanceMeasureNote.UpdatePerson = currentPerson;
     }
 }
Esempio n. 28
0
        public ProjectUpdateViewData(FirmaSession currentFirmaSession,
                                     ProjectUpdateBatch projectUpdateBatch,
                                     ProjectUpdateStatus projectUpdateStatus,
                                     List <string> validationWarnings,
                                     string currentSectionDisplayName) : base(currentFirmaSession, null)
        {
            IsInstructionsPage  = currentSectionDisplayName.Equals("Instructions", StringComparison.InvariantCultureIgnoreCase);
            InstructionsPageUrl = SitkaRoute <ProjectUpdateController> .BuildUrlFromExpression(x => x.Instructions(projectUpdateBatch.Project));

            ProjectWorkflowSectionGroupings = ProjectWorkflowSectionGrouping.All.OrderBy(x => x.SortOrder).ToList();
            if (!MultiTenantHelpers.TrackAccomplishments())
            {
                ProjectWorkflowSectionGroupings = ProjectWorkflowSectionGroupings.Where(x => x != ProjectWorkflowSectionGrouping.Accomplishments).ToList();
            }
            ProjectUpdateBatch         = projectUpdateBatch;
            Project                    = projectUpdateBatch.Project;
            PrimaryContactPerson       = projectUpdateBatch.Project.GetPrimaryContact();
            EntityName                 = $"{FieldDefinitionEnum.Project.ToType().GetFieldDefinitionLabel()} Update";
            PageTitle                  = $"Update: {Project.GetDisplayName()}";
            ProjectUpdateMyProjectsUrl = SitkaRoute <ProjectUpdateController> .BuildUrlFromExpression(x => x.MyProjectsRequiringAnUpdate());

            ProjectUpdateHistoryUrl = SitkaRoute <ProjectUpdateController> .BuildUrlFromExpression(x => x.History(Project));

            DeleteProjectUpdateUrl = SitkaRoute <ProjectUpdateController> .BuildUrlFromExpression(x => x.DeleteProjectUpdate(Project));

            SubmitUrl = SitkaRoute <ProjectUpdateController> .BuildUrlFromExpression(x => x.Submit(Project));

            ApproveUrl = SitkaRoute <ProjectUpdateController> .BuildUrlFromExpression(x => x.Approve(Project));

            ReturnUrl = SitkaRoute <ProjectUpdateController> .BuildUrlFromExpression(x => x.Return(Project));

            ProvideFeedbackUrl = SitkaRoute <HelpController> .BuildUrlFromExpression(x => x.UpdateFeedback());

            TrainingUrl = SitkaRoute <HomeController> .BuildUrlFromExpression(x => x.Training());

            var isApprover = new ProjectUpdateAdminFeatureWithProjectContext().HasPermission(currentFirmaSession, Project).HasPermission;

            ShowApproveAndReturnButton = projectUpdateBatch.IsSubmitted() && isApprover;
            IsEditable                        = projectUpdateBatch.InEditableState() || ShowApproveAndReturnButton;
            IsReadyToApprove                  = projectUpdateBatch.IsReadyToApprove();
            AreProjectBasicsValid             = projectUpdateBatch.AreProjectBasicsValid();
            HasCustomAttributesEditableByUser = projectUpdateBatch.Project.HasEditableCustomAttributes(CurrentFirmaSession);

            //Neuter UpdateStatus for non-approver users until we go live with "Show Changes" for all users.
            ProjectUpdateStatus = currentFirmaSession.Person.IsApprover() ? projectUpdateStatus : new ProjectUpdateStatus(false, false, false, false, false, false, false, false, false, false, false, false, false, false, false);
            HasUpdateStarted    = ModelObjectHelpers.IsRealPrimaryKeyValue(projectUpdateBatch.ProjectUpdateBatchID);

            ValidationWarnings        = validationWarnings;
            CurrentSectionDisplayName = currentSectionDisplayName;
        }
Esempio n. 29
0
        public void UpdateModel(Models.TreatmentBMP treatmentBMP, Person currentPerson)
        {
            treatmentBMP.TreatmentBMPName                    = TreatmentBMPName;
            treatmentBMP.Notes                               = Notes;
            treatmentBMP.RequiredFieldVisitsPerYear          = RequiredFieldVisitsPerYear;
            treatmentBMP.RequiredPostStormFieldVisitsPerYear = RequiredPostStormFieldVisitsPerYear;
            treatmentBMP.TrashCaptureStatusTypeID            = TrashCaptureStatusTypeID.GetValueOrDefault(); // will never be null due to RequiredAttribute
            treatmentBMP.SizingBasisTypeID                   = SizingBasisTypeID.GetValueOrDefault();        // will never be null due to RequiredAttribute

            if (!ModelObjectHelpers.IsRealPrimaryKeyValue(treatmentBMP.TreatmentBMPID))
            {
                treatmentBMP.StormwaterJurisdictionID = StormwaterJurisdictionID ?? ModelObjectHelpers.NotYetAssignedID;
                treatmentBMP.TreatmentBMPTypeID       = TreatmentBMPTypeID ?? ModelObjectHelpers.NotYetAssignedID;

                var treatmentBMPTypeAssessmentObservationTypes =
                    HttpRequestStorage.DatabaseEntities.TreatmentBMPTypes.Single(x =>
                                                                                 x.TreatmentBMPTypeID == TreatmentBMPTypeID).TreatmentBMPTypeAssessmentObservationTypes.Where(x =>
                                                                                                                                                                              x.TreatmentBMPAssessmentObservationType.GetHasBenchmarkAndThreshold() &&
                                                                                                                                                                              x.DefaultThresholdValue.HasValue && x.DefaultBenchmarkValue.HasValue);
                foreach (var a in treatmentBMPTypeAssessmentObservationTypes)
                {
                    treatmentBMP.TreatmentBMPBenchmarkAndThresholds.Add(new Models.TreatmentBMPBenchmarkAndThreshold(treatmentBMP,
                                                                                                                     a, HttpRequestStorage.DatabaseEntities.TreatmentBMPTypes.Single(x =>
                                                                                                                                                                                     x.TreatmentBMPTypeID == TreatmentBMPTypeID),
                                                                                                                     a.TreatmentBMPAssessmentObservationType,
                                                                                                                     a.DefaultBenchmarkValue ?? 0,
                                                                                                                     a.DefaultThresholdValue ?? 0));
                }
            }

            treatmentBMP.SystemOfRecordID = SystemOfRecordID;
            if (OwnerOrganizationID.HasValue)
            {
                treatmentBMP.OwnerOrganizationID = OwnerOrganizationID.Value;
            }
            else
            {
                var stormwaterJurisdiction =
                    HttpRequestStorage.DatabaseEntities.StormwaterJurisdictions.GetStormwaterJurisdiction(treatmentBMP
                                                                                                          .StormwaterJurisdictionID);
                treatmentBMP.OwnerOrganizationID = stormwaterJurisdiction.OrganizationID;
            }

            treatmentBMP.YearBuilt = YearBuilt;
            treatmentBMP.WaterQualityManagementPlanID = WaterQualityManagementPlanID;

            treatmentBMP.TreatmentBMPLifespanTypeID  = TreatmentBMPLifespanTypeID;
            treatmentBMP.TreatmentBMPLifespanEndDate = TreatmentBMPLifespanTypeID == TreatmentBMPLifespanType.FixedEndDate.TreatmentBMPLifespanTypeID ? TreatmentBMPLifespanEndDate : null;
            treatmentBMP.TrashCaptureEffectiveness   = TrashCaptureStatusTypeID == TrashCaptureStatusType.Partial.TrashCaptureStatusTypeID ? TrashCaptureEffectiveness : null;
        }
Esempio n. 30
0
 public void UpdateModel(ProjectFirmaModels.Models.TaxonomyLeaf taxonomyLeaf, FirmaSession currentFirmaSession)
 {
     taxonomyLeaf.TaxonomyLeafName = TaxonomyLeafName;
     taxonomyLeaf.TaxonomyLeafDescriptionHtmlString = TaxonomyLeafDescription;
     taxonomyLeaf.TaxonomyBranchID = !MultiTenantHelpers.IsTaxonomyLevelLeaf()
         ? TaxonomyBranchID
         : HttpRequestStorage.DatabaseEntities.TaxonomyBranches.First().TaxonomyBranchID; // really should only be one
     taxonomyLeaf.ThemeColor = ThemeColor;
     if (!ModelObjectHelpers.IsRealPrimaryKeyValue(taxonomyLeaf.TaxonomyBranchID))
     {
         // for new leaf, set the sort order to greater than the current max for this branch (or null if no leaves have a sort order set)
         var maxSortOrder = HttpRequestStorage.DatabaseEntities.TaxonomyBranches
                            .Where(x => x.TaxonomyTrunkID == taxonomyLeaf.TaxonomyBranchID).Max(x => x.TaxonomyBranchSortOrder);
         taxonomyLeaf.TaxonomyLeafSortOrder = maxSortOrder + 1;
     }
 }