public ActionResult SubmittalStart(int organizationId, int CERSID) { var viewModel = SystemViewModelData.BuildUpSubmittalStartViewModel(CERSID); //Validate each submittal element before the official submit foreach (var submittalElement in viewModel.CurrentSubmittalElementViewModelCollection.Where(f => f.FacilitySubmitalElement != null && f.FacilitySubmitalElement.StatusID == (int)SubmittalElementStatus.Draft).Select(c => c.FacilitySubmitalElement)) { var fse = Repository.FacilitySubmittalElements.GetByID(submittalElement.ID); fse.ValidateAndCommitResults(Repository, CallerContext.UI); } viewModel = SystemViewModelData.BuildUpSubmittalStartViewModel(CERSID); return(View(viewModel)); }
public ActionResult SubmittalStart(int organizationId, int CERSID, FormCollection form) { var viewModel = SystemViewModelData.BuildUpSubmittalStartViewModel(CERSID); var isFacilityInfoChecked = false; var fseIDs = string.Empty; DateTime submittedDate = DateTime.Now; //Create FacilitySubmittalRecord FacilitySubmittal facilitySubmittal = new FacilitySubmittal(); facilitySubmittal.ReceivedOn = DateTime.Now; facilitySubmittal.SubmittedOn = submittedDate; Repository.FacilitySubmittals.Create(facilitySubmittal); foreach (var submittal in viewModel.ReadyToSubmitCollection) { var FSEIDValue = form[string.Format("submittCheckBox_{0}", submittal.CurrentSubmittalElement.SubmittalElementID)]; var comments = form[string.Format("regulatorText_{0}", submittal.CurrentSubmittalElement.SubmittalElementID)]; if (!string.IsNullOrWhiteSpace(FSEIDValue)) { FacilitySubmittalElement submittalElement = Repository.FacilitySubmittalElements.GetByID(submittal.CurrentSubmittalElement.FSEID.Value); //We do not want to submit unless the Faciilty Info Submittal Element has been chekced. if (isFacilityInfoChecked || submittalElement.SubmittalElementID == (int)CERS.SubmittalElementType.FacilityInformation) { submittalElement.SubmittedByComments = comments; Repository.FacilitySubmittalElements.Submit(submittalElement, facilitySubmittal); isFacilityInfoChecked = true; fseIDs += "," + submittalElement.ID.ToString(); Services.BusinessLogic.SubmittalElements.SetLastFacilityInfoSubmittal(submittalElement); } } } Facility facility = Repository.Facilities.GetByID(CERSID); Repository.Organizations.Save(facility.Organization); Services.Events.CreateFacilitySubmittalNotification(facility, facilitySubmittal); if (fseIDs.Length > 1) { fseIDs = fseIDs.Remove(0, 1); } return(RedirectToRoute(GetRouteName(Part.Submittal, Part.Finish), new { organizationID = organizationId, CERSID = CERSID, FSID = facilitySubmittal.ID })); }