Beispiel #1
0
        public ActionResult UserDepartment(UserDepartmentModel model)
        {
            var result = new Result();

            try
            {
                if (string.IsNullOrEmpty(model.UserIds))
                {
                    result.Msg = "UserId不能为空";
                    return(Json(result));
                }
                if (string.IsNullOrEmpty(model.DepartmentIds))
                {
                    result.Msg = "DepartmentId不能为空";
                    return(Json(result));
                }
                var isScussce = new UserDepartmentBLL().Create(model);
                if (isScussce)
                {
                    result.Msg     = "设置成功!";
                    result.Success = true;
                }
                else
                {
                    result.Msg = "设置失败!";
                }
                return(Json(result));
            }
            catch (Exception ex)
            {
                result.Msg = string.Format("设置失败!{0}", ex.Message);
                return(Json(result));
            }
        }
Beispiel #2
0
        public HandleResponse <UserDepartmentKey> RemoveUserDepartment(int userId, int departmentId)
        {
            HandleResponse <UserDepartmentKey> rm = new HandleResponse <UserDepartmentKey>();

            UserDepartmentModel ud = new UserDepartmentModel()
            {
                UserId = userId, DeparmentId = departmentId
            };

            try
            {
                _UserDepartment.Remove(ud);
                rm.Success = true;
                rm.Message = "删除数据成功";
                rm.Key     = new UserDepartmentKey {
                    UserId = ud.UserId, DepartmentId = ud.DeparmentId
                };
            }
            catch (Exception ex)
            {
                rm.Success = false;
                rm.Message = "删除数据失败" + ex.Message;
            }
            return(rm);
        }
Beispiel #3
0
        public HandleResponse <UserDepartmentKey> AddUserDepartment(UserDepartmentAddViewModel req)
        {
            HandleResponse <UserDepartmentKey> rm = new HandleResponse <UserDepartmentKey>();
            //bool b =await IsExist(a => a.UserId == req.UserId && a.DeparmentId == req.DepartmentId);
            //if (b)
            //{
            //    rm.Success = false;
            //    rm.Message = "该用户已分配在该部门,请勿重复操作";
            //    return rm;
            //}
            UserDepartmentModel ud = new UserDepartmentModel()
            {
                UserId = req.UserId, DeparmentId = req.DepartmentId
            };

            try
            {
                _UserDepartment.Add(ud);
                rm.Success = true;
                rm.Message = "添加数据成功";
                rm.Key     = new UserDepartmentKey {
                    UserId = ud.UserId, DepartmentId = ud.DeparmentId
                };
            }
            catch (Exception ex)
            {
                rm.Success = false;
                rm.Message = "添加数据失败" + ex.Message;
            }
            return(rm);
        }
Beispiel #4
0
        /// <summary>
        /// 设置用户部门(批量设置)
        /// </summary>
        /// <param name="userIds">用户主键,多个用逗号隔开</param>
        /// <param name="depIds">部门id,多个用逗号隔开</param>
        public bool SetDepartmentBatch(string userIds, string depIds)
        {
            List <UserDepartmentModel> dep_addList    = new List <UserDepartmentModel>(); //需要插入部门的sql语句集合
            List <UserDepartmentModel> dep_deleteList = new List <UserDepartmentModel>(); //需要删除部门的sql语句集合

            string[] str_userid = userIds.Trim(',').Split(',');
            string[] str_dep    = depIds.Trim(',').Split(',');

            UserDepartmentModel userdepdelete = null;
            UserDepartmentModel userdepadd    = null;

            for (int i = 0; i < str_userid.Length; i++)
            {
                //批量设置先删除当前用户的所有部门
                userdepdelete        = new UserDepartmentModel();
                userdepdelete.UserId = Convert.ToInt32(str_userid[i]);
                dep_deleteList.Add(userdepdelete);

                if (!string.IsNullOrEmpty(depIds))
                {
                    //再添加设置的部门
                    for (int j = 0; j < str_dep.Length; j++)
                    {
                        userdepadd              = new UserDepartmentModel();
                        userdepadd.UserId       = Convert.ToInt32(str_userid[i]);
                        userdepadd.DepartmentId = Convert.ToInt32(str_dep[j]);
                        dep_addList.Add(userdepadd);
                    }
                }
            }
            return(dal.SetDepartmentBatch(dep_addList, dep_deleteList));
        }
