private PartialViewResult ViewEdit(ProjectImageUpdate projectImageUpdate, EditViewModel viewModel)
        {
            var projectImageTimings = ProjectImageTiming.All.OrderBy(x => x.SortOrder).ToSelectListWithEmptyFirstRow(x => x.ProjectImageTimingID.ToString(CultureInfo.InvariantCulture), x => x.ProjectImageTimingDisplayName);
            var viewData            = new EditViewData(projectImageUpdate, projectImageTimings);

            return(RazorPartialView <Edit, EditViewData, EditViewModel>(viewData, viewModel));
        }
        private PartialViewResult ViewDeleteProjectImageUpdate(ProjectImageUpdate projectImageUpdate, ConfirmDialogFormViewModel viewModel)
        {
            var canDelete      = !projectImageUpdate.HasDependentObjects();
            var confirmMessage = canDelete
                ? $"Are you sure you want to flag this photo for deletion from {FieldDefinition.Project.GetFieldDefinitionLabel()} '{projectImageUpdate.ProjectUpdateBatch.Project.DisplayName}'? ({projectImageUpdate.Caption})"
                : ConfirmDialogFormViewData.GetStandardCannotDeleteMessage($"{FieldDefinition.Project.GetFieldDefinitionLabel()} Image");

            var viewData = new ConfirmDialogFormViewData(confirmMessage, canDelete);

            return(RazorPartialView <ConfirmDialogForm, ConfirmDialogFormViewData, ConfirmDialogFormViewModel>(viewData, viewModel));
        }
        public ActionResult New(ProjectUpdateBatchPrimaryKey projectUpdateBatchPrimaryKey, NewViewModel viewModel)
        {
            var projectUpdateBatch = projectUpdateBatchPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewNew(projectUpdateBatch, viewModel));
            }
            var projectImageUpdate = new ProjectImageUpdate(projectUpdateBatch, true);

            viewModel.UpdateModel(projectImageUpdate, CurrentPerson);
            projectUpdateBatch.ProjectImageUpdates.Add(projectImageUpdate);
            projectUpdateBatch.IsPhotosUpdated = true;
            projectUpdateBatch.TickleLastUpdateDate(CurrentPerson);
            return(new ModalDialogFormJsonResult());
        }