public ViewResult EditLocation(OnlandVisualTrashAssessmentAreaPrimaryKey onlandVisualTrashAssessmentAreaPrimaryKey)
        {
            var onlandVisualTrashAssessmentArea = onlandVisualTrashAssessmentAreaPrimaryKey.EntityObject;
            var viewModel = new EditLocationViewModel(onlandVisualTrashAssessmentArea);

            return(ViewEditLocation(onlandVisualTrashAssessmentArea, viewModel));
        }
        public PartialViewResult EditBasics(OnlandVisualTrashAssessmentAreaPrimaryKey onlandVisualTrashAssessmentAreaPrimaryKey)
        {
            var onlandVisualTrashAssessmentArea = onlandVisualTrashAssessmentAreaPrimaryKey.EntityObject;
            var viewModel = new EditBasicsViewModel(onlandVisualTrashAssessmentArea);

            return(ViewEditBasics(onlandVisualTrashAssessmentArea, viewModel));
        }
        public PartialViewResult NewAssessment(OnlandVisualTrashAssessmentAreaPrimaryKey onlandVisualTrashAssessmentAreaPrimaryKey)
        {
            var onlandVisualTrashAssessmentArea = onlandVisualTrashAssessmentAreaPrimaryKey.EntityObject;
            var viewModel = new ConfirmDialogFormViewModel(onlandVisualTrashAssessmentArea.OnlandVisualTrashAssessmentAreaID);

            return(ViewNewAssessment(onlandVisualTrashAssessmentArea, viewModel));
        }
        public ViewResult Detail(OnlandVisualTrashAssessmentAreaPrimaryKey onlandVisualTrashAssessmentAreaPrimaryKey)
        {
            var onlandVisualTrashAssessmentArea = onlandVisualTrashAssessmentAreaPrimaryKey.EntityObject;
            var geoJsonFeatureCollection        =
                new List <OnlandVisualTrashAssessmentArea> {
                onlandVisualTrashAssessmentArea
            }
            .ToGeoJsonFeatureCollection();


            var observationsLayerGeoJson = onlandVisualTrashAssessmentArea.GetTransectBackingAssessment()?.OnlandVisualTrashAssessmentObservations.MakeObservationsLayerGeoJson();


            var assessmentAreaLayerGeoJson = new LayerGeoJson("assessmentArea", geoJsonFeatureCollection,
                                                              "#ffff00", .5m,
                                                              LayerInitialVisibility.Show);

            var transectLineLayerGeoJson = onlandVisualTrashAssessmentArea.GetTransectLineLayerGeoJson();

            var mapInitJson = new OVTAAreaMapInitJson("ovtaAreaMap", assessmentAreaLayerGeoJson, transectLineLayerGeoJson, observationsLayerGeoJson);
            var newUrl      = SitkaRoute <OnlandVisualTrashAssessmentAreaController> .BuildUrlFromExpression(x => x.NewAssessment(onlandVisualTrashAssessmentArea));

            var editDetailsUrl =
                SitkaRoute <OnlandVisualTrashAssessmentAreaController> .BuildUrlFromExpression(x => x.EditBasics(onlandVisualTrashAssessmentArea));

            var confirmEditLocationUrl =
                SitkaRoute <OnlandVisualTrashAssessmentAreaController> .BuildUrlFromExpression(x => x.ConfirmEditLocation(onlandVisualTrashAssessmentArea));

            var viewData = new Views.OnlandVisualTrashAssessmentArea.DetailViewData(CurrentPerson,
                                                                                    onlandVisualTrashAssessmentArea, mapInitJson, newUrl, editDetailsUrl, confirmEditLocationUrl);

            return(RazorView <Views.OnlandVisualTrashAssessmentArea.Detail, Views.OnlandVisualTrashAssessmentArea.DetailViewData>(viewData));
        }
        public ActionResult ConfirmEditLocation(OnlandVisualTrashAssessmentAreaPrimaryKey onlandVisualTrashAssessmentAreaPrimaryKey)
        {
            var onlandVisualTrashAssessmentArea = onlandVisualTrashAssessmentAreaPrimaryKey.EntityObject;

            var viewModel = new ConfirmDialogFormViewModel(onlandVisualTrashAssessmentArea.OnlandVisualTrashAssessmentAreaID);

            return(ViewConfirmEditLocationOnlandVisualTrashAssessmentArea(onlandVisualTrashAssessmentArea, viewModel));
        }
        public PartialViewResult TrashMapAssetPanel(
            OnlandVisualTrashAssessmentAreaPrimaryKey onlandVisualTrashAssessmentAreaPrimaryKey)
        {
            var onlandVisualTrashAssessmentArea = onlandVisualTrashAssessmentAreaPrimaryKey.EntityObject;
            var viewData = new TrashMapAssetPanelViewData(CurrentPerson, onlandVisualTrashAssessmentArea);

            return(RazorPartialView <TrashMapAssetPanel, TrashMapAssetPanelViewData>(viewData));
        }
        public JsonResult ParcelsViaTransect(
            OnlandVisualTrashAssessmentAreaPrimaryKey onlandVisualTrashAssessmentAreaPrimaryKey)
        {
            var onlandVisualTrashAssessmentArea = onlandVisualTrashAssessmentAreaPrimaryKey.EntityObject;


            return(Json(new { ParcelIDs = HttpRequestStorage.DatabaseEntities.Parcels.Where(x => x.ParcelGeometry.Intersects(onlandVisualTrashAssessmentArea.TransectLine)).Select(x => x.ParcelID).ToList() }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult EditBasics(OnlandVisualTrashAssessmentAreaPrimaryKey onlandVisualTrashAssessmentAreaPrimaryKey, EditBasicsViewModel viewModel)
        {
            var onlandVisualTrashAssessmentArea = onlandVisualTrashAssessmentAreaPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewEditBasics(onlandVisualTrashAssessmentArea, viewModel));
            }

            viewModel.UpdateModel(onlandVisualTrashAssessmentArea);
            SetMessageForDisplay("Successfully updated OVTA Area details");

            return(new ModalDialogFormJsonResult(onlandVisualTrashAssessmentArea.GetDetailUrl()));
        }
        public ActionResult EditLocation(OnlandVisualTrashAssessmentAreaPrimaryKey onlandVisualTrashAssessmentAreaPrimaryKey, EditLocationViewModel viewModel)
        {
            var onlandVisualTrashAssessmentArea = onlandVisualTrashAssessmentAreaPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewEditLocation(onlandVisualTrashAssessmentArea, viewModel));
            }

            viewModel.UpdateModel(onlandVisualTrashAssessmentArea);

            SetMessageForDisplay("Successfully updated OVTA Area location");

            return(Redirect(
                       SitkaRoute <OnlandVisualTrashAssessmentAreaController> .BuildUrlFromExpression(x =>
                                                                                                      x.Detail(onlandVisualTrashAssessmentAreaPrimaryKey))));
        }
        public ActionResult Delete(OnlandVisualTrashAssessmentAreaPrimaryKey onlandVisualTrashAssessmentAreaPrimaryKey, ConfirmDialogFormViewModel viewModel)
        {
            var onlandVisualTrashAssessmentArea = onlandVisualTrashAssessmentAreaPrimaryKey.EntityObject;

            var assessmentCount = onlandVisualTrashAssessmentArea.OnlandVisualTrashAssessments.Count;

            Check.Assert(assessmentCount == 0, $"The Assessment Area {onlandVisualTrashAssessmentArea.OnlandVisualTrashAssessmentAreaName} cannot be deleted because it has {assessmentCount} Assessment(s) which must be deleted first.");

            if (!ModelState.IsValid)
            {
                return(ViewDeleteOnlandVisualTrashAssessmentArea(onlandVisualTrashAssessmentArea, viewModel));
            }

            onlandVisualTrashAssessmentArea.Delete(HttpRequestStorage.DatabaseEntities);
            HttpRequestStorage.DatabaseEntities.SaveChanges();

            SetMessageForDisplay(
                $"Successfully deleted the assessment area, {onlandVisualTrashAssessmentArea.OnlandVisualTrashAssessmentAreaName}.");
            return(new ModalDialogFormJsonResult(SitkaRoute <OnlandVisualTrashAssessmentController> .BuildUrlFromExpression(c => c.Index())));
        }
        public ActionResult NewAssessment(
            OnlandVisualTrashAssessmentAreaPrimaryKey onlandVisualTrashAssessmentAreaPrimaryKey, ConfirmDialogFormViewModel viewModel)
        {
            var onlandVisualTrashAssessmentArea = onlandVisualTrashAssessmentAreaPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewNewAssessment(onlandVisualTrashAssessmentArea, viewModel));
            }

            var onlandVisualTrashAssessment = new OnlandVisualTrashAssessment(CurrentPerson, DateTime.Now, onlandVisualTrashAssessmentArea.StormwaterJurisdiction,
                                                                              OnlandVisualTrashAssessmentStatus.InProgress, false, false)
            {
                OnlandVisualTrashAssessmentAreaID = onlandVisualTrashAssessmentArea.OnlandVisualTrashAssessmentAreaID,
                AssessingNewArea = false
            };

            HttpRequestStorage.DatabaseEntities.OnlandVisualTrashAssessments.Add(onlandVisualTrashAssessment);
            HttpRequestStorage.DatabaseEntities.SaveChanges();

            return(new ModalDialogFormJsonResult(
                       SitkaRoute <OnlandVisualTrashAssessmentController> .BuildUrlFromExpression(x => x.RecordObservations(onlandVisualTrashAssessment))));
        }
 public ActionResult ConfirmEditLocation(OnlandVisualTrashAssessmentAreaPrimaryKey onlandVisualTrashAssessmentAreaPrimaryKey, ConfirmDialogFormViewModel viewModel)
 {
     return(new ModalDialogFormJsonResult(SitkaRoute <OnlandVisualTrashAssessmentAreaController> .BuildUrlFromExpression(c => c.EditLocation(onlandVisualTrashAssessmentAreaPrimaryKey))));
 }
        public GridJsonNetJObjectResult <OnlandVisualTrashAssessment> OVTAGridJsonDataForAreaDetails(OnlandVisualTrashAssessmentAreaPrimaryKey onlandVisualTrashAssessmentAreaPrimaryKey)
        {
            var onlandVisualTrashAssessments = GetOVTAsAndGridSpec(out var gridSpec, CurrentPerson, onlandVisualTrashAssessmentAreaPrimaryKey.EntityObject);
            var gridJsonNetJObjectResult     =
                new GridJsonNetJObjectResult <OnlandVisualTrashAssessment>(onlandVisualTrashAssessments, gridSpec);

            return(gridJsonNetJObjectResult);
        }