Ejemplo n.º 1
0
        protected override CoreResponse Create(CoreRequest core_request)
        {
            CoreResponse core_response = new CoreResponse(core_request);
            UserDTO      loginsession  = Newtonsoft.Json.JsonConvert.DeserializeObject <UserDTO>(core_request.HttpContext.Session.GetString("User"));

            foreach (var item in core_request.DtRequest.Data)
            {
                string key = item.Key;
                List <Dictionary <string, object> > list_pair = new List <Dictionary <string, object> >();
                var     pair = item.Value as Dictionary <string, object>;
                UserDTO orgin;

                orgin = new UserDTO();
                base.ConvertDictionaryToObject(orgin, pair, core_response.DtResponse.fieldErrors);
                if (core_response.DtResponse.fieldErrors != null && core_response.DtResponse.fieldErrors.Count > 0)
                {
                    return(core_response);
                }
                //登录名要唯一
                var existUser = this.GetAll().Where(p => p.LoginName == orgin.LoginName).FirstOrDefault();
                if (existUser != null)
                {
                    Core.Infrastructure.DataTables.DtResponse.FieldError fe = new Core.Infrastructure.DataTables.DtResponse.FieldError();
                    fe.name   = "Loginname";
                    fe.status = "创建的登录名已经存在";
                    core_response.DtResponse.fieldErrors.Add(fe);
                    return(core_response);
                }

                DBResult dbresult;
                orgin.Password   = orgin.Password.ToMD5String();
                orgin.CreateTime = DateTime.Now;
                orgin.Creator    = loginsession.LoginName;
                dbresult         = this.Add(orgin);
                if (dbresult.Code != 0)
                {
                    core_response.DtResponse.error += dbresult.ErrMsg;
                }
                else
                {
                    User user = dbresult.Result as User;
                    if (orgin.UserRole != null)
                    {
                        foreach (var v in orgin.UserRole)
                        {
                            v.UserId     = user.Id;
                            v.CreateTime = DateTime.Now;
                            v.Creator    = loginsession.LoginName;
                        }
                        dbresult = _IUserRoleService.AddRange(orgin.UserRole.ToArray());
                        if (dbresult.Code != 0)
                        {
                            core_response.DtResponse.error += dbresult.ErrMsg;
                        }
                    }
                }
            }
            return(core_response);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 编辑用户账号信息
        /// </summary>
        /// <param name="userDTO"></param>
        /// <returns></returns>
        public IActionResult UserAdd(UserDTO userDTO)
        {
            try
            {
                if (userDTO.oper == "add")
                {
                    userDTO.CreateTime = DateTime.Now;
                    userDTO.Creator    = "administrator";
                    var  res  = _userService.Add(userDTO);
                    User user = (User)res.Result;
                    List <UserRoleDTO>   userRoleDTOs   = new List <UserRoleDTO>();
                    List <UserSystemDTO> userSystemDTOs = new List <UserSystemDTO>();
                    if (res.Code == 0)
                    {
                        //foreach (var item in userDTO.UserRole)
                        //{
                        //    item.UserId = user.Id;
                        //    item.CreateTime = DateTime.Now;
                        //    item.Creator = "administrator";
                        //    userRoleDTOs.Add(item);
                        //}
                        //foreach (var item in userDTO.UserSystem)
                        //{
                        //    item.UserId = user.Id;
                        //    item.CreateTime = DateTime.Now;
                        //    item.Creator = "administrator";
                        //    userSystemDTOs.Add(item);
                        //}
                        UserRoleDTO userRoleDTO = new UserRoleDTO();
                        userRoleDTO.UserId     = user.Id;
                        userRoleDTO.RoleId     = userDTO.UserRoleId;
                        userRoleDTO.CreateTime = DateTime.Now;
                        userRoleDTO.Creator    = "administrator";
                        userRoleDTOs.Add(userRoleDTO);

                        UserSystemDTO userSystemDTO = new UserSystemDTO();
                        userSystemDTO.UserId     = user.Id;
                        userSystemDTO.SystemId   = userDTO.UserSystemId;
                        userSystemDTO.CreateTime = DateTime.Now;
                        userSystemDTO.Creator    = "administrator";
                        userSystemDTOs.Add(userSystemDTO);

                        _userRoleService.AddRange(userRoleDTOs.ToArray());
                        _userSystemService.AddRange(userSystemDTOs.ToArray());

                        return(Ok("success"));
                    }
                    else
                    {
                        return(NotFound("failed"));
                    }
                }
                if (userDTO.oper == "edit")
                {
                    userDTO.ModifyTime = DateTime.Now;
                    userDTO.Modifier   = "administrator";
                    var res = _userService.Update(userDTO);
                    List <UserRoleDTO>   userRoleDTOs   = new List <UserRoleDTO>();
                    List <UserSystemDTO> userSystemDTOs = new List <UserSystemDTO>();
                    if (res.Code == 0)
                    {
                        //foreach (var item in userDTO.UserRole)
                        //{
                        //    item.UserId = userDTO.Id;
                        //    item.CreateTime = DateTime.Now;
                        //    item.Creator = "administrator";
                        //    userRoleDTOs.Add(item);
                        //}
                        //foreach (var item in userDTO.UserSystem)
                        //{
                        //    item.UserId = userDTO.Id;
                        //    item.CreateTime = DateTime.Now;
                        //    item.Creator = "administrator";
                        //    userSystemDTOs.Add(item);
                        //}
                        UserRoleDTO userRoleDTO = new UserRoleDTO();
                        userRoleDTO.UserId     = userDTO.Id;
                        userRoleDTO.RoleId     = userDTO.UserRoleId;
                        userRoleDTO.CreateTime = DateTime.Now;
                        userRoleDTO.Creator    = "administrator";
                        userRoleDTOs.Add(userRoleDTO);

                        UserSystemDTO userSystemDTO = new UserSystemDTO();
                        userSystemDTO.UserId     = userDTO.Id;
                        userSystemDTO.SystemId   = userDTO.UserSystemId;
                        userSystemDTO.CreateTime = DateTime.Now;
                        userSystemDTO.Creator    = "administrator";
                        userSystemDTOs.Add(userSystemDTO);

                        var oldUserRoles = _userRoleService.GetAll().Where(t => t.UserId == userDTO.Id).ToArray();
                        _userRoleService.DeleteRangeBy(oldUserRoles);

                        var oldUserSystems = _userSystemService.GetAll().Where(t => t.UserId == userDTO.Id).ToArray();
                        _userSystemService.DeleteRangeBy(oldUserSystems);

                        _userRoleService.AddRange(userRoleDTOs.ToArray());
                        _userSystemService.AddRange(userSystemDTOs.ToArray());
                        return(Ok("success"));
                    }
                    else
                    {
                        return(NotFound("failed"));
                    }
                }
                if (userDTO.oper == "delete")
                {
                    var res = _userService.DeleteByID(userDTO.Id);
                    if (res.Code == 0)
                    {
                        var oldUserRoles = _userRoleService.GetAll().Where(t => t.UserId == userDTO.Id).ToArray();
                        _userRoleService.DeleteRangeBy(oldUserRoles);

                        var oldUserSystems = _userSystemService.GetAll().Where(t => t.UserId == userDTO.Id).ToArray();
                        _userSystemService.DeleteRangeBy(oldUserSystems);
                        return(Ok("success"));
                    }
                    else
                    {
                        return(NotFound("failed"));
                    }
                }
                return(Ok("success"));
            }
            catch (Exception)
            {
                throw;
            }
        }