Beispiel #5
0
 /// <summary>
 /// 添加用户部门
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public bool Create(UserDepartmentModel model)
 {
     try
     {
         var userIds       = model.UserIds.Split(',');
         var departmentIds = model.DepartmentIds.Split(',');
         foreach (var item in userIds)
         {
             var gid  = Guid.Parse(item);
             var user = userDal.Find(gid);
             if (user == null)
             {
                 throw new Exception("无法识别用户ID");
             }
             else
             {
                 var isScussce = dal.DelByUserId(gid);
                 if (!isScussce)
                 {
                     throw new Exception("出现程序错误,请联系管理员!");
                 }
             }
         }
         foreach (var uid in userIds)
         {
             var userId = Guid.Parse(uid);
             foreach (var did in departmentIds)
             {
                 var departmentId   = Guid.Parse(did);
                 var userDepartment = new UserDepartment
                 {
                     Id           = Guid.NewGuid(),
                     UserId       = userId,
                     DepartmentId = departmentId
                 };
                 var result = dal.Create(userDepartment);
                 if (result == null)
                 {
                     throw new Exception("循环添加出现程序错误,请联系管理员!");
                 }
             }
         }
         return(true);
     }
     catch (Exception)
     {
         throw new Exception("出现程序错误,请联系管理员!");
     }
 }
Beispiel #6
0
        /// <summary>
        /// 设置用户部门(单个用户)
        /// </summary>
        /// <param name="userId">用户主键</param>
        /// <param name="depIds">部门id,多个用逗号隔开</param>
        public bool SetDepartmentSingle(int userId, string depIds)
        {
            DataTable dt_user_dep_old = new DepartmentBLL().GetDepartmentByUserId(userId); //用户之前拥有的部门
            List <UserDepartmentModel> dep_addList    = new List <UserDepartmentModel>();  //需要插入部门的sql语句集合
            List <UserDepartmentModel> dep_deleteList = new List <UserDepartmentModel>();  //需要删除部门的sql语句集合

            string[] str_dep = depIds.Trim(',').Split(',');                                //传过来用户勾选的部门(有去勾的也有新勾选的)

            UserDepartmentModel userdepdelete = null;
            UserDepartmentModel userdepadd    = null;

            for (int i = 0; i < dt_user_dep_old.Rows.Count; i++)
            {
                //等于-1说明用户去掉勾选了某个部门 需要删除
                if (Array.IndexOf(str_dep, dt_user_dep_old.Rows[i]["departmentid"].ToString()) == -1)
                {
                    userdepdelete = new UserDepartmentModel();
                    userdepdelete.DepartmentId = Convert.ToInt32(dt_user_dep_old.Rows[i]["departmentid"].ToString());
                    userdepdelete.UserId       = userId;
                    dep_deleteList.Add(userdepdelete);
                }
            }

            if (!string.IsNullOrEmpty(depIds))
            {
                for (int j = 0; j < str_dep.Length; j++)
                {
                    //等于0那么原来的部门没有 是用户新勾选的
                    if (dt_user_dep_old.Select("departmentid = '" + str_dep[j] + "'").Length == 0)
                    {
                        userdepadd              = new UserDepartmentModel();
                        userdepadd.UserId       = userId;
                        userdepadd.DepartmentId = Convert.ToInt32(str_dep[j]);
                        dep_addList.Add(userdepadd);
                    }
                }
            }
            if (dep_addList.Count == 0 && dep_deleteList.Count == 0)
            {
                return(true);
            }
            else
            {
                return(dal.SetDepartmentSingle(dep_addList, dep_deleteList));
            }
        }
Beispiel #7
0
        //
        // GET: /UserDepartment/
        public ActionResult Index()
        {
            var user = Session["User"] as DB.user;

            if (user == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            var model = new UserDepartmentModel();

            arrangeBaseModel(model, user);

            var result = Operations.GetUsersOfManager(user);

            model.Department = new Department(user.department);
            model.Users      = result.ReturnValue.Select(x => new User(x)
            {
                IsInMyDepartment = x.Department_Id == user.Department_Id
            }).ToList();

            return(View(model));
        }