예제 #1
0
        public async Task <IActionResult> Delete(ProjectViewState model)
        {
            try
            {
                //check employees
                if ((await _employeeService.GetEmployeesInProject(model.ProjectId, true))?.Length > 0)
                {
                    throw new Exception("项目有人员不能删除");
                }
                //check in log
                if ((await _projectService.GetTransferInLogs(null, model.ProjectId, true))?.Length > 0)
                {
                    throw new Exception("项目已经存在调入日志");
                }
                //check out log
                if ((await _projectService.GetTransferOutLogs(null, model.ProjectId, true))?.Length > 0)
                {
                    throw new Exception("项目已经存在调出记录");
                }

                await _projectService.Delete(model.ProjectId);

                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception ex)
            {
                return(RedirectToAction(nameof(Edit), new { id = model.ProjectId, err = ex.Message }));
            }
        }
예제 #2
0
        public async Task <IActionResult> Edit(int?id, string err)
        {
            ProjectViewState model;

            if (id.HasValue)
            {
                model = await _projectService.GetProjectById(id.Value);
            }
            else
            {
                model = new ProjectViewState
                {
                    //ActiveStatus = true,
                    BeginDate = DateTime.Today,
                    EndDate   = DateTime.Today.AddYears(1),
                    State     = ProjectState.Preparing
                };
            }
            if (!string.IsNullOrWhiteSpace(err))
            {
                ModelState.AddModelError("", err);
            }

            return(View(model));
        }
예제 #3
0
        public async Task <IActionResult> Edit(ProjectViewState model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    Entity.Project project;
                    if (model.ProjectId > 0)
                    {
                        project = await _projectService.GetProjectById(model.ProjectId);

                        if (project == null || project.ID <= 0)
                        {
                            throw new Exception("没有找到要保存的项目");
                        }
                    }
                    else
                    {
                        project = new Entity.Project();
                        //{
                        //    CreatedBy = UserHelper.GetUserID(HttpContext),
                        //    CreatedOn = DateTime.Now,
                        //};
                    }
                    //project.ActiveStatus = model.ActiveStatus;
                    project.ContractCode   = model.ContractCode;
                    project.EndTime        = model.EndDate;
                    project.FullName       = model.FullName;
                    project.Owner          = model.Owner;
                    project.ShortName      = model.ShortName;
                    project.SitePlace      = model.SitePlace;
                    project.StartTime      = model.BeginDate;
                    project.Status         = (int)model.State;
                    project.ContractAmount = model.ContractAmount == null ? 0 : model.ContractAmount.Value;

                    await _projectService.SaveProject(project);

                    return(RedirectToAction(nameof(Index)));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
            }
            return(View(model));
        }
예제 #4
0
 public void ShowNewStoryMenu()
 {
     ProjectViewState = ProjectViewState.NewStory;
     NewStoryButtons.SetActive(true);
     MainMenuButtons.SetActive(false);
 }