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; }
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; } }
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; }
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))); } } } }
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() })); }
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); } }
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); }
/// <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; }
/// <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); }
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)); }
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)); }
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); }
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"); } }
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"); } }
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)); }
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)); }
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)); }
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; } }
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; } }
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; }
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; }
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; } }