public ActionResult Add() { AddIncomingLettersViewModel incomingLettersViewModel = new AddIncomingLettersViewModel() { PageId = "IncomingArchive" }; OrganizationManager organizationManager = new OrganizationManager(); //DepartmentManager departmentManager = new DepartmentManager(); PersonManager personManager = new PersonManager(); PostManager postManager = new PostManager(); CaseManager caseManager = new CaseManager(); User currentUser = userManager.Read(new Guid(User.Identity.Name)); cUser = currentUser; //incomingLettersViewModel.Organizations = organizationManager.Read(null); //incomingLettersViewModel.FilterOrganizations = currentUser.FilterOrganizations.ToList(); incomingLettersViewModel.OrganizationJson = getWhileLoopData(); incomingLettersViewModel.People = userManager.GetUserShowablePeopleList(currentUser); //incomingLettersViewModel.FilterPersons = currentUser.FilterPeople.ToList(); incomingLettersViewModel.Cases = caseManager.Read(null); incomingLettersViewModel.Posts = postManager.Read(null); //incomingLettersViewModel.OrganizationFilterString = string.Join(",", currentUser.FilterOrganizations.Select(x => x.Id.ToString())); //incomingLettersViewModel.PersonFilterString = string.Join(",", currentUser.FilterPeople.Select(x => x.Id.ToString())); //incomingLettersViewModel.receivedLetter = new ReceivedLetter(); return(View(incomingLettersViewModel)); }
public ActionResult Add(AddIncomingLettersViewModel incomingLettersViewModel) { ReceiveLetterManager receiveLetterManager = new ReceiveLetterManager(); //Add letter files if (incomingLettersViewModel.FileUploadLetters != null && incomingLettersViewModel.FileUploadLetters.Count > 0) { incomingLettersViewModel.receivedLetter.ReceiveLetterFiles = new List <ReceiveLetterFile>(); foreach (var item in incomingLettersViewModel.FileUploadLetters) { if (item == null || item.ContentLength <= 0) { continue; } var target = new MemoryStream(); ReceiveLetterFile receiveLetterFile = new ReceiveLetterFile(); item.InputStream.CopyTo(target); receiveLetterFile.File = new ArchiveFile { Content = target.ToArray(), Name = item.FileName, ContentType = item.ContentType }; incomingLettersViewModel.receivedLetter.ReceiveLetterFiles.Add(receiveLetterFile); } } //Add letter appendages if (incomingLettersViewModel.FileUploadAppendages != null && incomingLettersViewModel.FileUploadAppendages.Count > 0) { incomingLettersViewModel.receivedLetter.Appendages = new List <ReceiveAppendage>(); foreach (var item in incomingLettersViewModel.FileUploadAppendages) { if (item != null && item.ContentLength > 0) { var target = new MemoryStream(); ReceiveAppendage receiveAppendage = new ReceiveAppendage(); item.InputStream.CopyTo(target); receiveAppendage.File = new ArchiveFile { Content = target.ToArray(), Name = item.FileName, ContentType = item.ContentType }; incomingLettersViewModel.receivedLetter.Appendages.Add(receiveAppendage); } } } //Date Times if (!string.IsNullOrEmpty(incomingLettersViewModel.LetterDateTime)) { incomingLettersViewModel.receivedLetter.LetterDateTime = incomingLettersViewModel.LetterDateTime.ToGeorgianDateTime(); } incomingLettersViewModel.receivedLetter.ArchiveDateTime = DateTime.Now; incomingLettersViewModel.receivedLetter.LastModifyDateTime = DateTime.Now; //Row number and user incomingLettersViewModel.receivedLetter.RowNumber = incomingLettersViewModel.RowNumber; receiveLetterManager.AddUser(incomingLettersViewModel.receivedLetter, new Guid(User.Identity.Name)); //Set Parent Letter receiveLetterManager.SetParent(incomingLettersViewModel.receivedLetter, incomingLettersViewModel.ParentletterId); //Add organization , post and person if (incomingLettersViewModel.PersonGuid != Guid.Empty || incomingLettersViewModel.OrganizationGuid != Guid.Empty) { receiveLetterManager.AddSender(incomingLettersViewModel.receivedLetter, incomingLettersViewModel.OrganizationGuid, incomingLettersViewModel.PersonGuid, incomingLettersViewModel.PostGuid); } //Add cases if (incomingLettersViewModel.SelectedCasesGuid != null && incomingLettersViewModel.SelectedCasesGuid.Count > 0) { receiveLetterManager.AddCases(incomingLettersViewModel.receivedLetter, incomingLettersViewModel.SelectedCasesGuid); } //Add 3 pdf to db receiveLetterManager.GeneratePDF(incomingLettersViewModel.receivedLetter); //Add letter to db and save changes receiveLetterManager.Add(incomingLettersViewModel.receivedLetter); receiveLetterManager.saveChanges(); return(RedirectToAction("Index")); }