Ejemplo n.º 1
0
        public IW2SUserDto UpdateUser(string uName, IW2SUserDto user)
        {
            if (string.IsNullOrEmpty(uName))
            {
                return new IW2SUserDto {
                           Error = "用户名不能为空"
                }
            }
            ;
            // MongoDBHelper<FreeUser> dbhelper = new MongoDBHelper<FreeUser>();
            var builder = Builders <IW2SUser> .Filter;
            var filter  = builder.Eq(x => x.LoginName, uName);
            var _usr    = MongoDBHelper.Instance.Get_IW2SUser().Find(filter).FirstOrDefault();

            if (_usr != null)
            {
                var updateUser = new UpdateDocument {
                    { "$set", new QueryDocument {
                          { "Gender", user.Gender }, { "MobileNo", user.MobileNo }, { "Remarks", user.Remarks },
                          { "UsrEmail", user.UsrEmail }, { "PictureSrc", user.PictureSrc }
                      } }
                };

                //  dbhelper.Update("FreeUser", new QueryDocument { { "_id", _usr._id } }, updateUser);
                MongoDBHelper.Instance.Get_IW2SUser().UpdateOne(new QueryDocument {
                    { "_id", _usr._id }
                }, updateUser);
                IW2SUserDto freDto = new IW2SUserDto();
                freDto._id              = _usr._id.ToString();
                freDto.LoginName        = _usr.LoginName;
                freDto.LoginPwd         = _usr.LoginPwd;
                freDto.UsrRole          = _usr.UsrRole;
                freDto.UsrKey           = _usr.UsrKey;
                freDto.UsrEmail         = user.UsrEmail;
                freDto.Gender           = user.Gender;
                freDto.MobileNo         = user.MobileNo;
                freDto.Remarks          = user.Remarks;
                freDto.IsEmailConfirmed = _usr.IsEmailConfirmed;
                freDto.applicationState = _usr.applicationState;
                freDto.UsrNum           = _usr.UsrNum;
                freDto.PictureSrc       = _usr.PictureSrc;
                //freDto.Token = Helpers.IprAuthorizeAttribute.GetToken(_usr.LoginName, _usr.UsrRole);
                return(freDto);
            }
            else
            {
                return(new IW2SUserDto {
                    Error = "用户名不正确,请重试!"
                });
            }
        }
Ejemplo n.º 2
0
        public List <IW2SUserDto> GetUserList()
        {
            var builder             = Builders <IW2SUser> .Filter;
            var filter              = builder.Where(x => x.UsrRole == 0);
            var dto                 = MongoDBHelper.Instance.Get_IW2SUser().Find(filter).SortByDescending(x => x.UsrNum).ToList();
            List <IW2SUserDto> list = new List <IW2SUserDto>();

            foreach (var item in dto)
            {
                IW2SUserDto freDto = new IW2SUserDto();
                freDto._id       = item._id.ToString();
                freDto.LoginName = item.LoginName;
                list.Add(freDto);
            }
            return(list);
        }
Ejemplo n.º 3
0
        public IW2SUserDto ChangePwd(string uName, string oldPwd, string newPwd)
        {
            if (string.IsNullOrEmpty(oldPwd) || string.IsNullOrEmpty(newPwd))
            {
                return new IW2SUserDto {
                           Error = "原密码或新密码不能为空!"
                }
            }
            ;
            var md5Old  = EncryptHelper.GetEncryPwd(oldPwd.ToLower());//IDHelper.GetGuid(pwd1 + pwd_key);
            var builder = Builders <IW2SUser> .Filter;
            var filter  = builder.Eq(x => x.LoginName, uName);

            filter &= builder.Eq(x => x.LoginPwd, md5Old);
            var dto = MongoDBHelper.Instance.Get_IW2SUser().Find(filter).FirstOrDefault();

            if (dto == null)
            {
                return(new IW2SUserDto {
                    Error = "原密码不正确!"
                });
            }
            var md5New             = EncryptHelper.GetEncryPwd(newPwd.ToLower());
            var updateWebsiteCount = new UpdateDocument {
                { "$set", new QueryDocument {
                      { "LoginPwd", md5New }
                  } }
            };

            MongoDBHelper.Instance.Get_IW2SUser().UpdateOne(new QueryDocument {
                { "_id", dto._id }
            }, updateWebsiteCount);
            IW2SUserDto freDto = new IW2SUserDto();

            freDto._id              = dto._id.ToString();
            freDto.LoginName        = dto.LoginName;
            freDto.LoginPwd         = md5New;
            freDto.UsrRole          = dto.UsrRole;
            freDto.UsrKey           = dto.UsrKey;
            freDto.UsrEmail         = dto.UsrEmail;
            freDto.IsEmailConfirmed = dto.IsEmailConfirmed;
            freDto.applicationState = dto.applicationState;
            freDto.UsrNum           = dto.UsrNum;
            //freDto.Token = Helpers.IprAuthorizeAttribute.GetToken(dto.LoginName, dto.UsrRole);
            return(freDto);
        }
