public ActionResult Add() { AddOutgoingViewModel outgoingLettersViewModel = new AddOutgoingViewModel { PageId = "CreateLetter" }; EmployeeManager employeeManager = new EmployeeManager(); CaseManager caseManager = new CaseManager(); TemplateManager templateManager = new TemplateManager(); PostManager postManager = new PostManager(); User currentUser = userManager.Read(new Guid(User.Identity.Name)); cUser = currentUser; //outgoingLettersViewModel.Departments = departmentManager.Read(null); // outgoingLettersViewModel.DepartmentJson = getWhileLoopDataDepartment(); //outgoingLettersViewModel.Organizations = organizationManager.Read(null); //outgoingLettersViewModel.FilterOrganizations = currentUser.FilterOrganizations.ToList(); // outgoingLettersViewModel.OrganizationJson = getWhileLoopDataOrganization(); // outgoingLettersViewModel.Posts = postManager.Read(null); // outgoingLettersViewModel.People = userManager.GetUserShowablePeopleList(currentUser); //outgoingLettersViewModel.FilterPersons = currentUser.FilterPeople.ToList(); // outgoingLettersViewModel.Employees = employeeManager.NoneDepartment(); // outgoingLettersViewModel.Cases = caseManager.Read(null); // outgoingLettersViewModel.Templates = templateManager.Read(null); //outgoingLettersViewModel.OrganizationFilterString = string.Join(",", currentUser.FilterOrganizations.Select(x => x.Id.ToString())); //outgoingLettersViewModel.PersonFilterString = string.Join(",", currentUser.FilterPeople.Select(x => x.Id.ToString())); //outgoingLettersViewModel.DepartmentString = string.Join(",", outgoingLettersViewModel.Departments.Select(x => x.Id.ToString())); return(View(outgoingLettersViewModel)); }
//[ValidateAntiForgeryToken] public ActionResult Add(AddOutgoingViewModel outgoingLettersViewModel) { SendLetterManager sendLetterManager = new SendLetterManager(); //Add letter files if (outgoingLettersViewModel.fileUploadLetters != null && outgoingLettersViewModel.fileUploadLetters.Count > 0) { outgoingLettersViewModel.sendLetter.sendLetterFiles = new List <SendLetterFile>(); // foreach (var item in outgoingLettersViewModel.fileUploadLetters) { if (item == null || item.ContentLength <= 0) { continue; } var target = new MemoryStream(); SendLetterFile sendLetterFile = new SendLetterFile(); item.InputStream.CopyTo(target); sendLetterFile.File = new ArchiveFile { Content = target.ToArray(), Name = item.FileName, ContentType = item.ContentType }; outgoingLettersViewModel.sendLetter.sendLetterFiles.Add(sendLetterFile); } } //Add letter appendages if (outgoingLettersViewModel.fileUploadAppendages != null && outgoingLettersViewModel.fileUploadAppendages.Count > 0) { outgoingLettersViewModel.sendLetter.Appendages = new List <SendAppendage>(); foreach (var item in outgoingLettersViewModel.fileUploadAppendages) { if (item == null || item.ContentLength <= 0) { continue; } var target = new MemoryStream(); var sendAppendage = new SendAppendage(); item.InputStream.CopyTo(target); sendAppendage.File = new ArchiveFile { Content = target.ToArray(), Name = item.FileName, ContentType = item.ContentType }; outgoingLettersViewModel.sendLetter.Appendages.Add(sendAppendage); } } //Date Times if (!string.IsNullOrEmpty(outgoingLettersViewModel.LetterDateTime)) { outgoingLettersViewModel.sendLetter.LetterDateTime = outgoingLettersViewModel.LetterDateTime.ToGeorgianDateTime(); } outgoingLettersViewModel.sendLetter.ArchiveDateTime = DateTime.Now; outgoingLettersViewModel.sendLetter.LastModifyDateTime = DateTime.Now; //outgoingLettersViewModel.sendLetter.User = Sessions.CurrentUser; sendLetterManager.AddUser(outgoingLettersViewModel.sendLetter, new Guid(User.Identity.Name)); //Set Parent Letter sendLetterManager.AddParent(outgoingLettersViewModel.sendLetter, outgoingLettersViewModel.ParentletterId); //Add organization , post and person if (outgoingLettersViewModel.PersonGuid != Guid.Empty || outgoingLettersViewModel.OrganizationGuid != Guid.Empty) { sendLetterManager.AddReciever(outgoingLettersViewModel.sendLetter, outgoingLettersViewModel.OrganizationGuid, outgoingLettersViewModel.PersonGuid, outgoingLettersViewModel.PostGuid); } //Add department , post and employee if (outgoingLettersViewModel.EmployeeGuid != Guid.Empty || outgoingLettersViewModel.DepartmentGuid != Guid.Empty) { sendLetterManager.AddSenderEmployee(outgoingLettersViewModel.sendLetter, outgoingLettersViewModel.DepartmentGuid, outgoingLettersViewModel.EmployeeGuid, outgoingLettersViewModel.DepartmentPostGuid); } //set rowNumber Logic outgoingLettersViewModel.sendLetter.RowNumber = outgoingLettersViewModel.autoRowNumber ? sendLetterManager.AutoRowNumber(outgoingLettersViewModel.sendLetter.SenderEmployee?.Department) : outgoingLettersViewModel.RowNumber; //Add cases if (outgoingLettersViewModel.SelectedCasesGuid != null && outgoingLettersViewModel.SelectedCasesGuid.Count > 0) { sendLetterManager.AddCases(outgoingLettersViewModel.sendLetter, outgoingLettersViewModel.SelectedCasesGuid); } //Start Processing Files and Appendages to Save them as pdf sendLetterManager.GeneratePDF(outgoingLettersViewModel.sendLetter, outgoingLettersViewModel.LetterTemplate); sendLetterManager.Add(outgoingLettersViewModel.sendLetter); sendLetterManager.saveChanges(); return(RedirectToAction("Index")); }