public FieldVisitSectionViewData(Person currentPerson, Models.FieldVisit fieldVisit, Models.FieldVisitSection fieldVisitSection) : base(currentPerson, NeptuneArea.OCStormwaterTools) { FieldVisit = fieldVisit; SectionName = fieldVisitSection.FieldVisitSectionName; EntityName = "Treatment BMP Field Visits"; EntityUrl = SitkaRoute <FieldVisitController> .BuildUrlFromExpression(x => x.Index()); SubEntityName = fieldVisit.TreatmentBMP.TreatmentBMPName ?? "Preview Treatment BMP Field Visit"; SubEntityUrl = fieldVisit.TreatmentBMP?.GetDetailUrl() ?? "#"; PageTitle = fieldVisit.VisitDate.ToStringDate(); EditDateAndTypeUrl = SitkaRoute <FieldVisitController> .BuildUrlFromExpression(x => x.EditDateAndType(fieldVisit.PrimaryKey)); CanManageStormwaterJurisdiction = currentPerson.CanManageStormwaterJurisdiction(fieldVisit.TreatmentBMP.StormwaterJurisdictionID); VerifiedUnverifiedFieldVisitUrl = SitkaRoute <FieldVisitController> .BuildUrlFromExpression(x => x.VerifyFieldVisit(FieldVisit.PrimaryKey)); SectionHeader = fieldVisitSection.SectionHeader; ValidationWarnings = new List <string>(); WrapupUrl = SitkaRoute <FieldVisitController> .BuildUrlFromExpression(x => x.VisitSummary(fieldVisit)); MaintenanceRecord = fieldVisit.MaintenanceRecord; InitialAssessment = fieldVisit.GetAssessmentByType(TreatmentBMPAssessmentTypeEnum.Initial); PostMaintenanceAssessment = fieldVisit.GetAssessmentByType(TreatmentBMPAssessmentTypeEnum.PostMaintenance); UserCanDeleteMaintenanceRecord = MaintenanceRecord != null && new MaintenanceRecordManageFeature() .HasPermission(CurrentPerson, MaintenanceRecord) .HasPermission; }
public AssessmentInformationViewData(Person currentPerson, Models.FieldVisit fieldVisit, IEnumerable <SelectListItem> jurisdictionPeople, TreatmentBMPAssessmentTypeEnum treatmentBMPAssessmentTypeEnum) : base(currentPerson, fieldVisit, treatmentBMPAssessmentTypeEnum == TreatmentBMPAssessmentTypeEnum.Initial ? (Models.FieldVisitSection)Models.FieldVisitSection.Assessment : Models.FieldVisitSection.PostMaintenanceAssessment) { JurisdictionPeople = jurisdictionPeople; SubsectionName = "Assessment Information"; TreatmentBMPAssessment = fieldVisit.GetAssessmentByType(treatmentBMPAssessmentTypeEnum); }
public LocationViewData(Person currentPerson, Models.FieldVisit fieldVisit, EditLocationViewData editLocationViewData) : base(currentPerson, fieldVisit, Models.FieldVisitSection.Inventory) { EditLocationViewData = editLocationViewData; SubsectionName = "Location"; SectionHeader = "Location"; }
public AttributesViewData(Person currentPerson, Models.FieldVisit fieldVisit, EditAttributesViewData editAttributesViewData) : base(currentPerson, fieldVisit, Models.FieldVisitSection.Inventory) { EditAttributesViewData = editAttributesViewData; SubsectionName = "Attributes"; SectionHeader = "Attributes"; }
public LocationViewModel(Models.FieldVisit fieldVisit) { // this is going TO The browser, so it has to be reprojected to web mercator var reprojected = CoordinateSystemHelper.ProjectCaliforniaStatePlaneVIToWebMercator(fieldVisit.TreatmentBMP.LocationPoint); TreatmentBMPPointY = reprojected.YCoordinate; TreatmentBMPPointX = reprojected.XCoordinate; }
public PhotosViewData(Person currentPerson, Models.FieldVisit fieldVisit, ManagePhotosWithPreviewViewData managePhotosWithPreviewViewData) : base(currentPerson, fieldVisit, Models.FieldVisitSection.Inventory) { SubsectionName = "Photos"; SectionHeader = "Photos"; ManagePhotosWithPreviewViewData = managePhotosWithPreviewViewData; }
public EditDateAndTypeViewData(Models.FieldVisit fieldVisit) { FieldVisitDate = fieldVisit.VisitDate; FieldVisitTypeID = fieldVisit.FieldVisitTypeID; AllFieldVisitTypes = FieldVisitType.All.ToSelectListWithDisabledEmptyFirstRow( x => x.FieldVisitTypeID.ToString(CultureInfo.InvariantCulture), x => x.FieldVisitTypeDisplayName, "Choose a type"); }
public MaintainViewData(Person currentPerson, Models.FieldVisit fieldVisit, IEnumerable <SelectListItem> allMaintenanceRecordTypes) : base(currentPerson, fieldVisit, Models.FieldVisitSection.Maintenance) { AllMaintenanceRecordTypes = allMaintenanceRecordTypes; PostMaintenanceAssessmentUrl = SitkaRoute <FieldVisitController> .BuildUrlFromExpression(x => x.PostMaintenanceAssessment(fieldVisit)); EditMaintenanceRecordUrl = SitkaRoute <FieldVisitController> .BuildUrlFromExpression(x => x.EditMaintenanceRecord(fieldVisit)); IsNew = fieldVisit.MaintenanceRecord == null; }
public ObservationsViewData(Models.FieldVisit fieldVisit, TreatmentBMPAssessmentTypeEnum treatmentBMPAssessmentTypeEnum, Person currentPerson) : base(currentPerson, fieldVisit, treatmentBMPAssessmentTypeEnum == TreatmentBMPAssessmentTypeEnum.Initial ? (Models.FieldVisitSection)Models.FieldVisitSection.Assessment : Models.FieldVisitSection.PostMaintenanceAssessment) { var initialAssessmentObservations = fieldVisit.GetInitialAssessment()?.TreatmentBMPObservations.Select(x => new CollectionMethodSectionViewModel(x, x.TreatmentBMPAssessmentObservationType)).ToList(); SubsectionName = "Observations"; SectionHeader = "Observations"; TreatmentBMPAssessmentTypeEnum = treatmentBMPAssessmentTypeEnum; ViewDataForAngular = new ObservationsViewDataForAngular(fieldVisit.TreatmentBMP.TreatmentBMPType, initialAssessmentObservations); SubmitUrl = SitkaRoute <FieldVisitController> .BuildUrlFromExpression(x => x.Observations(fieldVisit, treatmentBMPAssessmentTypeEnum)); }
public EditAttributesViewData(Person currentPerson, Models.FieldVisit fieldVisit, bool isSubForm, bool missingRequiredAttributes) : base( currentPerson, NeptuneArea.OCStormwaterTools) { IsSubForm = isSubForm; MissingRequiredAttributes = missingRequiredAttributes; TreatmentBMPTypeCustomAttributeTypes = fieldVisit.TreatmentBMP.TreatmentBMPType .TreatmentBMPTypeCustomAttributeTypes.Where(x => x.CustomAttributeType.CustomAttributeTypePurposeID != CustomAttributeTypePurpose.Maintenance.CustomAttributeTypePurposeID).ToList().OrderBy(x => x.CustomAttributeType.CustomAttributeTypePurpose.CustomAttributeTypePurposeDisplayName) .ThenByOrderThenName().ToList(); }
public void UpdateModel(Models.FieldVisit fieldVisit, List <Models.CustomAttributeType> allCustomAttributeTypes) { var maintenanceRecord = fieldVisit.MaintenanceRecord; maintenanceRecord.MaintenanceRecordTypeID = MaintenanceRecordTypeID.Value; maintenanceRecord.MaintenanceRecordDescription = MaintenanceRecordDescription; var treatmentBMPTypeCustomAttributeTypes = maintenanceRecord.TreatmentBMP.TreatmentBMPType.TreatmentBMPTypeCustomAttributeTypes.ToList(); var customAttributeSimplesWithValues = CustomAttributes.Where(x => x.CustomAttributeValues != null && x.CustomAttributeValues.Count > 0); var customAttributesToUpdate = new List <MaintenanceRecordObservation>(); var customAttributeValuesToUpdate = new List <MaintenanceRecordObservationValue>(); foreach (var x in customAttributeSimplesWithValues) { var customAttribute = new MaintenanceRecordObservation(maintenanceRecord.MaintenanceRecordID, treatmentBMPTypeCustomAttributeTypes.Single(y => y.CustomAttributeTypeID == x.CustomAttributeTypeID) .TreatmentBMPTypeCustomAttributeTypeID, maintenanceRecord.TreatmentBMP.TreatmentBMPTypeID, x.CustomAttributeTypeID); customAttributesToUpdate.Add(customAttribute); foreach (var value in x.CustomAttributeValues) { var valueParsedForDataType = allCustomAttributeTypes.Single(y => y.CustomAttributeTypeID == x.CustomAttributeTypeID).CustomAttributeDataType.ValueParsedForDataType(value); var customAttributeValue = new MaintenanceRecordObservationValue(customAttribute, valueParsedForDataType); customAttributeValuesToUpdate.Add(customAttributeValue); } } var maintenanceRecordObservationsInDatabase = HttpRequestStorage.DatabaseEntities.MaintenanceRecordObservations.Local; var maintenanceRecordObservationValuesInDatabase = HttpRequestStorage.DatabaseEntities.MaintenanceRecordObservationValues.Local; var existingMaintenanceRecordObservations = maintenanceRecord.MaintenanceRecordObservations.Where(x => x.CustomAttributeType.CustomAttributeTypePurposeID == CustomAttributeTypePurpose.Maintenance.CustomAttributeTypePurposeID).ToList(); var existingMaintenanceRecordObservationValues = existingMaintenanceRecordObservations.SelectMany(x => x.MaintenanceRecordObservationValues).ToList(); existingMaintenanceRecordObservations.Merge(customAttributesToUpdate, maintenanceRecordObservationsInDatabase, (x, y) => x.MaintenanceRecordID == y.MaintenanceRecordID && x.TreatmentBMPTypeID == y.TreatmentBMPTypeID && x.CustomAttributeTypeID == y.CustomAttributeTypeID && x.MaintenanceRecordObservationID == y.MaintenanceRecordObservationID, (x, y) => { }); existingMaintenanceRecordObservationValues.Merge(customAttributeValuesToUpdate, maintenanceRecordObservationValuesInDatabase, (x, y) => x.MaintenanceRecordObservationValueID == y.MaintenanceRecordObservationValueID && x.MaintenanceRecordObservationID == y.MaintenanceRecordObservationID, (x, y) => { x.ObservationValue = y.ObservationValue; }); }
public DetailViewData(Person currentPerson, Models.FieldVisit fieldVisit, AssessmentDetailViewData initialAssessmentViewData, AssessmentDetailViewData postMaintenanceAssessmentViewData) : base(currentPerson, NeptuneArea.OCStormwaterTools) { FieldVisit = fieldVisit; MaintenanceRecord = FieldVisit.MaintenanceRecord; InitialAssessmentViewData = initialAssessmentViewData; PostMaintenanceAssessmentViewData = postMaintenanceAssessmentViewData; EntityName = "Treatment BMP Field Visits"; EntityUrl = SitkaRoute <FieldVisitController> .BuildUrlFromExpression(x => x.Index()); SubEntityName = FieldVisit.TreatmentBMP.TreatmentBMPName ?? "Preview Treatment BMP Field Visit"; SubEntityUrl = FieldVisit.TreatmentBMP?.GetDetailUrl() ?? "#"; PageTitle = FieldVisit.VisitDate.ToStringDate(); InitialAssessment = FieldVisit.GetAssessmentByType(TreatmentBMPAssessmentTypeEnum.Initial); UserCanDeleteInitialAssessment = InitialAssessment != null && new TreatmentBMPAssessmentManageFeature() .HasPermission(currentPerson, InitialAssessment) .HasPermission; PostMaintenanceAssessment = FieldVisit.GetAssessmentByType(TreatmentBMPAssessmentTypeEnum.PostMaintenance); UserCanDeletePostMaintenanceAssessment = PostMaintenanceAssessment != null && new TreatmentBMPAssessmentManageFeature() .HasPermission(currentPerson, PostMaintenanceAssessment) .HasPermission; UserCanDeleteMaintenanceRecord = MaintenanceRecord != null && new MaintenanceRecordManageFeature() .HasPermission(currentPerson, MaintenanceRecord) .HasPermission; SortedMaintenanceRecordObservations = MaintenanceRecord?.MaintenanceRecordObservations.ToList() .OrderBy(x => x.TreatmentBMPTypeCustomAttributeType.SortOrder) .ThenBy(x => x.TreatmentBMPTypeCustomAttributeType.GetDisplayName()); UserHasCustomAttributeTypeManagePermissions = new NeptuneAdminFeature().HasPermissionByPerson(currentPerson); CanManageStormwaterJurisdiction = currentPerson.CanManageStormwaterJurisdiction(fieldVisit.TreatmentBMP.StormwaterJurisdictionID); CanEditStormwaterJurisdiction = currentPerson.IsAssignedToStormwaterJurisdiction(fieldVisit.TreatmentBMP.StormwaterJurisdictionID); VerifiedUnverifiedFieldVisitUrl = SitkaRoute <FieldVisitController> .BuildUrlFromExpression(x => x.VerifyFieldVisit(FieldVisit.PrimaryKey)); MarkAsProvisionalUrl = SitkaRoute <FieldVisitController> .BuildUrlFromExpression(x => x.MarkProvisionalFieldVisit(FieldVisit.PrimaryKey)); ReturnToEditUrl = SitkaRoute <FieldVisitController> .BuildUrlFromExpression(x => x.ReturnFieldVisitToEdit(FieldVisit.PrimaryKey)); }
public void UpdateModel(Models.FieldVisit fieldVisit, Person currentPerson) { var treatmentBMP = fieldVisit.TreatmentBMP; var customAttributeSimplesWithValues = CustomAttributes.Where(x => x.CustomAttributeValues != null && x.CustomAttributeValues.Count > 0); var customAttributesToUpdate = new List <CustomAttribute>(); var customAttributeValuesToUpdate = new List <CustomAttributeValue>(); foreach (var x in customAttributeSimplesWithValues) { var customAttribute = new CustomAttribute(treatmentBMP.TreatmentBMPID, x.TreatmentBMPTypeCustomAttributeTypeID, treatmentBMP.TreatmentBMPTypeID, x.CustomAttributeTypeID); customAttributesToUpdate.Add(customAttribute); foreach (var value in x.CustomAttributeValues) { var customAttributeValue = new CustomAttributeValue(customAttribute, value); customAttributeValuesToUpdate.Add(customAttributeValue); } } var customAttributesInDatabase = HttpRequestStorage.DatabaseEntities.CustomAttributes.Local; var customAttributeValuesInDatabase = HttpRequestStorage.DatabaseEntities.CustomAttributeValues.Local; var existingCustomAttributes = treatmentBMP.CustomAttributes.ToList(); var existingCustomAttributeValues = existingCustomAttributes.SelectMany(x => x.CustomAttributeValues).ToList(); existingCustomAttributes.Merge(customAttributesToUpdate, customAttributesInDatabase, (x, y) => x.TreatmentBMPID == y.TreatmentBMPID && x.TreatmentBMPTypeID == y.TreatmentBMPTypeID && x.CustomAttributeTypeID == y.CustomAttributeTypeID && x.CustomAttributeID == y.CustomAttributeID); existingCustomAttributeValues.Merge(customAttributeValuesToUpdate, customAttributeValuesInDatabase, (x, y) => x.CustomAttributeValueID == y.CustomAttributeValueID && x.CustomAttributeID == y.CustomAttributeID, (x, y) => { x.AttributeValue = y.AttributeValue; }); }
public PostMaintenanceAssessmentViewData(Person currentPerson, Models.FieldVisit fieldVisit) : base(currentPerson, fieldVisit, Models.FieldVisitSection.PostMaintenanceAssessment) { }
public InventoryViewData(Person currentPerson, Models.FieldVisit fieldVisit) : base(currentPerson, fieldVisit, Models.FieldVisitSection.Inventory) { LocationUrl = SitkaRoute <FieldVisitController> .BuildUrlFromExpression(x => x.Location(fieldVisit)); AssessUrl = SitkaRoute <FieldVisitController> .BuildUrlFromExpression(x => x.Assessment(fieldVisit)); }
public EditDateAndTypeViewModel(Models.FieldVisit inProgressFieldVisit) { FieldVisitTypeID = inProgressFieldVisit.FieldVisitTypeID; FieldVisitDate = inProgressFieldVisit.VisitDate; }
public AssessmentViewData(Person currentPerson, Models.FieldVisit fieldVisit) : base(currentPerson, fieldVisit, Models.FieldVisitSection.Assessment) { MaintenanceUrl = SitkaRoute <FieldVisitController> .BuildUrlFromExpression(x => x.Maintain(fieldVisit)); }
public NewFieldVisitViewModel(Models.FieldVisit inProgressFieldVisit) { InProgressFieldVisitExists = inProgressFieldVisit != null; FieldVisitTypeID = inProgressFieldVisit?.FieldVisitTypeID ?? FieldVisitType.DryWeather.FieldVisitTypeID; }
public EditMaintenanceRecordViewData(Person currentPerson, List <Models.Organization> organizations, Models.TreatmentBMP treatmentBMP, bool isNew, Models.FieldVisit fieldVisit, EditAttributesViewData editMaintenanceRecordObservationsViewData) : base(currentPerson, fieldVisit, Models.FieldVisitSection.Maintenance) { SubsectionName = "Edit Maintenance Record"; IsNew = isNew; EditMaintenanceRecordObservationsViewData = editMaintenanceRecordObservationsViewData; AllOrganizations = organizations.OrderBy(x => x.OrganizationName).ToSelectListWithDisabledEmptyFirstRow(x => x.OrganizationID.ToString(CultureInfo.InvariantCulture), x => x.OrganizationName, "Choose an Organization"); AllMaintenanceRecordTypes = MaintenanceRecordType.All.ToSelectListWithDisabledEmptyFirstRow( x => x.MaintenanceRecordTypeID.ToString(CultureInfo.InvariantCulture), x => x.MaintenanceRecordTypeDisplayName, "Choose a type"); TreatmentBMPUrl = treatmentBMP.GetDetailUrl(); MaintenanceRecordUrl = MaintenanceRecord?.GetDetailUrl(); }
public VisitSummaryViewData(Person currentPerson, Models.FieldVisit fieldVisit) : base(currentPerson, fieldVisit, Models.FieldVisitSection.VisitSummary) { }
public AttributesViewModel(Models.FieldVisit fieldVisit) { var treatmentBMP = fieldVisit.TreatmentBMP; CustomAttributes = treatmentBMP.CustomAttributes.Where(x => x.CustomAttributeType.CustomAttributeTypePurposeID != CustomAttributeTypePurpose.Maintenance.CustomAttributeTypePurposeID).Select(x => new CustomAttributeSimple(x)).ToList(); }