/// <summary> /// 用户审核(通过) /// </summary> /// <param name="dto"></param> /// <returns></returns> public bool AuditUserApplyAdopt(UserApplyOperateDTO dto) { bool blResult = false; using (var tcdmse = new Entities.TCDMS_MasterDataEntities()) { List <int?> ridlist = new List <int?>(); //审核的角色 List <string> modellist = new List <string>(); //审核的模块 if (dto != null) { var strauth = tcdmse.dict_Structure.ToList(); var qq = tcdmse.master_UserInfo.Where(p => p.PhoneNumber == dto.UserApplyTelNumber).FirstOrDefault(); if (qq == null) { //从用户申请表 => 用户表 master_UserInfo user = new master_UserInfo(); user.FullName = dto.UserApplyName; user.PhoneNumber = dto.UserApplyTelNumber; user.Email = dto.UserApplyEmail; user.UserType = dto.UserApplyType; user.IsActive = true; user.StopTime = dto.StopTime; user.DepartID = 1; user.CreateTime = dto.CreateTime; user.CreateUser = dto.CreateUser; tcdmse.master_UserInfo.Add(user); tcdmse.SaveChanges(); //用户申请表关联经销商str => 用户经销商表 if (dto.DistributorIDList != null) { List <string> Dlist = dto.DistributorIDList.Split(',').ToList(); List <Guid> Dguidlist = new List <Guid>(); foreach (var d in Dlist) { Guid g = Guid.Empty; if (Guid.TryParse(d, out g)) { Dguidlist.Add(Guid.Parse(d)); } } var dd = tcdmse.master_DistributorInfo.Where(w => Dguidlist.Contains(w.DistributorID)); foreach (var d in dd) { user.master_DistributorInfo.Add(d); } } } qq = tcdmse.master_UserInfo.Where(p => p.PhoneNumber == dto.UserApplyTelNumber).FirstOrDefault(); if (dto.UserChangeID == null)//新用户申请 { List <CurrentAuthorityDTO> uappa = new List <CurrentAuthorityDTO>(); foreach (var rl in dto.RoleIDlist) { if (dto.AuditRoleIDList.Contains("," + rl.Value.ToString() + ",")) { ridlist.Add(rl); //通过静态类取得角色对应的模块ID List <string> Sid = ModelRoleDTO.ModelRolelist.Where(p => p.RoleID == rl).Select(s => s.ModelID).ToList(); foreach (var s in Sid) { uappa.AddRange(dto.ApplyUserAuthority.Where(ua => ua.StructureID.StartsWith(s)).Select(sw => new CurrentAuthorityDTO { StructureID = sw.StructureID, BelongButton = sw.AppyUserButtonAuthority })); } } } //得到通过模块的权限 var userapplyaut = uappa.Select(s => new { s.StructureID, s.BelongButton }).Distinct().ToList(); modellist.AddRange(userapplyaut.Where(s => s.StructureID.Length == 3).Select(ss => ss.StructureID).ToList()); foreach (var q in userapplyaut) { master_UserCustomerAuthority userauthority = new master_UserCustomerAuthority(); userauthority.UserID = qq.UserID; userauthority.StructureID = q.StructureID; userauthority.UserButtonAuthority = q.BelongButton; tcdmse.master_UserCustomerAuthority.Add(userauthority); } } else { List <CurrentAuthorityDTO> uappa = new List <CurrentAuthorityDTO>(); foreach (var rl in dto.RoleIDlist) { if (dto.AuditRoleIDList.Contains("," + rl.Value.ToString() + ",")) { //通过静态类取得角色对应的模块ID List <string> Sid = ModelRoleDTO.ModelRolelist.Where(p => p.RoleID == rl).Select(s => s.ModelID).ToList(); foreach (var s in Sid) { tcdmse.master_UserCustomerAuthority.RemoveRange(qq.master_UserCustomerAuthority.Where(ua => ua.StructureID.StartsWith(s))); uappa.AddRange(dto.ApplyUserAuthority.Where(ua => ua.StructureID.StartsWith(s)).Select(sw => new CurrentAuthorityDTO { StructureID = sw.StructureID, BelongButton = sw.AppyUserButtonAuthority })); } } } //得到通过模块的权限 var userapplyaut = uappa.Select(s => new { s.StructureID, s.BelongButton }).Distinct().ToList(); modellist.AddRange(userapplyaut.Where(s => s.StructureID.Length == 3).Select(ss => ss.StructureID).ToList()); foreach (var q in userapplyaut) { master_UserCustomerAuthority userauthority = new master_UserCustomerAuthority(); userauthority.UserID = qq.UserID; userauthority.StructureID = q.StructureID; userauthority.UserButtonAuthority = q.BelongButton; tcdmse.master_UserCustomerAuthority.Add(userauthority); } } } blResult = tcdmse.SaveChanges() > 0; } return(blResult); }
/// <summary> /// 用户信息新增 /// </summary> /// <param name="dto"></param> /// <returns></returns> public bool AddUser(UserOperate dto) { bool blResult = false; using (var tcdmse = new Entities.TCDMS_MasterDataEntities()) { //判断手机号 var pn = tcdmse.master_UserInfo.Where(p => p.PhoneNumber == dto.PhoneNumber).FirstOrDefault(); if (pn != null) { throw new Exception("该手机号已存在!"); } //用户 master_UserInfo user = new master_UserInfo(); Mapper.Map <UserOperate, master_UserInfo>(dto, user); tcdmse.master_UserInfo.Add(user); tcdmse.SaveChanges(); //用户权限 if (dto.UserAuthority != null) { foreach (var i in dto.UserAuthority) { if (i == null) { continue; } master_UserCustomerAuthority userauthority = new master_UserCustomerAuthority(); userauthority.UserID = user.UserID; userauthority.StructureID = i.StructureID; userauthority.UserButtonAuthority = i.UserButtonAuthority; tcdmse.master_UserCustomerAuthority.Add(userauthority); } } //用户角色 if (dto.UserRole != null) { var ur = tcdmse.master_RoleInfo.Where(r => dto.UserRole.Contains(r.RoleID)).ToList(); string rolestr = string.Join(",", ur.Select(s => s.RoleName).ToArray());//取得新增角色(日志) foreach (var u in ur) { user.master_RoleInfo.Add(u); } // 记录日志 if (!string.IsNullOrEmpty(rolestr)) { this.AddLog(tcdmse, new LogData { CurrentLogType = LogType.ADD, LogDetails = "新增用户角色:" + "用户:" + dto.FullName + "角色:" + rolestr, OpratorName = dto.CreateUser }); } } //关联经销商 if (dto.UserDistributor != null) { var ur = tcdmse.master_DistributorInfo.Where(r => dto.UserDistributor.Contains(r.DistributorID)).ToList(); string disstr = string.Join(",", ur.Select(s => s.DistributorName).ToArray());//取得新增经销商(日志) foreach (var u in ur) { user.master_DistributorInfo.Add(u); } // 记录日志 if (!string.IsNullOrEmpty(disstr)) { this.AddLog(tcdmse, new LogData { CurrentLogType = LogType.ADD, LogDetails = "新增用户关联经销商:" + "用户:" + dto.FullName + "经销商:" + disstr, OpratorName = dto.CreateUser }); } } // 记录日志 this.AddLog(tcdmse, new LogData { CurrentLogType = LogType.ADD, LogDetails = "新增用户" + dto.FullName, OpratorName = dto.CreateUser }); blResult = tcdmse.SaveChanges() > 0; blResult = true; } return(blResult); }
/// <summary> /// 导入数据 /// </summary> /// <param name="impdto"></param> /// <returns></returns> public bool ImportData(List <ExcelImportDataDTO> impdtolst) { bool blResult = false; using (var tcdmse = new Entities.TCDMS_MasterDataEntities()) { foreach (var p in impdtolst) { if (p is ExcelUser) // 判断是否为用户信息 { ExcelUser exrdt = p as ExcelUser; if (exrdt.UpLogic == 2) { var origin = tcdmse.master_UserInfo.Where(m => m.UserID == exrdt.UserID).FirstOrDefault(); origin.UserCode = exrdt.UserCode; origin.FullName = exrdt.FullName; origin.PhoneNumber = exrdt.PhoneNumber; origin.Email = exrdt.Email; origin.IsActive = true; origin.ModifyUser = exrdt.Importer; origin.ModifyTime = DateTime.Now; origin.StopTime = DateTime.Parse(exrdt.StopTime); origin.master_DistributorInfo.Clear(); var pp = tcdmse.master_DistributorInfo.Where(w => exrdt.DistributorNamelist.Contains(w.DistributorName)); pp.ToList().ForEach(g => {//经销商 origin.master_DistributorInfo.Add(g); }); origin.master_RoleInfo.Clear(); var qq = tcdmse.master_RoleInfo.Where(w => exrdt.RoleNamelist.Contains(w.RoleName)); origin.UserType = qq.Select(s => s.RoleType).FirstOrDefault(); qq.ToList().ForEach(g =>//角色 { origin.master_RoleInfo.Add(g); }); } else { master_UserInfo mprd = new master_UserInfo(); mprd.UserCode = exrdt.UserCode; mprd.FullName = exrdt.FullName; mprd.PhoneNumber = exrdt.PhoneNumber; mprd.Email = exrdt.Email; mprd.IsActive = true; mprd.DepartID = 1; mprd.CreateUser = exrdt.Importer; mprd.CreateTime = DateTime.Now; if (!string.IsNullOrEmpty(exrdt.StopTime))//到期日 { mprd.StopTime = DateTime.Parse(exrdt.StopTime); } var pp = tcdmse.master_DistributorInfo.Where(w => exrdt.DistributorNamelist.Contains(w.DistributorName)); pp.ToList().ForEach(g => {//经销商 mprd.master_DistributorInfo.Add(g); }); var qq = tcdmse.master_RoleInfo.Where(w => exrdt.RoleNamelist.Contains(w.RoleName)); mprd.UserType = qq.Select(s => s.RoleType).FirstOrDefault(); qq.ToList().ForEach(g =>//角色 { mprd.master_RoleInfo.Add(g); }); tcdmse.master_UserInfo.Add(mprd); // 记录日志 this.AddLog(tcdmse, new LogData { CurrentLogType = LogType.IMPORT, LogDetails = "导入用户" + exrdt.FullName, OpratorName = exrdt.Importer }); } } } blResult = tcdmse.SaveChanges() > 0; } return(blResult); }