コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <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);
        }