private PartialViewResult ViewNew(NewProjectAttachmentViewModel viewModel, Project project)
        {
            var attachmentTypes = project.GetValidAttachmentTypesForForms();

            Check.Assert(attachmentTypes != null, "Cannot find any valid attachment relationship types for this project.");
            var viewData = new NewProjectAttachmentViewData(attachmentTypes);

            return(RazorPartialView <NewProjectAttachment, NewProjectAttachmentViewData, NewProjectAttachmentViewModel>(viewData, viewModel));
        }
        public ActionResult New(ProjectPrimaryKey projectPrimaryKey, NewProjectAttachmentViewModel viewModel)
        {
            var project = projectPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                // remove the uploaded file because we can't really return the file back to the browser -- SMG
                viewModel.UploadedFile = null;
                return(ViewNew(viewModel, project));
            }

            viewModel.UpdateModel(project, CurrentFirmaSession);

            SetMessageForDisplay($"Successfully created new document \"{viewModel.DisplayName}\" for {FieldDefinitionEnum.Project.ToType().GetFieldDefinitionLabel()} \"{project.ProjectName}\".");

            return(new ModalDialogFormJsonResult());
        }
        public PartialViewResult New(ProjectPrimaryKey projectPrimaryKey)
        {
            var viewModel = new NewProjectAttachmentViewModel(projectPrimaryKey.EntityObject);

            return(ViewNew(viewModel, projectPrimaryKey.EntityObject));
        }