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); }
/// <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; } }