コード例 #1
0
        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));
        }
コード例 #2
0
        //[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"));
        }