Exemplo n.º 1
0
        public string SaveDetails(DraftTaskViewModel model)
        {
            StartExecuteProcess(model, model.DepartmentExecute);
            string url = Url.Action("Index", "Home");

            return(url);
        }
Exemplo n.º 2
0
        /// <summary>
        /// создаем работу на бригаду
        /// </summary>
        /// <param name="model"></param>
        /// <param name="depId"></param>
        /// <returns></returns>
        private string StartExecuteProcess(DraftTaskViewModel model, int depId)
        {
            StringBuilder res = new StringBuilder();

            try
            {
                var dep  = dbContext.Departments.Find(depId);
                var user = dbContext.Users.Find(dep.UserGroupManager.Id);

                var status  = dbContext.Status.FirstOrDefault(x => x.Name.Equals("Назначен"));
                var status2 = dbContext.Status.FirstOrDefault(x => x.Name.Equals("Исполнен"));
                var status3 = dbContext.Status.FirstOrDefault(x => x.Name.Equals("На исполнении"));


                var draftTask = dbContext.DraftTasks.Find(model.Id);
                draftTask.Text    = model.Text;
                draftTask.Theme   = model.Theme;
                draftTask.DueDate = model.DueDate;
                dbContext.DraftTasks.Attach(draftTask);
                dbContext.Entry(draftTask).State = EntityState.Modified;

                var session = dbContext.ProcessSessions.Create();
                session.Created  = DateTime.Now;
                session.Request  = draftTask;
                session.Status   = status3;
                session.ExecDeps = new List <ExecDep>();

                session = dbContext.ProcessSessions.Add(session);


                var newExecDep = dbContext.ExecDeps.Create();
                newExecDep.Department = dep;
                newExecDep.Status     = status;
                newExecDep.DueDate    = model.DueDate;
                newExecDep.Created    = DateTime.Now;
                newExecDep.Request    = draftTask;

                var newExecutor = dbContext.Executors.Create();
                newExecutor.Created    = DateTime.Now;
                newExecutor.Status     = status;
                newExecutor.UserAssign = user;
                newExecutor.Request    = draftTask;
                newExecutor.DueDate    = model.DueDate;
                newExecutor.Type       = ExecutorType.GroupManager;
                if (newExecDep.Executors == null)
                {
                    newExecDep.Executors = new List <Executor>();
                }
                newExecDep.Executors.Add(newExecutor);
                session.ExecDeps.Add(newExecDep);
                dbContext.SaveChanges();
            }
            catch (Exception ex)
            {
                return(ex.Message + " " + ex.StackTrace);
            }
            return(res.ToString());
        }
Exemplo n.º 3
0
        public ActionResult ThemeDetails(Guid id)
        {
            var themeAndText = GetThemeAndText(id);

            var model = new DraftTaskViewModel()
            {
                Id = themeAndText.Id
            };

            model.Theme = themeAndText.Theme;
            return(PartialView(model));
        }
Exemplo n.º 4
0
        /// <summary>
        /// Получаем тему и текст
        /// </summary>
        /// <param name="draftOMId"></param>
        /// <returns></returns>
        public DraftTaskViewModel GetThemeAndText(Guid draftOMId)
        {
            var draftTask = dbContext.DraftTasks.Find(draftOMId);

            if (draftTask == null)
            {
                throw new ValidateException("Не найдена задача с ИД " + draftOMId.ToString(), null);
            }
            var themeAndText = new DraftTaskViewModel()
            {
                Id    = draftTask.Id,
                Theme = draftTask.Theme,
                Text  = draftTask.Text
            };

            return(themeAndText);
        }
Exemplo n.º 5
0
        /// <summary>
        /// получаем проект задачи
        /// </summary>
        /// <param name="draftTaskOMId"></param>
        /// <returns></returns>
        private DraftTaskViewModel GetDraftTusk(Guid draftTaskOMId)
        {
            var draftTask = dbContext.DraftTasks.FirstOrDefault(x => x.Id == draftTaskOMId);

            if (draftTask == null)
            {
                return(null);
            }
            /*Создаем автомапер для передачи информации об согласующих и утверждающем внутри подразделения*/

            /*Формируем модель*/
            var draftTaskVm = new DraftTaskViewModel()
            {
                Text  = draftTask.Text,
                Theme = draftTask.Theme,
                Id    = draftTask.Id,
            };

            /*Мапим согласующих и утверждающего*/
            return(draftTaskVm);
        }
        public async Task <ActionResult> MainDetails(Guid id)
        {
            var model = await Task.Run(() =>
            {
                var tuskVm = new DraftTaskViewModel();
                tuskVm     = GetDraftTusk(id);
                if (tuskVm == null)
                {
                    return(null);
                }
                return(tuskVm);
            });

            if (model == null)
            {
                TempData["alert"]   = "alert-danger";
                TempData["message"] = "Не найдена СЗ с ИД " + id.ToString();
                return(RedirectToAction("Index"));
            }

            return(PartialView(model));
        }