public ActionResult Create(DepartmentViewModel viewModel) { var areas = _areaService.Get(properties: new[] { "Id", "AreaName" }).Select(p => new SelectListItem { Text = p.AreaName, Value = p.Id.ToString(), }).ToList(); ViewData["Areas"] = areas; var expression = new[] { new ExpressionCriteria{ PropertyName = "DEPT_INFO_ISDEL", Value = 0, Operate = Operator.Equal }, }; var deps = _departmentService.Get(expression).Select(p => new SelectListItem { Text = p.Name, Value = p.Id.ToString(), }).ToList(); ViewData["Departments"] = deps; if (viewModel.DepartmentContract.AreaId == default(Guid)) { ModelState.AddModelError("", "请选择区域"); } else if (viewModel.DepartmentContract.IsValid()) { var rs = _departmentService.Create(viewModel.DepartmentContract); if (rs != ResultStatus.Success) { ModelState.AddModelError("", rs == ResultStatus.Duplicate ? "记录已经存在" : "添加失败"); return View(new DepartmentViewModel(viewModel.DepartmentContract)); } return RedirectToAction("Index"); } ModelState.AddModelError("", viewModel.DepartmentContract.ErrorMessage); return View(new DepartmentViewModel(viewModel.DepartmentContract)); }
public ActionResult Update(DepartmentViewModel viewModel) { if (viewModel.DepartmentContract.AreaId == default(Guid)) { ModelState.AddModelError("", "请选择区域"); } else if (viewModel.DepartmentContract.IsValid()) { var status = _departmentService.Update(viewModel.DepartmentContract); switch (status) { case ResultStatus.Success: return RedirectToAction("Index"); case ResultStatus.Failed: ModelState.AddModelError("", string.Format("修改部门信息{0}失败", viewModel.DepartmentContract.Name)); break; } } var areas = _areaService.Get(properties: new[] { "Id", "AreaName" }).Select(p => new SelectListItem { Text = p.AreaName, Value = p.Id.ToString(), }).ToList(); ViewData["Areas"] = areas; ViewData["AreaItem"] = viewModel.DepartmentContract.AreaId; var expression = new[] { new ExpressionCriteria{ PropertyName = "DEPT_INFO_ISDEL", Value = 0, Operate = Operator.Equal }, new ExpressionCriteria{ PropertyName = "ParentId", Value = viewModel.DepartmentContract.Id.ToString(), Operate = Operator.NotEqual }, }; var deps = _departmentService.Get(expression).Select(p => new SelectListItem { Text = p.Name, Value = p.Id.ToString(), }).ToList(); ViewData["Departments"] = deps; ViewData["DepartItem"] = viewModel.DepartmentContract.ParentId; ModelState.AddModelError("", viewModel.DepartmentContract.ErrorMessage); var departmentInfo = _departmentService.Get(viewModel.DepartmentContract.Id); if (departmentInfo != null) { return View(new DepartmentViewModel(departmentInfo)); } throw new ItemNotExistException("指定部门不存在!"); }