public ViewResult EditWqmpParcels(WaterQualityManagementPlanPrimaryKey waterQualityManagementPlanPrimaryKey)
        {
            var waterQualityManagementPlan = waterQualityManagementPlanPrimaryKey.EntityObject;
            var viewModel = new EditWqmpParcelsViewModel(waterQualityManagementPlan);

            return(ViewEditWqmpParcels(waterQualityManagementPlan, viewModel));
        }
        public PartialViewResult EditModelingApproach(WaterQualityManagementPlanPrimaryKey waterQualityManagementPlanPrimaryKey)
        {
            var waterQualityManagementPlan = waterQualityManagementPlanPrimaryKey.EntityObject;
            var viewModel = new EditModelingApproachViewModel(waterQualityManagementPlan);

            return(ViewEditModelingApproach(viewModel));
        }
Пример #3
0
        public PartialViewResult New(WaterQualityManagementPlanPrimaryKey waterQualityManagementPlanPrimaryKey)
        {
            var waterQualityManagementPlan = waterQualityManagementPlanPrimaryKey.EntityObject;
            var viewModel = new NewViewModel(waterQualityManagementPlan);

            return(ViewNew(viewModel));
        }
        public JsonResult GetModelResults(WaterQualityManagementPlanPrimaryKey waterQualityManagementPlanPrimaryKey)
        {
            var waterQualityManagementPlan     = waterQualityManagementPlanPrimaryKey.EntityObject;
            var modeledPerformanceResultSimple = new ModeledPerformanceResultSimple(waterQualityManagementPlan);

            return(Json(modeledPerformanceResultSimple, JsonRequestBehavior.AllowGet));
        }
        public PartialViewResult Delete(WaterQualityManagementPlanPrimaryKey waterQualityManagementPlanPrimaryKey)
        {
            var waterQualityManagementPlan = waterQualityManagementPlanPrimaryKey.EntityObject;
            var viewModel = new ConfirmDialogFormViewModel(waterQualityManagementPlan.WaterQualityManagementPlanID);

            return(ViewDelete(waterQualityManagementPlan, viewModel));
        }
        public ActionResult NewWqmpVerify(WaterQualityManagementPlanPrimaryKey waterQualityManagementPlanPrimaryKey, NewWqmpVerifyViewModel viewModel)
        {
            var waterQualityManagementPlan = waterQualityManagementPlanPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewNewWqmpVerify(waterQualityManagementPlan, viewModel));
            }

            var waterQualityManagementPlanVerify = new WaterQualityManagementPlanVerify(
                waterQualityManagementPlan.WaterQualityManagementPlanID,
                viewModel.WaterQualityManagementPlanVerifyTypeID,
                viewModel.WaterQualityManagementPlanVisitStatusID,
                CurrentPerson.PersonID,
                DateTime.Now,
                !viewModel.HiddenIsFinalizeVerificationInput,
                viewModel.VerificationDate);

            viewModel.UpdateModels(waterQualityManagementPlan, waterQualityManagementPlanVerify, viewModel.WaterQualityManagementPlanVerifyQuickBMPSimples, viewModel.WaterQualityManagementPlanVerifyTreatmentBMPSimples, CurrentPerson);

            HttpRequestStorage.DatabaseEntities.WaterQualityManagementPlanVerifies.Add(waterQualityManagementPlanVerify);
            HttpRequestStorage.DatabaseEntities.SaveChanges();

            SetMessageForDisplay(
                $"Successfully updated {FieldDefinitionType.TreatmentBMP.GetFieldDefinitionLabelPluralized()} " + $"for {waterQualityManagementPlan.WaterQualityManagementPlanName}");

            return(RedirectToAction(new SitkaRoute <WaterQualityManagementPlanController>(c => c.Detail(waterQualityManagementPlan))));
        }
        public ActionResult EditWqmpParcels(WaterQualityManagementPlanPrimaryKey waterQualityManagementPlanPrimaryKey, EditWqmpParcelsViewModel viewModel)
        {
            var waterQualityManagementPlan = waterQualityManagementPlanPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewEditWqmpParcels(waterQualityManagementPlan, viewModel));
            }

            var oldBoundary = waterQualityManagementPlan.WaterQualityManagementPlanBoundary;

            viewModel.UpdateModels(waterQualityManagementPlan);
            SetMessageForDisplay($"Successfully edited {FieldDefinitionType.Parcel.GetFieldDefinitionLabelPluralized()} for {FieldDefinitionType.WaterQualityManagementPlan.GetFieldDefinitionLabel()}.");

            var newBoundary = waterQualityManagementPlan.WaterQualityManagementPlanBoundary;

            if (!(oldBoundary == null && newBoundary == null))
            {
                ModelingEngineUtilities.QueueLGURefreshForArea(oldBoundary, newBoundary);
            }

            NereidUtilities.MarkWqmpDirty(waterQualityManagementPlan, HttpRequestStorage.DatabaseEntities);

            return(RedirectToAction(new SitkaRoute <WaterQualityManagementPlanController>(c => c.Detail(waterQualityManagementPlan))));
        }
        public ViewResult EditSimplifiedStructuralBMPs(
            WaterQualityManagementPlanPrimaryKey waterQualityManagementPlanPrimaryKey)
        {
            var waterQualityManagementPlan = waterQualityManagementPlanPrimaryKey.EntityObject;
            var viewModel = new EditSimplifiedStructuralBMPsViewModel(waterQualityManagementPlan);

            return(ViewEditSimplifiedStructuralBMPs(waterQualityManagementPlan, viewModel));
        }
        public ViewResult EditSourceControlBMPs(
            WaterQualityManagementPlanPrimaryKey waterQualityManagementPlanPrimaryKey)
        {
            var waterQualityManagementPlan = waterQualityManagementPlanPrimaryKey.EntityObject;
            var sourceControlBMPAttributes = HttpRequestStorage.DatabaseEntities.SourceControlBMPAttributes.ToList();
            var viewModel = new EditSourceControlBMPsViewModel(waterQualityManagementPlan, sourceControlBMPAttributes);

            return(ViewEditSourceControlBMPs(waterQualityManagementPlan, viewModel));
        }