Ejemplo n.º 4
0
        public IW2SUserDto GetUser(string uName, string uPwd)
        {
            if (string.IsNullOrEmpty(uName) || string.IsNullOrEmpty(uPwd))
            {
                return new IW2SUserDto {
                           Error = "用户名和密码不能为空"
                }
            }
            ;
            var  builder = Builders <IW2SUser> .Filter;
            var  filter  = builder.Eq(x => x.LoginName, uName);
            bool dd      = System.Text.RegularExpressions.Regex.IsMatch(uName, @"[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?");

            if (dd)
            {
                builder.Eq(x => x.UsrEmail, uName);
            }
            var dto = MongoDBHelper.Instance.Get_IW2SUser().Find(filter).FirstOrDefault();

            if (dto != null)
            {
                IW2SUserDto freDto = new IW2SUserDto();
                freDto._id              = dto._id.ToString();
                freDto.LoginName        = dto.LoginName;
                freDto.LoginPwd         = dto.LoginPwd;
                freDto.UsrRole          = dto.UsrRole;
                freDto.UsrKey           = dto.UsrKey;
                freDto.UsrEmail         = dto.UsrEmail;
                freDto.IsEmailConfirmed = dto.IsEmailConfirmed;
                freDto.applicationState = dto.applicationState;
                freDto.Gender           = dto.Gender;
                freDto.MobileNo         = dto.MobileNo;
                freDto.Remarks          = dto.Remarks;
                freDto.PictureSrc       = dto.PictureSrc;
                //freDto.Token = Helpers.IprAuthorizeAttribute.GetToken(dto.LoginName, dto.UsrRole);
                freDto.UsrNum = dto.UsrNum;
                return(freDto);
            }
            else
            {
                return(new IW2SUserDto {
                    Error = "用户名或密码不正确!"
                });
            }
        }
Ejemplo n.º 5
0
        public IW2SUserDto Login(string uName, string uPwd, string ip)
        {
            if (string.IsNullOrEmpty(uName) || string.IsNullOrEmpty(uPwd))
            {
                return new IW2SUserDto {
                           Error = "用户名和密码不能为空"
                }
            }
            ;
            Guid md5     = EncryptHelper.GetEncryPwd(uPwd.ToLower());
            bool dd      = System.Text.RegularExpressions.Regex.IsMatch(uName, @"[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?");
            var  builder = Builders <IW2SUser> .Filter;
            var  filter  = builder.Eq(x => x.LoginPwd, md5);

            if (dd)
            {
                filter &= builder.Eq(x => x.UsrEmail, uName);
            }
            else
            {
                filter &= builder.Eq(x => x.LoginName, uName);
            }
            string location = "";
            Regex  reg      = new Regex("市|自治区|自治州|自治县");

            if (!string.IsNullOrEmpty(ip))
            {
                string url = "http://ip.chinaz.com/";
                url += ip;
                string html = WebHelper.GetHtml(url);
                if (html != null)
                {
                    HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
                    doc.LoadHtml(html);
                    /* 解析源代码 */
                    var    task = doc.DocumentNode.SelectSingleNode("//*[@id=\"leftinfo\"]/div[3]/div[2]/p[2]/span[4]");                   //搜索结果
                    string str  = task.InnerText.Trim();
                    location = str.Split(' ')[0].Trim();
                    if (location.Contains("省"))
                    {
                        int j = location.IndexOf("省");
                        location = location.Substring(j + 1, location.Length - j - 1);
                    }
                    else if (location.Contains("自治区"))
                    {
                        int j = location.IndexOf("自治区");
                        location = location.Substring(j + 3, location.Length - j - 3);
                    }
                    else if (location.Contains("特别行政区"))
                    {
                        location = location.Replace("特别行政区", "");
                    }
                    location = reg.Replace(location, "");                    //去除后缀
                }
            }
            var dto = MongoDBHelper.Instance.Get_IW2SUser().Find(filter).FirstOrDefault();

            if (dto != null)
            {
                int      uunm = dto.UsrNum + 1;
                DateTime dt   = DateTime.Now.AddHours(8);
                var      updateWebsiteCount = new UpdateDocument {
                    { "$set", new QueryDocument {
                          { "UsrNum", uunm }, { "LastLoginAt", dt }, { "LastLoginLocation", location }
                      } }
                };
                var result = MongoDBHelper.Instance.Get_IW2SUser().UpdateOne(new QueryDocument {
                    { "_id", dto._id }
                }, updateWebsiteCount);
                IW2SUserDto freDto = new IW2SUserDto();
                freDto._id              = dto._id.ToString();
                freDto.LoginName        = dto.LoginName;
                freDto.LoginPwd         = dto.LoginPwd;
                freDto.UsrRole          = dto.UsrRole;
                freDto.UsrKey           = dto.UsrKey;
                freDto.UsrEmail         = dto.UsrEmail;
                freDto.IsEmailConfirmed = dto.IsEmailConfirmed;
                freDto.applicationState = dto.applicationState;
                freDto.Gender           = dto.Gender;
                freDto.PictureSrc       = dto.PictureSrc;
                freDto.Remarks          = dto.Remarks;
                freDto.MobileNo         = dto.MobileNo;
                //freDto.Token = Helpers.IprAuthorizeAttribute.GetToken(dto.LoginName, dto.UsrRole);
                freDto.UsrNum = uunm;
                return(freDto);
            }
            else
            {
                return(new IW2SUserDto {
                    Error = "用户名或密码不正确!"
                });
            }
        }
