예제 #1
0
 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);
     }
 }
예제 #2
0
        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);
        }
예제 #3
0
        /// <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;
        }