Пример #10
0
        public ActionResult New(WaterQualityManagementPlanPrimaryKey waterQualityManagementPlanPrimaryKey, NewViewModel viewModel)
        {
            var waterQualityManagementPlan = waterQualityManagementPlanPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewNew(viewModel));
            }

            viewModel.UpdateModel(waterQualityManagementPlan, CurrentPerson);
            SetMessageForDisplay($"Successfully created new document \"{viewModel.DisplayName}\".");

            return(new ModalDialogFormJsonResult());
        }
        public ActionResult Edit(WaterQualityManagementPlanPrimaryKey waterQualityManagementPlanPrimaryKey, EditViewModel viewModel)
        {
            var waterQualityManagementPlan = waterQualityManagementPlanPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewEdit(viewModel));
            }

            viewModel.UpdateModels(waterQualityManagementPlan);
            SetMessageForDisplay($"Successfully updated \"{waterQualityManagementPlan.WaterQualityManagementPlanName}\".");

            return(new ModalDialogFormJsonResult(
                       SitkaRoute <WaterQualityManagementPlanController> .BuildUrlFromExpression(c => c.Detail(waterQualityManagementPlan))));
        }
        public ActionResult Delete(WaterQualityManagementPlanPrimaryKey waterQualityManagementPlanPrimaryKey, ConfirmDialogFormViewModel viewModel)
        {
            var waterQualityManagementPlan = waterQualityManagementPlanPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewDelete(waterQualityManagementPlan, viewModel));
            }

            NereidUtilities.MarkDownstreamNodeDirty(waterQualityManagementPlan, HttpRequestStorage.DatabaseEntities);

            waterQualityManagementPlan.DeleteFull(HttpRequestStorage.DatabaseEntities);
            SetMessageForDisplay($"Successfully delete \"{waterQualityManagementPlan.WaterQualityManagementPlanName}\".");

            return(new ModalDialogFormJsonResult());
        }
        public ViewResult NewWqmpVerify(WaterQualityManagementPlanPrimaryKey waterQualityManagementPlanPrimaryKey)
        {
            var waterQualityManagementPlan = waterQualityManagementPlanPrimaryKey.EntityObject;
            var quickBMPs     = waterQualityManagementPlan.QuickBMPs.ToList();
            var treatmentBMPs = waterQualityManagementPlan.TreatmentBMPs.ToList();
            var waterQualityManagementPlanVerify = new WaterQualityManagementPlanVerify(
                waterQualityManagementPlan.WaterQualityManagementPlanID,
                ModelObjectHelpers.NotYetAssignedID,
                ModelObjectHelpers.NotYetAssignedID,
                CurrentPerson.PersonID,
                DateTime.Now,
                true,
                DateTime.Now);
            var viewModel = new NewWqmpVerifyViewModel(waterQualityManagementPlan, waterQualityManagementPlanVerify, quickBMPs, treatmentBMPs);

            return(ViewNewWqmpVerify(waterQualityManagementPlan, viewModel));
        }
        public ActionResult EditSourceControlBMPs(
            WaterQualityManagementPlanPrimaryKey waterQualityManagementPlanPrimaryKey,
            EditSourceControlBMPsViewModel viewModel)
        {
            var waterQualityManagementPlan = waterQualityManagementPlanPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewEditSourceControlBMPs(waterQualityManagementPlan, viewModel));
            }

            viewModel.UpdateModels(waterQualityManagementPlan, viewModel.SourceControlBMPSimples);
            SetMessageForDisplay(
                $"Successfully updated BMPs for {waterQualityManagementPlan.WaterQualityManagementPlanName}");

            NereidUtilities.MarkWqmpDirty(waterQualityManagementPlan, HttpRequestStorage.DatabaseEntities);

            return(RedirectToAction(new SitkaRoute <WaterQualityManagementPlanController>(c => c.Detail(waterQualityManagementPlanPrimaryKey))));
        }
        public ActionResult EditModelingApproach(WaterQualityManagementPlanPrimaryKey waterQualityManagementPlanPrimaryKey, EditModelingApproachViewModel viewModel)
        {
            var waterQualityManagementPlan = waterQualityManagementPlanPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewEditModelingApproach(viewModel));
            }
            viewModel.UpdateModel(waterQualityManagementPlan);

            if (waterQualityManagementPlan.WaterQualityManagementPlanBoundary != null)
            {
                ModelingEngineUtilities.QueueLGURefreshForArea(waterQualityManagementPlan.WaterQualityManagementPlanBoundary, null);
                NereidUtilities.MarkWqmpDirty(waterQualityManagementPlan, HttpRequestStorage.DatabaseEntities);
            }

            SetMessageForDisplay($"Modeling Approach successfully changed for {waterQualityManagementPlan.WaterQualityManagementPlanName}.");
            return(new ModalDialogFormJsonResult());
        }
        public GridJsonNetJObjectResult <Parcel> ParcelsForWaterQualityManagementPlanGridData(WaterQualityManagementPlanPrimaryKey waterQualityManagementPlanPlanPrimaryKey)
        {
            var waterQualityManagementPlan = waterQualityManagementPlanPlanPrimaryKey.EntityObject;
            var parcels  = waterQualityManagementPlan.WaterQualityManagementPlanParcels.Select(x => x.Parcel).OrderBy(x => x.ParcelNumber).ToList();
            var gridSpec = new ParcelGridSpec();

            return(new GridJsonNetJObjectResult <Parcel>(parcels, gridSpec));
        }
        public ViewResult Detail(WaterQualityManagementPlanPrimaryKey waterQualityManagementPlanPrimaryKey)
        {
            var waterQualityManagementPlan = waterQualityManagementPlanPrimaryKey.EntityObject;

            var parcels = waterQualityManagementPlan.WaterQualityManagementPlanParcels
                          .Select(x => x.Parcel).ToList();
            var parcelGeoJsonFeatureCollection = parcels.ToGeoJsonFeatureCollection();
            var treatmentBMPs = CurrentPerson.GetInventoriedBMPsForWQMP(waterQualityManagementPlanPrimaryKey);
            var treatmentBmpGeoJsonFeatureCollection =
                treatmentBMPs.ToGeoJsonFeatureCollection();

            treatmentBmpGeoJsonFeatureCollection.Features.ForEach(x =>
            {
                var treatmentBmpID = x.Properties.ContainsKey("TreatmentBMPID")
                    ? int.Parse(x.Properties["TreatmentBMPID"].ToString())
                    : (int?)null;
                if (treatmentBmpID != null)
                {
                    x.Properties.Add("PopupUrl", SitkaRoute <TreatmentBMPController> .BuildUrlFromExpression(c => c.MapPopup(treatmentBmpID)));
                }
            });

            //var boundingBoxGeometries = new List<DbGeometry>();
            //boundingBoxGeometries.AddRange(treatmentBMPs.Select(x=>x.LocationPoint4326));
            //boundingBoxGeometries.AddRange(parcels.Select(x=>x.ParcelGeometry4326));

            var layerGeoJsons = new List <LayerGeoJson>
            {
                new LayerGeoJson(FieldDefinitionType.Parcel.GetFieldDefinitionLabelPluralized(),
                                 parcelGeoJsonFeatureCollection,
                                 ParcelModelExtensions.ParcelColor,
                                 1,
                                 LayerInitialVisibility.Show),
                new LayerGeoJson(FieldDefinitionType.TreatmentBMP.GetFieldDefinitionLabelPluralized(),
                                 treatmentBmpGeoJsonFeatureCollection,
                                 "#935f59",
                                 1,
                                 LayerInitialVisibility.Show)
            };
            //var mapInitJson = new MapInitJson("waterQualityManagementPlanMap", 0, layerGeoJsons,
            //    new BoundingBox(boundingBoxGeometries));

            var mapInitJson = new MapInitJson("waterQualityManagementPlanMap", 0, layerGeoJsons,
                                              BoundingBox.MakeBoundingBoxFromLayerGeoJsonList(layerGeoJsons));

            if (treatmentBMPs.Any(x => x.Delineation != null))
            {
                mapInitJson.Layers.Add(StormwaterMapInitJson.MakeDelineationLayerGeoJson(
                                           treatmentBMPs.Where(x => x.Delineation != null).Select(x => x.Delineation)));
            }

            var waterQualityManagementPlanVerifies = HttpRequestStorage.DatabaseEntities.WaterQualityManagementPlanVerifies.Where(x =>
                                                                                                                                  x.WaterQualityManagementPlanID == waterQualityManagementPlan.PrimaryKey).OrderByDescending(x => x.VerificationDate).ToList();
            var waterQualityManagementPlanVerifyDraft = waterQualityManagementPlanVerifies.SingleOrDefault(x => x.IsDraft);

            var waterQualityManagementPlanVerifyQuickBMP =
                HttpRequestStorage.DatabaseEntities.WaterQualityManagementPlanVerifyQuickBMPs.Where(x =>
                                                                                                    x.WaterQualityManagementPlanVerify.WaterQualityManagementPlanID ==
                                                                                                    waterQualityManagementPlan.WaterQualityManagementPlanID).ToList();
            var waterQualityManagementPlanVerifyTreatmentBMP =
                HttpRequestStorage.DatabaseEntities.WaterQualityManagementPlanVerifyTreatmentBMPs.Where(x =>
                                                                                                        x.WaterQualityManagementPlanVerify.WaterQualityManagementPlanID ==
                                                                                                        waterQualityManagementPlan.WaterQualityManagementPlanID).ToList();

            var anyLspcBasins = waterQualityManagementPlan.WaterQualityManagementPlanBoundary != null && HttpRequestStorage.DatabaseEntities.LSPCBasins.Any(x =>
                                                                                                                                                            x.LSPCBasinGeometry.Intersects(waterQualityManagementPlan.WaterQualityManagementPlanBoundary));

            var dryWeatherFlowOverrides = DryWeatherFlowOverride.All;
            var waterQualityManagementPlanModelingApproaches = WaterQualityManagementPlanModelingApproach.All;

            var viewData = new DetailViewData(CurrentPerson, waterQualityManagementPlan,
                                              waterQualityManagementPlanVerifyDraft, mapInitJson, treatmentBMPs, new ParcelGridSpec(),
                                              waterQualityManagementPlanVerifies, waterQualityManagementPlanVerifyQuickBMP,
                                              waterQualityManagementPlanVerifyTreatmentBMP,
                                              new HRUCharacteristicsViewData(waterQualityManagementPlan,
                                                                             ((IHaveHRUCharacteristics)waterQualityManagementPlan).GetHRUCharacteristics().ToList()),
                                              anyLspcBasins, dryWeatherFlowOverrides, waterQualityManagementPlanModelingApproaches, new ModeledPerformanceViewData(waterQualityManagementPlan, CurrentPerson));

            return(RazorView <Detail, DetailViewData>(viewData));
        }