public static UserRoleList_M ToViewModel(permission_user user)
 {
     return(new UserRoleList_M()
     {
         user = user
     });
 }
        public bool AddUser(string userId, string userPwd, string nickName, string userTypeId, string email = "none", string phone = "none")
        {
            var data = new permission_user();

            data.user_id      = userId;
            data.user_pwd     = userPwd;
            data.nick_name    = nickName;
            data.user_type_id = userTypeId;
            data.email        = email;
            data.phone        = phone;
            Db.permission_user.AddOrUpdate(data);
            return(Db.SaveChanges() > 0 ? true : false);
        }
Esempio n. 3
0
            public login(IPermissionProvider permissionProvider, string uid)
            {
                permission_user u = null;

                _permissionProvider = permissionProvider;
                try
                {
                    u = _permissionProvider.UserInfo(uid);
                }
                catch (Exception)
                {
                }

                var ok = u != null;

                this.uid   = uid;
                this.state = ok ? 1 : 0;
                this.msg   = ok ? "登陆成功": "登陆失败";
                this.name  = ok ? u.nick_name:"";
            }
Esempio n. 4
0
        public bool Regist(string userId, string userPwd,
                           string nickName = "", string email           = "", string phone    = "", string userTypeId = "",
                           string note     = "", List <string> roleList = null, string subSys = "")
        {
            if (!(userId.HasValue() && userPwd.HasValue()))
            {
                throw new ParamNotEnoughException(
                          "userId=>" + userId + "\r\n" +
                          "userPwd=>" + userPwd + "\r\n"
                          );
            }
            var site = note.ToLower().Replace("http://", "").Replace("https://", "").Replace("/", "");

            #region 基础数据准备
            object result;
            #region  subSystem

            var subSystem = new sub_system()
            {
                sub_system_id = "deafult",
                name          = "默认",
                create_time   = DateTime.Now,
                note          = "系统默认,用于兼容以前的旧用户",
                plateform     = "sys"
            };
            result = Db.sub_system.Any(a => a.sub_system_id == subSystem.sub_system_id)
                ? new object() //  Db.sub_system.Update(subSystem)
                : Db.sub_system.Add(subSystem);
            #endregion

            #region subSystemRegDeafult

            var subSystemRegDeafult = new sub_system_reg()
            {
                sub_system_reg_id = "deafult",               //子系统注册标识
                sub_system_id     = subSystem.sub_system_id, //子系统标识
                site     = "默认",                             //注册站点
                user_id  = "deafult",
                reg_time = DateTime.Now,
                note     = "系统默认,用于兼容以前的旧用户"
            };

            result = Db.sub_system_reg.Any(a => a.sub_system_id == subSystemRegDeafult.sub_system_id)
                ? new object() //Db.sub_system_reg.Update(subSystemReg)
                : Db.sub_system_reg.Add(subSystemRegDeafult);

            #endregion

            #region  orglevel

            var orgLevel = new organization_level()
            {
                organization_level_id = "deafult",
                name = "根组织(虚拟)",
                note = "由PermissionProvider.Regist于" + DateTime.Now + "自动创建"
            };
            result = Db.organization_level.Any(a => a.organization_level_id == orgLevel.organization_level_id)
                ? new object() // Db.organization_level.Update(orgLevel)
                : Db.organization_level.Add(orgLevel);
            #endregion

            #region orgType
            var orgType = new orgnization_type()
            {
                orgnization_type_id = "deafult",
                name = "默认",
                note = "由PermissionProvider.Regist于" + DateTime.Now + "自动创建"
            };

            result = Db.orgnization_type.Any(a => a.orgnization_type_id == orgType.orgnization_type_id)
                ? new object() //  Db.orgnization_type.Update(orgType)
                : Db.orgnization_type.Add(orgType);
            #endregion

            #region org
            var org = new orgnization()
            {
                orgnization_id        = "deafult",
                descripe              = "系统自动注册的用户均放在该节点下",
                father_id             = "Root",
                name                  = "普通用户",
                note                  = "由PermissionProvider.Regist于" + DateTime.Now + "自动创建",
                organization_level_id = orgLevel.organization_level_id,
                orgnization_type_id   = orgType.orgnization_type_id
            };
            result = Db.orgnization.Any(a => a.orgnization_id == org.orgnization_id)
                ? new object() //  Db.orgnization.Update(org)
                : Db.orgnization.Add(org);
            #endregion

            #region role

            var role = new role()
            {
                role_id    = "deafult",
                name       = "默认角色",
                is_default = 1,
                sub_system = "system",
                role_type  = "系统默认角色"
            };

            result = Db.role.Any(a => a.role_id == role.role_id)
                ? new object() // Db.role.Update(role)
                : Db.role.Add(role);

            #endregion
            #endregion


            #region 盗版检测
            if (subSys.HasValue() && subSys != "deafult")
            {
                var fakeApp = new sub_system()
                {
                    sub_system_id = subSys,
                    name          = "fake-" + subSys,
                    create_time   = DateTime.Now,
                    note          = "盗版程序:" + subSys + ",盗版首次注册站点:" + note + ",首次注册的用户id:" + userId,
                    plateform     = "fake"
                };
                result = Db.sub_system.Any(a => a.sub_system_id == fakeApp.sub_system_id)
                    ?new object() // Db.sub_system.Update(fakeApp)
                    : Db.sub_system.Add(fakeApp);

                Db.SaveChanges();
            }

            #endregion


            #region 注册系统

            var subSystemReg = new sub_system_reg()
            {
                sub_system_reg_id = subSys + "-" + site, //子系统注册标识
                sub_system_id     = subSys,              //子系统标识
                site     = site,                         //注册站点
                user_id  = userId,
                reg_time = DateTime.Now,
                note     = note//保留原始站点信息
            };

            result = Db.sub_system_reg.Any(a => a.sub_system_id == subSystemReg.sub_system_id && a.site == subSystemReg.site)
                ? new object() //Db.sub_system_reg.Update(subSystemReg)
                : Db.sub_system_reg.Add(subSystemReg);
            Db.SaveChanges();
            #endregion


            #region user 添加用户

            var user = new permission_user()
            {
                user_id           = userId,//同个用户打开不同站点处理为不同用户
                user_pwd          = NoneEncrypt(userPwd),
                nick_name         = nickName.CheckValue("none"),
                user_type_id      = userTypeId.CheckValue("0"),
                email             = email.CheckValue("none"),
                phone             = phone.CheckValue("none"),
                register_date     = DateTime.Now,
                last_login_date   = DateTime.Now,
                sub_system_reg_id = subSystemReg.sub_system_reg_id,
                note = note//原始站点
            };

            result = Db.permission_user.Any(a => a.user_id == user.user_id)
                ? Db.permission_user.Update(user)
                : Db.permission_user.Add(user);

            #endregion

            //分配默认组织机构

            #region user_orgnization
            var userOrg = new user_orgnization()
            {
                user_orgnization_id = user.user_id + "-" + org.orgnization_id,
                user_id             = user.user_id,
                orgnization_id      = org.orgnization_id
            };
            result = Db.user_orgnization.Any(a => a.user_orgnization_id == userOrg.user_orgnization_id)
                ? new object() //  Db.user_orgnization.Update(userOrg)
                : Db.user_orgnization.Add(userOrg);
            #endregion


            #region userRole

            var userRole = new user_role()
            {
                user_id      = user.user_id,
                role_id      = role.role_id,
                note         = "新用户注册自动添加默认角色[" + role.name + "];有效期为永久",
                expire_time  = DateTime.MaxValue,
                user_role_id = user.user_id + "-" + role.role_id
            };
            result = Db.user_role.Any(a => a.user_role_id == userRole.user_role_id)
                ? new object() //  Db.user_role.Update(userRole)
                : Db.user_role.Add(userRole);
            #endregion


            //分配角色

            roleList?.ForEach(rid =>
            {
                var tempRole = Db.role.FirstOrDefault(a => a.role_id == rid);
                if (tempRole != null)
                {
                    var tempUserRole = new user_role()
                    {
                        user_id      = user.user_id,
                        role_id      = tempRole.role_id,
                        note         = "新用户注册自动添加默认角色[" + tempRole.name + "];有效期为永久",
                        expire_time  = DateTime.MaxValue,
                        user_role_id = user.user_id + "-" + tempRole.role_id
                    };
                    result = Db.user_role.Any(a => a.user_role_id == tempUserRole.user_role_id)
                        ? new object() // Db.user_role.Update(tempUserRole)
                        : Db.user_role.Add(tempUserRole);
                }
            });
            Db.SaveChanges();
            return(true);
        }