public HttpResponseMessage GetAllDepartments() { try { HttpResponseMessage httpResponse = new HttpResponseMessage(); DepartmentDomainModel objRes = new DepartmentDomainModel(); objRes.listDepartments = managementRepository.GetDepartments(); if (objRes.listDepartments != null) { objRes.isSuccess = true; objRes.response = "Success"; httpResponse = Request.CreateResponse(HttpStatusCode.OK, objRes); } else { httpResponse = Request.CreateResponse(HttpStatusCode.Unauthorized, objRes); } return(httpResponse); } catch (Exception ex) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.InternalServerError) { Content = new StringContent("An error occurred, please try again or contact the administrator."), ReasonPhrase = "An error occurred, please try again or contact the administrator.", StatusCode = HttpStatusCode.InternalServerError }); } }
/// <summary> /// 从数据库获取部门结构树。 /// </summary> /// <returns></returns> private void GetDepartmentTreeByParentIdFromDatabase(DepartmentDomainModel tree, string parentId) { List <DepartmentInfoModel> list = GetDepartmentInfoByParentIdFromDatabase(parentId); if (list != null && list.Count > 0) { tree.ChildDepartment = new Dictionary <string, DepartmentDomainModel>(); DepartmentDomainModel node = null; foreach (DepartmentInfoModel item in list) { node = new DepartmentDomainModel(); node.DepartmentId = item.DepartmentId; node.MemberTotal = GetDepartmentMemberTotal(item.DepartmentId); node.ParentId = item.ParentId; node.DepartmentName = item.DepartmentName; node.Description = item.Description; node.ChildDepartment = new Dictionary <string, DepartmentDomainModel>(); GetDepartmentTreeByParentIdFromDatabase(node, node.DepartmentId); tree.ChildDepartment.Add(node.DepartmentId, node); } } else { tree.ChildDepartment = null; } }
public void DataToDomainModelMustMatch() { var timeStamp = DateTime.Now; var sourceDataModel = new Department() { ID = 1, Created = timeStamp, RowVersion = "rowversion", Description = "This is a Test Department", Name = "Test Department" }; var expectedDomainModel = new DepartmentDomainModel() { ID = 1, Created = timeStamp, RowVersion = "rowversion", Description = "This is a Test Department", Name = "Test Department" }; var mappedDomainModel = _mapper.Map <IDepartmentDomainModel>(sourceDataModel); mappedDomainModel.Should().BeEquivalentTo(expectedDomainModel); }
/// <summary> /// 根据ID删除部门信息。 /// </summary> /// <param name="departmentId"></param> /// <param name="message"></param> /// <returns></returns> public bool DeleteDepartmentById(string departmentId, out string message) { bool result = false; message = "成功删除该部门"; DepartmentDomainModel model = GetDepartmentDomainInfoById(departmentId); if (model == null) { message = "该部门信息不存在"; return(false); } if (model.ChildDepartment != null && model.ChildDepartment.Count > 0) { message = "操作失败,该部门包含下级部门,请移除后再试"; return(false); } if (model.MemberTotal > 0) { message = "操作失败,该部门包含成员用户,请移除后再试"; return(false); } try { BeginTransaction(); string sql = @" UPDATE user_info SET department_id = NULL WHERE department_id = $department_id$ "; ParameterCollection pc = new ParameterCollection(); pc.Add("department_id", departmentId); if (Delete(departmentId) > 0) { result = ExecuteNonQuery(sql, pc) >= 0; if (result) { CommitTransaction(); GetDepartmentTree(true); } } } catch (Exception ex) { RollbackTransaction(); LogUtil.Error("删除部门信息异常", ex); throw ex; } return(result); }
public DepartmentDomainModel GetSingleDepartment(int departID) { DepartmentDomainModel single = db.DEPARTMENTs.Where(t => t.DEPARTMENT_ID == departID).Select(t => new DepartmentDomainModel { DEPARTMENT_ID = t.DEPARTMENT_ID, DEPARTMENT_NAME = t.DEPARTMENT_NAME, DEPARTMENT_HEAD = t.DEPARTMENT_HEAD }).First(); return(single); }
public void GetDepartmentTreeFromDatabaseTest() { DepartmentInfoService_Accessor target = new DepartmentInfoService_Accessor(); // TODO: 初始化为适当的值 DepartmentDomainModel expected = null; // TODO: 初始化为适当的值 DepartmentDomainModel actual; actual = target.GetDepartmentTreeFromDatabase(); Assert.AreEqual(expected, actual); Assert.Inconclusive("验证此测试方法的正确性。"); }
/// <summary> /// 从数据库获取部门结构树。 /// </summary> /// <returns></returns> private DepartmentDomainModel GetDepartmentTreeFromDatabase() { DepartmentDomainModel tree = new DepartmentDomainModel(); tree.DepartmentName = "根节点"; tree.DepartmentId = null; tree.ParentId = null; GetDepartmentTreeByParentIdFromDatabase(tree, null); return(tree); }
/// <summary> /// 获取部门结构树。 /// </summary> /// <param name="clearCache"></param> /// <returns></returns> public DepartmentDomainModel GetDepartmentTree(bool clearCache) { string cacheKey = CacheKey.DEPARTMENT_TREE; DepartmentDomainModel tree = CacheUtil.Get <DepartmentDomainModel>(cacheKey); if (tree == null || clearCache) { tree = GetDepartmentTreeFromDatabase(); if (tree != null) { CacheUtil.Set(cacheKey, tree); } } return(tree); }
public ActionResult AddUpdateDepartment(DepartmentDomainModel model) { if (model != null) { var serialized = new JavaScriptSerializer().Serialize(model); var client = new HttpClient(); var content = new StringContent(serialized, System.Text.Encoding.UTF8, "application/json"); client.BaseAddress = new Uri(HttpContext.Request.Url.AbsoluteUri); var result = client.PostAsync(BaseURL + "/api/Management/AddupdateDepartment", content).Result; if (result.StatusCode == HttpStatusCode.OK) { var contents = result.Content.ReadAsStringAsync().Result; var Response = new JavaScriptSerializer().Deserialize <ResponseModel>(contents); } } return(RedirectToAction("_Departments")); }
/// <summary> /// 根据部门ID从缓存的部门结构树中获取实体。 /// </summary> /// <param name="tree"></param> /// <param name="departmentId"></param> /// <returns></returns> private DepartmentDomainModel GetDepartmentDomainModelFromTree(DepartmentDomainModel tree, string departmentId) { DepartmentDomainModel result = null; if (tree.DepartmentId == departmentId) { return(tree); } if (tree.ChildDepartment != null && tree.ChildDepartment.Count > 0) { foreach (DepartmentDomainModel child in tree.ChildDepartment.Values) { result = GetDepartmentDomainModelFromTree(child, departmentId); if (result != null) { return(result); } } } return(null); }
public HttpResponseMessage AddUpdateDepartment(DepartmentDomainModel model) { try { HttpResponseMessage httpResponse = new HttpResponseMessage(); ResponseDomainModel res = new ResponseDomainModel(); if (model != null && !string.IsNullOrWhiteSpace(model.DepartmentName)) { res = managementRepository.AddUpdateDepartment(model); if (res != null && res.isSuccess) { httpResponse = Request.CreateResponse(HttpStatusCode.OK, res); } else { httpResponse = Request.CreateResponse(HttpStatusCode.Unauthorized, res); } } else { res.isSuccess = false; res.response = "Please enter department name"; httpResponse = Request.CreateResponse(HttpStatusCode.Unauthorized, res); } return(httpResponse); } catch (Exception ex) { ErrorLog.LogError(ex); throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.InternalServerError) { Content = new StringContent("An error occurred, please try again or contact the administrator."), ReasonPhrase = "An error occurred, please try again or contact the administrator.", StatusCode = HttpStatusCode.InternalServerError }); } }
/// <summary> /// 根据ID从缓存中获取部门领域模型。 /// </summary> /// <param name="departmentId"></param> /// <returns></returns> public DepartmentDomainModel GetDepartmentDomainInfoById(string departmentId) { DepartmentDomainModel tree = GetDepartmentTree(false); return(GetDepartmentDomainModelFromTree(tree, departmentId)); }
/// <summary> /// 创建部门信息。 /// </summary> /// <param name="departmentName">部门名称。</param> /// <param name="description">部门描述。</param> /// <param name="srcDepartmentId">源部门ID。</param> /// <param name="level">级别:1同级部门,2下级部门。</param> /// <returns></returns> public bool CreateNewDepartment(string departmentName, string description, string srcDepartmentId, DepartmentLevel level, out string message) { bool result = false; message = "操作失败,请与管理员联系"; if (ExistDepartmentName(departmentName)) { message = string.Format("操作失败,已经存在名为【{0}】的部门", departmentName); return(false); } string sql = @" INSERT INTO [department_info] ([department_id], [parent_id], [department_name], [description], [sort_order], [created_on], [created_by], [modified_on], [modified_by], [status_code]) VALUES (NEWID(), $parendId$, $departmentName$, $description$, 0, GETDATE(), $createdBy$, NULL, NULL, 0) "; ParameterCollection pc = new ParameterCollection(); pc.Add("departmentName", departmentName); pc.Add("description", description); pc.Add("createdBy", SessionUtil.Current.UserId); DepartmentDomainModel srcDepartmentInfo = GetDepartmentDomainInfoById(srcDepartmentId); if (srcDepartmentInfo == null) { pc.Add("parendId", DBNull.Value); } else { switch (level) { case DepartmentLevel.SameLevel: if (srcDepartmentInfo.ParentId == null) { pc.Add("parendId", DBNull.Value); } else { pc.Add("parentId", srcDepartmentInfo.ParentId); } break; case DepartmentLevel.LowerLevel: pc.Add("parendId", srcDepartmentInfo.DepartmentId); break; default: break; } } result = ExecuteNonQuery(sql, pc) > 0; if (result) { GetDepartmentTree(true); message = "成功创建部门信息"; } return(result); }