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 RecordObservationsViewData(Person currentPerson, Models.OnlandVisualTrashAssessment ovta, OVTAObservationsMapInitJson mapInitJson, string geoServerUrl) : base(currentPerson, Models.OVTASection.RecordObservations, ovta) { MapInitJson = mapInitJson; ViewDataForAngular = new ViewDataForAngularClass(mapInitJson, ovta, geoServerUrl, ovta.StormwaterJurisdictionID); }
public ViewDataForAngularClass(OVTAObservationsMapInitJson mapInitJson, Models.OnlandVisualTrashAssessment ovta, string geoServerUrl, int?ovtaStormwaterJurisdictionID) { MapInitJson = mapInitJson; GeoServerUrl = geoServerUrl; OVTAStormwaterJurisdictionID = ovtaStormwaterJurisdictionID; ovtaID = ovta.OnlandVisualTrashAssessmentID; }
public InitiateOVTAViewModel(Models.OnlandVisualTrashAssessment onlandVisualTrashAssessment, Person currentPerson) : this(onlandVisualTrashAssessment) { var stormwaterJurisdictionsPersonCanEdit = currentPerson.GetStormwaterJurisdictionsPersonCanView().ToList(); if (stormwaterJurisdictionsPersonCanEdit.Count == 1) { StormwaterJurisdiction = new StormwaterJurisdictionSimple(stormwaterJurisdictionsPersonCanEdit.Single()); } }
private void AssignParameters(Models.OVTASection ovtaSection, Models.OnlandVisualTrashAssessment ovta) { EntityName = "On-land Visual Trash Assessment"; EntityUrl = SitkaRoute <OnlandVisualTrashAssessmentController> .BuildUrlFromExpression(x => x.Index()); OVTA = ovta; OVTASection = ovtaSection; SectionName = ovtaSection.OVTASectionName; SectionHeader = ovtaSection.SectionHeader; PageTitle = ovtaSection.OVTASectionDisplayName; }
public InitiateOVTAViewData(Person currentPerson, Models.OnlandVisualTrashAssessment ovta, List <StormwaterJurisdiction> jurisdictions, SelectOVTAAreaMapInitJson mapInitJson, IEnumerable <Models.OnlandVisualTrashAssessmentArea> onlandVisualTrashAssessmentAreas, StormwaterJurisdiction defaultJurisdiction, string geoServerUrl) : base(currentPerson, Models.OVTASection.InitiateOVTA, ovta) { Jurisdictions = jurisdictions; MapInitJson = mapInitJson; DefaultJurisdiction = defaultJurisdiction; var useDefaultJurisdiction = defaultJurisdiction != null; ViewDataForAngular = new ViewDataForAngularClass(mapInitJson, onlandVisualTrashAssessmentAreas, useDefaultJurisdiction, jurisdictions, geoServerUrl); }
public FinalizeOVTAViewModel(Models.OnlandVisualTrashAssessment ovta) { AssessmentAreaName = ovta.OnlandVisualTrashAssessmentArea?.OnlandVisualTrashAssessmentAreaName ?? ovta.DraftAreaName; AssessmentAreaDescription = ovta.OnlandVisualTrashAssessmentArea?.AssessmentAreaDescription ?? ovta.DraftAreaDescription; ScoreID = ovta.OnlandVisualTrashAssessmentScoreID; Notes = ovta.Notes; StormwaterJurisdictionID = ovta.StormwaterJurisdictionID; AssessmentAreaID = ovta.OnlandVisualTrashAssessmentAreaID; PreliminarySourceIdentifications = ovta.GetPreliminarySourceIdentificationSimples(); OnlandVisualTrashAssessmentID = ovta.OnlandVisualTrashAssessmentID; AssessmentDate = ovta.CompletedDate ?? DateTime.Now; IsProgressAssessment = ovta.IsProgressAssessment; }
public FinalizeOVTAViewData(Person currentPerson, Models.OnlandVisualTrashAssessment ovta, OVTASummaryMapInitJson ovtaSummaryMapInitJson, IEnumerable <SelectListItem> scores, string geoServerUrl) : base(currentPerson, Models.OVTASection.FinalizeOVTA, ovta) { Scores = scores; ConductedByPerson = ovta.CreatedByPerson; Jurisdiction = ovta.StormwaterJurisdiction; CreatedDate = ovta.CreatedDate.ToShortDateString(); IsProgressAssessment = ovta.IsProgressAssessment; AssessmentAreaDescription = ovta.OnlandVisualTrashAssessmentArea?.AssessmentAreaDescription ?? ovta.DraftAreaDescription; ScoreDescriptionsUrl = SitkaRoute <OnlandVisualTrashAssessmentController> .BuildUrlFromExpression(x => x.ScoreDescriptions()); PreliminarySourceIdentificationTypeOthers = PreliminarySourceIdentificationType.All.Where(x => x.IsOther()); TrashAssessmentSummaryMapViewData = new TrashAssessmentSummaryMapViewData(ovtaSummaryMapInitJson, ovta.OnlandVisualTrashAssessmentObservations, geoServerUrl); }
public DetailViewData(Person currentPerson, Models.OnlandVisualTrashAssessment onlandVisualTrashAssessment, TrashAssessmentSummaryMapViewData trashAssessmentSummaryMapViewData, string returnToEditUrl, bool userHasReturnToEditPermission) : base(currentPerson) { OnlandVisualTrashAssessment = onlandVisualTrashAssessment; IsProgressAssessment = onlandVisualTrashAssessment.ToBaselineProgress(); TrashAssessmentSummaryMapViewData = trashAssessmentSummaryMapViewData; EntityName = "On-land Visual Trash Assessment"; EntityUrl = SitkaRoute <OnlandVisualTrashAssessmentController> .BuildUrlFromExpression(x => x.Index()); SubEntityName = onlandVisualTrashAssessment.OnlandVisualTrashAssessmentArea .OnlandVisualTrashAssessmentAreaName; SubEntityUrl = SitkaRoute <OnlandVisualTrashAssessmentAreaController> .BuildUrlFromExpression(x => x.Detail(onlandVisualTrashAssessment.OnlandVisualTrashAssessmentArea)); // ReSharper disable once PossibleInvalidOperationException PageTitle = OnlandVisualTrashAssessment.CompletedDate.Value.ToShortDateString(); ReturnToEditUrl = returnToEditUrl; UserHasReturnToEditPermission = userHasReturnToEditPermission; }
public void UpdateModel(Models.OnlandVisualTrashAssessment ovta, ObservableCollection <OnlandVisualTrashAssessmentObservation> allOnlandVisualTrashAssessmentObservations) { // this is a dict instead of the usual list so that we can permanentize the staged photos later. var updatedDict = Observations?.Select(x => new KeyValuePair <OnlandVisualTrashAssessmentObservationSimple, OnlandVisualTrashAssessmentObservation>(x, x.ToOnlandVisualTrashAssessmentObservation())) .ToList().ToDictionary(x => x.Key, x => x.Value) ?? new Dictionary <OnlandVisualTrashAssessmentObservationSimple, OnlandVisualTrashAssessmentObservation>(); ovta.OnlandVisualTrashAssessmentObservations.Merge(updatedDict.Values, allOnlandVisualTrashAssessmentObservations, (x, y) => x.OnlandVisualTrashAssessmentObservationID == y.OnlandVisualTrashAssessmentObservationID, (x, y) => { x.Note = y.Note; x.LocationPoint = y.LocationPoint; x.LocationPoint4326 = y.LocationPoint4326; }); updatedDict.ForEach(x => { var dto = x.Key; // have to do this weird lookup otherwise line 63 will create a brand new ovtao var entityID = x.Value.OnlandVisualTrashAssessmentObservationID; var actualEntity = HttpRequestStorage.DatabaseEntities.OnlandVisualTrashAssessmentObservations.Find(entityID); if (!dto.PhotoStagingID.HasValue) { return; // no one cares } var photoStaging = ((OnlandVisualTrashAssessmentObservationPhotoStagingPrimaryKey)dto.PhotoStagingID.Value).EntityObject; // ReSharper disable once ObjectCreationAsStatement new OnlandVisualTrashAssessmentObservationPhoto(photoStaging.FileResource, actualEntity); }); HttpRequestStorage.DatabaseEntities.SaveChanges(); HttpRequestStorage.DatabaseEntities.OnlandVisualTrashAssessmentObservationPhotoStagings .DeleteOnlandVisualTrashAssessmentObservationPhotoStaging(ovta .OnlandVisualTrashAssessmentObservationPhotoStagings); }
public RefineAssessmentAreaViewData(Person currentPerson, Models.OVTASection ovtaSection, Models.OnlandVisualTrashAssessment ovta, RefineAssessmentAreaMapInitJson mapInitJson, string geoServerUrl) : base(currentPerson, ovtaSection, ovta) { MapInitJson = mapInitJson; GeoServerUrl = geoServerUrl; MapFormID = "refineAssessmentAreaForm"; }
public AddOrRemoveParcelsViewData(Person currentPerson, Models.OVTASection ovtaSection, Models.OnlandVisualTrashAssessment ovta, AddOrRemoveParcelsMapIntJson ovtaSummaryMapInitJson) : base(currentPerson, ovtaSection, ovta) { OVTASummaryMapInitJson = ovtaSummaryMapInitJson; ViewDataForAngular = new ViewDataForAngularClass(ovtaSummaryMapInitJson, ovta.IsDraftGeometryManuallyRefined.GetValueOrDefault()); RefreshUrl = SitkaRoute <OnlandVisualTrashAssessmentController> .BuildUrlFromExpression( x => x.RefreshParcels(ovta)); RequireRefresh = ovta.IsDraftGeometryManuallyRefined.GetValueOrDefault(); }
public InitiateOVTAViewModel(Models.OnlandVisualTrashAssessment onlandVisualTrashAssessment) { StormwaterJurisdiction = onlandVisualTrashAssessment?.StormwaterJurisdiction != null ? new StormwaterJurisdictionSimple(onlandVisualTrashAssessment.StormwaterJurisdiction) : null; OnlandVisualTrashAssessmentAreaID = onlandVisualTrashAssessment?.OnlandVisualTrashAssessmentAreaID; AssessingNewArea = onlandVisualTrashAssessment?.AssessingNewArea ?? false; }
public OVTASectionViewData(Person currentPerson, Models.OVTASection ovtaSection, Models.OnlandVisualTrashAssessment ovta) : base(currentPerson) { AssignParameters(ovtaSection, ovta); }
public InstructionsViewData(Person currentPerson, NeptunePage neptunePage, Models.OnlandVisualTrashAssessment ovta) : base(currentPerson, neptunePage, Models.OVTASection.Instructions, ovta) { }
public RecordObservationsViewModel(Models.OnlandVisualTrashAssessment ovta) : base(ovta) { Observations = ovta.OnlandVisualTrashAssessmentObservations .Select(x => new OnlandVisualTrashAssessmentObservationSimple(x)).ToList(); }
public void UpdateModel(Models.OnlandVisualTrashAssessment onlandVisualTrashAssessment, ICollection <OnlandVisualTrashAssessmentPreliminarySourceIdentificationType> allOnlandVisualTrashAssessmentPreliminarySourceIdentificationTypes) { if (Finalize.GetValueOrDefault()) { onlandVisualTrashAssessment.OnlandVisualTrashAssessmentScoreID = ScoreID; onlandVisualTrashAssessment.Notes = Notes; onlandVisualTrashAssessment.CompletedDate = AssessmentDate; onlandVisualTrashAssessment.IsProgressAssessment = IsProgressAssessment; // create the assessment area if (onlandVisualTrashAssessment.AssessingNewArea.GetValueOrDefault()) { var onlandVisualTrashAssessmentAreaGeometry2771 = onlandVisualTrashAssessment .DraftGeometry; var onlandVisualTrashAssessmentArea = new Models.OnlandVisualTrashAssessmentArea(AssessmentAreaName, onlandVisualTrashAssessment.StormwaterJurisdiction, onlandVisualTrashAssessmentAreaGeometry2771) { OnlandVisualTrashAssessmentAreaGeometry4326 = CoordinateSystemHelper.ProjectCaliforniaStatePlaneVIToWebMercator(onlandVisualTrashAssessment.DraftGeometry) }; HttpRequestStorage.DatabaseEntities.SaveChanges(); onlandVisualTrashAssessment.OnlandVisualTrashAssessmentAreaID = onlandVisualTrashAssessmentArea.OnlandVisualTrashAssessmentAreaID; onlandVisualTrashAssessment.DraftGeometry = null; onlandVisualTrashAssessment.DraftAreaDescription = null; } onlandVisualTrashAssessment.OnlandVisualTrashAssessmentStatusID = OnlandVisualTrashAssessmentStatus.Complete.OnlandVisualTrashAssessmentStatusID; HttpRequestStorage.DatabaseEntities.SaveChanges(); onlandVisualTrashAssessment.OnlandVisualTrashAssessmentArea.AssessmentAreaDescription = AssessmentAreaDescription; onlandVisualTrashAssessment.OnlandVisualTrashAssessmentArea.OnlandVisualTrashAssessmentBaselineScoreID = onlandVisualTrashAssessment.OnlandVisualTrashAssessmentArea.CalculateScoreFromBackingData(false)? .OnlandVisualTrashAssessmentScoreID; if (IsProgressAssessment) { onlandVisualTrashAssessment.OnlandVisualTrashAssessmentArea .OnlandVisualTrashAssessmentProgressScoreID = onlandVisualTrashAssessment.OnlandVisualTrashAssessmentScoreID; } if (onlandVisualTrashAssessment.OnlandVisualTrashAssessmentArea.TransectLine == null && onlandVisualTrashAssessment.OnlandVisualTrashAssessmentObservations.Count >= 2) { var transect = onlandVisualTrashAssessment.GetTransect(); onlandVisualTrashAssessment.OnlandVisualTrashAssessmentArea.TransectLine = transect; onlandVisualTrashAssessment.IsTransectBackingAssessment = true; var transectBackingAssessment = onlandVisualTrashAssessment.OnlandVisualTrashAssessmentArea.GetTransectBackingAssessment(); if (transectBackingAssessment != null) { transectBackingAssessment.IsTransectBackingAssessment = false; } } } else { onlandVisualTrashAssessment.OnlandVisualTrashAssessmentScoreID = ScoreID; onlandVisualTrashAssessment.Notes = Notes; onlandVisualTrashAssessment.DraftAreaName = AssessmentAreaName; onlandVisualTrashAssessment.DraftAreaDescription = AssessmentAreaDescription; } var onlandVisualTrashAssessmentPreliminarySourceIdentificationTypesToUpdate = PreliminarySourceIdentifications.Where(x => x.Has).Select(x => new OnlandVisualTrashAssessmentPreliminarySourceIdentificationType( OnlandVisualTrashAssessmentID.GetValueOrDefault(), x.PreliminarySourceIdentificationTypeID.GetValueOrDefault()) { ExplanationIfTypeIsOther = x.ExplanationIfTypeIsOther }).ToList(); onlandVisualTrashAssessment.OnlandVisualTrashAssessmentPreliminarySourceIdentificationTypes.Merge(onlandVisualTrashAssessmentPreliminarySourceIdentificationTypesToUpdate, allOnlandVisualTrashAssessmentPreliminarySourceIdentificationTypes, (z, w) => z.OnlandVisualTrashAssessmentID == w.OnlandVisualTrashAssessmentID && z.PreliminarySourceIdentificationTypeID == w.PreliminarySourceIdentificationTypeID, (z, w) => z.ExplanationIfTypeIsOther = w.ExplanationIfTypeIsOther ); // bug?: why are we nulling these unconditionally? onlandVisualTrashAssessment.DraftAreaDescription = null; onlandVisualTrashAssessment.DraftAreaName = null; onlandVisualTrashAssessment.DraftGeometry = null; }
protected OnlandVisualTrashAssessmentViewModel(Models.OnlandVisualTrashAssessment ovta) { OVTAID = ovta.OnlandVisualTrashAssessmentID; }
public static DbGeometry RecomputeTransectLine( this Models.OnlandVisualTrashAssessmentArea onlandVisualTrashAssessmentArea, out Models.OnlandVisualTrashAssessment onlandVisualTrashAssessment) { var onlandVisualTrashAssessments = onlandVisualTrashAssessmentArea.OnlandVisualTrashAssessments .Where(x => x.OnlandVisualTrashAssessmentStatusID == OnlandVisualTrashAssessmentStatus.Complete.OnlandVisualTrashAssessmentStatusID).ToList(); // new transect should come from the earliest completed assessment if (onlandVisualTrashAssessments.Any(x => x.OnlandVisualTrashAssessmentStatusID == OnlandVisualTrashAssessmentStatus.Complete.OnlandVisualTrashAssessmentStatusID)) { onlandVisualTrashAssessment = onlandVisualTrashAssessments.MinBy(x => x.CompletedDate); return(onlandVisualTrashAssessment.GetTransect()?.FixSrid(CoordinateSystemHelper.NAD_83_HARN_CA_ZONE_VI_SRID)); } onlandVisualTrashAssessment = null; return(null); }