public bool UpdateDepartmentInfo(CasDepartmentDomain casDepartmentDomain, DataAccessBroker broker) { try { #region 除已经存在的用户 var strsql = new StringBuilder(); strsql.AppendFormat(" DELETE FROM CAS_DEPT_USER WHERE DEPT_ID= {0}", Utils.ToSQLStr(casDepartmentDomain.CasDepartmentEntity.DeptId).Trim()); var val = DataAccess.SelectScalar(strsql.ToString(), broker); #endregion var depUserEnites = new List <CasDeptUserEntity>(); string[] userIds; userIds = casDepartmentDomain.CasDepartmentEntity.DeptUserIds.ToString().Split(','); for (int i = 0; i < userIds.Length; i++) { var depUserEnity = new CasDeptUserEntity(); depUserEnity.DeptId = casDepartmentDomain.CasDepartmentEntity.DeptId; depUserEnity.UserId = userIds[i]; depUserEnity.IsDeleted = false; depUserEnity.CreatedBy = WebCaching.UserId; depUserEnity.CreateTime = DateTime.Now; depUserEnity.LastModifiedBy = WebCaching.UserId; depUserEnity.LastModifiedTime = DateTime.Now; depUserEnites.Add(depUserEnity); } DataAccess.Insert <CasDeptUserEntity>(depUserEnites, broker); return(true); } catch { return(false); } }
public virtual bool Save(CasDepartmentDomain casDepartmentDomain, ref string strError) { casDepartmentDomain.CasDepartmentEntity.LastModifiedTime = DateTime.Now; casDepartmentDomain.CasDepartmentEntity.LastModifiedBy = WebCaching.UserId; bool isSuccess = true; using (DataAccessBroker broker = DataAccessFactory.Instance()) { try { broker.BeginTransaction(); if (!string.IsNullOrEmpty(casDepartmentDomain.CasDepartmentEntity.DeptId)) { isSuccess = Update(casDepartmentDomain.CasDepartmentEntity, broker); if (isSuccess && casDepartmentDomain.CasDepartmentEntity.DeptType.HasValue && casDepartmentDomain.CasDepartmentEntity.DeptType.Value == 2) { isSuccess = UpdateDepartmentInfo(casDepartmentDomain, broker); } } else { casDepartmentDomain.CasDepartmentEntity.DeptId = Guid.NewGuid().ToString(); isSuccess = Insert(casDepartmentDomain.CasDepartmentEntity, broker); if (isSuccess && casDepartmentDomain.CasDepartmentEntity.DeptType.HasValue && casDepartmentDomain.CasDepartmentEntity.DeptType.Value == 2) { isSuccess = UpdateDepartmentInfo(casDepartmentDomain, broker); } } if (isSuccess) { broker.Commit(); } else { strError = "Update failed"; broker.RollBack(); } } catch (Exception ex) { broker.RollBack(); strError = ex.Message; } } return(isSuccess); }
/// <summary> /// 判断成员是否已经在其他组了 /// </summary> /// <param name="casDepartmentDomain"></param> /// <param name="strError"></param> /// <returns></returns> public bool CheckUserIdExistInOtherDep(CasDepartmentDomain casDepartmentDomain, ref string strError) { string userIds = "'" + casDepartmentDomain.CasDepartmentEntity.DeptUserIds.Replace(",", "','") + "'"; var strsql = new StringBuilder(); strsql.AppendFormat(" SELECT CUSER.ENGLISH_NAME FROM CAS_DEPT_USER DU INNER JOIN CAS_DEPARTMENT DEP ON DU.DEPT_ID = DEP.DEPT_ID INNER JOIN dbo.CAS_USER CUSER ON DU.USER_ID = CUSER.USER_ID WHERE DU.USER_ID IN({0}) AND DEP.DEPT_TYPE = '1' AND DEP.DEPT_ID <> {1}", userIds, Utils.ToSQLStr(casDepartmentDomain.CasDepartmentEntity.DeptId).Trim()); DataSet val = DataAccess.SelectDataSet(strsql.ToString()); if (val == null || val.Tables[0].Rows.Count == 0) { return(true); } else { List <object> names = val.Tables[0].AsEnumerable().Select(r => r["ENGLISH_NAME"]).ToList(); string str = string.Join(",", names); strError = "以下成员已经存在其他申请组:" + str; return(false); } //return true; }