예제 #1
0
        public ActionResult Create(Guid id)
        {
            ApplicationUser userTable = _AccountService.FirstOrDefault(x => x.UserName == User.Identity.Name);

            if (userTable == null)
            {
                return(HttpNotFound());
            }

            EmplTable emplTable = _EmplService.FirstOrDefault(x => x.ApplicationUserId == userTable.Id);

            if (emplTable == null)
            {
                return(HttpNotFound());
            }

            ProcessView process   = _ProcessService.FindView(id);
            var         viewModel = new DocumentComposite();

            viewModel.ProcessView = process;
            viewModel.docData     = _DocumentService.RouteCustomModelView(process.TableName);
            viewModel.fileId      = Guid.NewGuid();

            return(View(viewModel));
        }
예제 #2
0
        private object InitialViewShowDocument(Guid id, ProcessView process, DocumentTable docuTable, ApplicationUser userTable, EmplTable emplTable)
        {
            var viewModel = new DocumentComposite();

            viewModel.ProcessView    = process;
            viewModel.DocumentTable  = docuTable;
            viewModel.docData        = _DocumentService.GetDocumentView(id);
            viewModel.fileId         = docuTable.FileId;
            viewModel.WFTrackerItems = _WorkflowTrackerService.GetPartialView(x => x.DocumentTableId == id);

            ViewBag.CreatedDate = _SystemService.ConvertDateTimeToLocal(userTable, docuTable.CreatedDate);
            if (emplTable != null)
            {
                ViewBag.Initiator      = emplTable.ApplicationUserId != null ? emplTable.FullName : docuTable.ApplicationUserCreatedId;
                ViewBag.TitleName      = emplTable.TitleTableId != null ? emplTable.TitleTable.TitleName : String.Empty;
                ViewBag.DepartmentName = emplTable.DepartmentTableId != null ? emplTable.DepartmentTable.DepartmentName : String.Empty;
                ViewBag.CompanyName    = emplTable.CompanyTableId != null ? emplTable.CompanyTable.AliasCompanyName : String.Empty;
            }
            else
            {
                ViewBag.Initiator      = String.Empty;
                ViewBag.TitleName      = String.Empty;
                ViewBag.DepartmentName = String.Empty;
                ViewBag.CompanyName    = String.Empty;
            }

            return(viewModel);
        }
예제 #3
0
        void Caller()
        {
            BaseDocument doc = new DocumentComposite()
            {
                docs = new List <BaseDocument>()
                {
                    new DocumentA(), new DocumentB()
                }
            };

            doc.Create();
        }
예제 #4
0
        /// <summary>
        /// Загрузить документ/комплект.
        /// </summary>
        /// <returns>Документ/комплект.</returns>
        public IDocumentComponent Load()
        {
            IdGenerator generator = IdGenerator.Instance;
            var         doc1      = new DocumentComponent("Документ 1", generator.GetId());
            var         doc2      = new DocumentComponent("Документ 2", generator.GetId());
            var         comp1     = new DocumentComposite("Комплект 1", generator.GetId());

            comp1.Add(doc1);
            comp1.Add(doc2);
            var doc3  = new DocumentComponent("Документ 3", generator.GetId());
            var comp2 = new DocumentComposite("Комплект 2", generator.GetId());

            comp2.Add(doc3);
            comp2.Add(comp1);

            return(comp2);
        }
예제 #5
0
        public ActionResult Create(Guid processId, dynamic docModel, Guid fileId, String actionModelName, IDictionary <string, object> documentData)
        {
            ProcessView process = _ProcessService.FindView(processId);

            if (ModelState.IsValid)
            {
                try
                {
                    //Save Document
                    var documentId = _DocumentService.SaveDocument(docModel, process.TableName, processId, fileId);
                    _ReviewDocLogService.SaveDomain(new ReviewDocLogTable {
                        DocumentTableId = documentId
                    });
                    _HistoryUserService.SaveDomain(new HistoryUserTable {
                        DocumentTableId = documentId, HistoryType = Models.Repository.HistoryType.NewDocument
                    });
                    SaveSearchData(docModel, actionModelName, documentId);
                    _WorkflowService.RunWorkflow(documentId, process.TableName, documentData);
                    _EmailService.SendInitiatorEmail(documentId);

                    return(RedirectToAction("Index", "Home"));
                }
                catch (Exception e)
                {
                    ModelState.AddModelError(string.Empty, e.Message);
                }
            }

            var viewModel = new DocumentComposite();

            viewModel.ProcessView = process;
            viewModel.docData     = docModel;
            viewModel.fileId      = fileId;

            return(View("Create", viewModel));
        }