Ejemplo n.º 6
0
        public IW2SUserDto Regist(string uName, string uPwd1, string uPwd2, string email)
        {
            //var code = VerifyCodeClass.YzmCode;
            //if (YZM.ToLower() != code.ToLower())
            //{
            //    return new IW2SUserDto { Error = "验证码填写错误!" };
            //}
            if (string.IsNullOrEmpty(uName) || string.IsNullOrEmpty(uPwd1))
            {
                return new IW2SUserDto {
                           Error = "用户名和密码不能为空"
                }
            }
            ;
            if (!uPwd1.Equals(uPwd2))
            {
                return new IW2SUserDto {
                           Error = "密码不一致!"
                }
            }
            ;
            if (string.IsNullOrEmpty(email))
            {
                return new IW2SUserDto {
                           Error = "邮箱不能为空!"
                }
            }
            ;
            bool dd = System.Text.RegularExpressions.Regex.IsMatch(email, @"[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?");

            if (dd == false)
            {
                return new IW2SUserDto {
                           Error = "邮箱格式不正确!"
                }
            }
            ;
            var builder = Builders <IW2SUser> .Filter;
            var filter  = builder.Eq(x => x.LoginName, uName);
            var _usr    = MongoDBHelper.Instance.Get_IW2SUser().Find(filter).FirstOrDefault();

            if (_usr != null)
            {
                return new IW2SUserDto {
                           Error = "用户名已经存在"
                }
            }
            ;
            //  var queryTask1 = new QueryDocument { { "UsrEmail", email } };
            filter = builder.Eq(x => x.UsrEmail, email);
            IW2SUser _usr1 = MongoDBHelper.Instance.Get_IW2SUser().Find(filter).FirstOrDefault();

            if (_usr1 != null)
            {
                return new IW2SUserDto {
                           Error = "该邮箱已经注册过,请换一个试试!"
                }
            }
            ;
            var md5 = EncryptHelper.GetEncryPwd(uPwd1.ToLower());

            _usr = new IW2SUser()
            {
                _id              = ObjectId.GenerateNewId(),
                LoginName        = uName,
                LoginPwd         = md5,
                UsrKey           = IDHelper.GetGuid(uName + usr_key),
                applicationState = false,
                IsEmailConfirmed = false,
                UsrEmail         = email,
                UsrRole          = UserTypes.Free,
                UsrNum           = 1,
                Gender           = "",
                MobileNo         = "",
                Remarks          = "",
                PictureSrc       = "",
                CreatedAt        = DateTime.Now.AddHours(8),
                ProjectNum       = 2,
                KeywordNum       = 20,
                ReportNum        = 2,
                LinkNum          = 2000
            };
            MongoDBHelper.Instance.Get_IW2SUser().InsertOne(_usr);
            IW2SUserDto freDto = new IW2SUserDto();

            freDto._id              = _usr._id.ToString();
            freDto.LoginName        = _usr.LoginName;
            freDto.LoginPwd         = _usr.LoginPwd;
            freDto.UsrRole          = _usr.UsrRole;
            freDto.UsrKey           = _usr.UsrKey;
            freDto.UsrEmail         = _usr.UsrEmail;
            freDto.IsEmailConfirmed = _usr.IsEmailConfirmed;
            freDto.applicationState = _usr.applicationState;
            freDto.UsrNum           = _usr.UsrNum;
            //freDto.Token = Helpers.IprAuthorizeAttribute.GetToken(_usr.LoginName, _usr.UsrRole);
            return(freDto);
        }