Пример #1
0
 public ActionResult Reg(RegModel model, string ReturnUrl)
 {
     if (ModelState.IsValid)
     {
         string Result;
         if (model.Reg(out Result))
         {
             if (!string.IsNullOrWhiteSpace(ReturnUrl))
             {
                 return(Redirect(ReturnUrl));
             }
             else
             {
                 return(RedirectToAction("Index", "Home"));
             }
         }
         else
         {
             ViewData["Result"] = Result;
         }
     }
     if (Request.IsAjaxRequest())
     {
         return(PartialView("Reg"));
     }
     return(View());
 }
Пример #2
0
        public DicDCValue Acct_Register(RegModel regModel, bool isfriend, int ip, string email, string password, bool passisencrypt, string name, string idcard, string mobile, int qq, string gatesrc, string pstype)
        {
            if (passisencrypt == false)
            {
                password = UrsHelper.mymd5(password);
            }
            List <object> listobj = new List <object>();

            listobj.AddRange(new object[] { "isfriend", isfriend.ToString().ToLower(), "ip", ip, "email", email, "password", password, "mobile", mobile, "qq", qq, "idcard", idcard, "gatesrc", gatesrc, "pstype", pstype, "name", name });
            if (!string.IsNullOrWhiteSpace(regModel.language) && regModel.language.Length > 0)
            {
                listobj.AddRange(new object[] { "language", regModel.language });
            }
            if (regModel.ismodenopass)
            {
                listobj.AddRange(new object[] { "ismodenopass", 1 });
            }
            if (regModel.adsid > 0)
            {
                listobj.AddRange(new object[] { "adsid", regModel.adsid });
            }
            if (regModel.tgaccount > 0)
            {
                listobj.AddRange(new object[] { "tgaccount", regModel.tgaccount });
            }

            DCResult dcr = DCInvoker.HttpInvoke(DCProdTypes.URS, DCMethodTypes.W, "acct_reg", listobj.ToArray());

            return(dcr.GetDicDCValue());
        }
Пример #3
0
        // GET: Registration



        public ActionResult Index()
        {
            var Carmodel  = _context.Car_Model.ToList();
            var viewmodel = new RegModel();

            return(View(viewmodel));
        }
Пример #4
0
        public static List <RegModel> GetRegModelList(string s)
        {
            List <RegModel> regModelList = new List <RegModel>();

            string[] valueNames = GetValueNames(s);
            foreach (string valueName in valueNames)
            {
                RegModel regModel = new RegModel();
                regModel.Name = valueName;
                object      valueData    = GetValueData(s, valueName);
                RegistryKey newValueData = GetRootKey(s);
                regModel.Type = newValueData.GetValueKind(valueName);
                if (valueData is byte[])
                {
                    regModel.Binary = (byte[])valueData;
                }
                if (valueData is string[])
                {
                    regModel.MultiString = (string[])valueData;
                }
                if (newValueData.GetValue(valueName) != null)
                {
                    regModel.Data = newValueData.GetValue(valueName).ToString();
                }
                regModelList.Add(regModel);
            }
            return(regModelList);
        }
Пример #5
0
        public async Task <ActionResult> ResetPassword([FromBody] RegModel model)
        {
            try
            {
                var userId = await _commonManager.GetUserIdByValidationToken(model.VaidationToken);

                var user = await _userManager.FindByIdAsync(userId);

                var passwordHash = _userManager.PasswordHasher.HashPassword(user, model.NewPassword);
                user.PasswordHash = passwordHash;
                await _userManager.UpdateAsync(user);

                var jwt = await _jwtTokenGenerator.GenerateToken(user);

                return(Ok(new JObject
                {
                    ["token"] = jwt
                }.ToString()));
            }
            catch (GenericException ex)
            {
                return(Ok(new JObject
                {
                    ["error"] = ex.Code
                }.ToString()));
            }
            catch (Exception ex)
            {
                return(Ok(new JObject
                {
                    ["error"] = ex.Message
                }.ToString()));
            }
        }
        public ActionResult RegUser(RegModel user)
        {
            //验证数据合法性
            if (!ModelState.IsValid)
            {
                return(JsonTips());
            }

            //检查用户是否已存在
            if (AppManager.Instance.UserManager.GetAll().Where(u => u.Name == user.UserName).ToList().Count > 0)
            {
                return(null);
            }

            //保存新用户信息
            AppUser newUser = new UserConfig
            {
                Email       = user.Email,
                PhoneNumber = user.Phone,
                Name        = user.UserName,
                Password    = user.Password,
            };

            //获取所有的角色权限
            List <string> roleIds = new List <string>();

            AppManager.Instance.RoleManager.GetAll().Each(r => roleIds.Add(r.Id.ToString()));
            newUser.RoleIds = roleIds;

            AppManager.Instance.UserManager.Add(newUser);

            return(JsonTipsLang("success", null, "注册成功", new { Url = Url.Action("Index", "Home") }));
        }
Пример #7
0
 public ActionResult Create(RegModel model, string ReturnUrl)
 {
     if (ModelState.IsValid)
     {
         string Result;
         if (model.RegByAdmin(out Result))
         {
             logger.Info("Регистрация Администратором пользователя с логином: " + model.Name);
             if (!string.IsNullOrWhiteSpace(ReturnUrl))
             {
                 return(Redirect(ReturnUrl));
             }
             else
             {
                 return(RedirectToAction("Users", "Admin"));
             }
         }
         else
         {
             logger.Error("Ошибка регистрации Администратором пользователя с логином: " + model.Name);
             ViewData["Result"] = Result;
         }
     }
     if (Request.IsAjaxRequest())
     {
         return(PartialView("Create"));
     }
     return(View());
 }
Пример #8
0
        //Get all---------
        public List <RegModel> GetAll()
        {
            using (SqlConnection con = new SqlConnection(connectionString))
            {
                con.Open();
                SqlCommand cmd = con.CreateCommand();
                cmd.CommandText = "Registration_SELECTALL";
                cmd.CommandType = System.Data.CommandType.StoredProcedure;

                using (SqlDataReader reader = cmd.ExecuteReader())
                {
                    List <RegModel> regList = new List <RegModel>();
                    while (reader.Read())

                    {
                        RegModel register = new RegModel
                        {
                            id        = (int)reader["id"],
                            FirstName = (string)reader["firstName"],
                            LastName  = (string)reader["lastName"],
                            Interests = (string)reader["interests"],
                            Skills    = (string)reader["skills"]
                        };

                        regList.Add(register);
                    }
                    return(regList);
                }
            }
        }
 public async Task <CableResult> BillTransferData(RegModel model)
 {
     try
     {
         var result = (from vs in db.regmodel where vs.CompanyId == model.CompanyId && !(from s in db.billdetailsmodel select s.CustomerID).Contains(vs.CustomerID) select vs);
         if (result != null)
         {
             return(new CableResult {
                 Message = "Success", Status = 1, Response = result
             });
         }
         else
         {
             return(new CableResult {
                 Message = "No data found", Status = 0, Response = null
             });
         }
     }
     catch (Exception ex)
     {
         return(new CableResult {
             Message = ex.ToString(), Status = 0, Response = null
         });
     }
 }
        public async Task <CableResult> BillRegPaidUpdate(RegModel model)
        {
            try
            {
                var _billregpaidupdate = db.regmodel.Where(a => a.CustomerID == model.CustomerID && a.CompanyId == model.CompanyId).FirstOrDefault();
                _billregpaidupdate.CustBal = model.CustBal;
                _billregpaidupdate.DtFrom  = model.DtFrom;

                db.Entry(_billregpaidupdate).State = EntityState.Modified;
                db.SaveChanges();
                if (_billregpaidupdate != null)
                {
                    return(new CableResult {
                        Message = "Success", Status = 1, Response = _billregpaidupdate
                    });
                }
                else
                {
                    return(new CableResult {
                        Message = "No data found", Status = 2, Response = null
                    });
                }
            }
            catch (Exception ex)
            {
                return(new CableResult {
                    Message = ex.ToString(), Status = 0, Response = null
                });
            }
        }
 public async Task <CableResult> BillAreaData(RegModel model)
 {
     try
     {
         //var result = db.regmodel.Where(a => a.CompanyId == model.CompanyId).Select(m => m.Area).Distinct().ToList();
         var result = db.regmodel.Where(a => a.CompanyId == model.CompanyId).ToList();
         if (result != null)
         {
             return(new CableResult {
                 Message = "Success", Status = 1, Response = result
             });
         }
         else
         {
             return(new CableResult {
                 Message = "No data found", Status = 0, Response = null
             });
         }
     }
     catch (Exception ex)
     {
         return(new CableResult {
             Message = ex.ToString(), Status = 0, Response = null
         });
     }
 }
 public async Task <CableResult> BillRegTransferData(RegModel model)
 {
     try
     {
         var result = db.regmodel.Where(a => a.CustomerID == model.CustomerID && a.CompanyId == model.CompanyId).ToList();
         if (result != null)
         {
             return(new CableResult {
                 Message = "Success", Status = 1, Response = result
             });
         }
         else
         {
             return(new CableResult {
                 Message = "No data found", Status = 0, Response = null
             });
         }
     }
     catch (Exception ex)
     {
         return(new CableResult {
             Message = ex.ToString(), Status = 0, Response = null
         });
     }
 }
Пример #13
0
        private bool CheckIsRegister(RegModel reg)
        {
            /*
             * 检测方式:
             * 机器码+type+秘钥
             *
             */
            bool flag = false;
            if (reg._type.Equals("Person"))
            {
                string code = reg._code;
                string user = reg._IncName;
                string key = reg._key;

                if (Lincense.getInstance().GetCode2(code).Contains(key))
                {
                    flag = true;
                    return flag;
                }

            }
            else//这个是 批量注册码
            {

            }

            return flag;
        }
Пример #14
0
 public IActionResult Create(RegModel regModel)
 {
     if (ModelState.IsValid)
     {
         regService.Create(regModel);
         return(RedirectToAction(nameof(Index)));
     }
     return(View(regModel));
 }
Пример #15
0
        public IActionResult Reg(RegModel model)
        {
            var user = PuppyBBS.Services.EMapper.Mapper <RegModel, Services.Models.Users>(model);

            AppUserServices.Reg(user);
            return(Json(new JsonModel {
                action = "/login", status = 0, msg = "注册成功"
            }));
        }
Пример #16
0
 public UserProfile(string role, RegModel model)
 {
     Roles      = new List <Role>();
     SurName    = model.Surname;
     FirstName  = model.FirstName;
     Patronymic = model.Patronymic;
     Email      = model.Email;
     Password   = model.Password;
 }
Пример #17
0
        public void CanDeployFieldsToSite()
        {
            WithO365Context(context =>
            {
                var model = new RegModel().GetSiteFields();

                var provisionService = new CSOMProvisionService();
                provisionService.DeployModel(SiteModelHost.FromClientContext(context), model);
            });
        }
Пример #18
0
        public void CanDeployFieldsToSite()
        {
            WithO365Context(context =>
            {
                var model = new RegModel().GetSiteFields();

                var provisionService = new CSOMProvisionService();
                provisionService.DeployModel(SiteModelHost.FromClientContext(context), model);
            });
        }
Пример #19
0
        public ActionResult Index(RegModel registration)
        {
            if (ModelState.IsValid)
            {
                repo.addContact(registration.Contact);
                addRunners(registration.Runners);
                return(RedirectToAction("Registrants"));
            }

            return(View());
        }
Пример #20
0
        public IdentityResult Register(RegModel registerModel)
        {
            var userStore = new UserStore <ApplicationUser>(new ApplicationDbContext());
            var manager   = new UserManager <ApplicationUser>(userStore);
            var user      = new ApplicationUser()
            {
                UserName = registerModel.Username, Lastname = registerModel.Lastname
            };

            user.Email = registerModel.Email;
            //user.Dob = registerModel.Dob;
            user.PhoneNumber = registerModel.Phonenumber;
            IdentityResult result = manager.Create(user, registerModel.Password);

            return(result);
        }
Пример #21
0
        public bool Register(RegModel model)
        {
            bool user = _userRepository.SerchUser(model.Name, model.Password);

            if (user != true)
            {
                _userRepository.RegUser(new User {
                    Name = model.Name, Password = model.Password
                });
                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #22
0
        public async Task <IActionResult> Register([FromBody] RegModel model)
        {
            try
            {
                var emailExists = await _userManager.FindByEmailAsync(model.Email);

                if (emailExists != null)
                {
                    throw new ValidationException("Email Already exists.");
                }
                var userDetails = new User()
                {
                    UserName          = model.Email,
                    Email             = model.Email,
                    FirstName         = model.FirstName,
                    LastName          = model.LastName,
                    PhoneNumber       = model.PhoneNumber,
                    EmailConfirmed    = true,
                    IsDeleted         = false,
                    EmailNotification = true,
                    SmsNotification   = true
                };
                var result = await _userManager.CreateAsync(userDetails, model.Password);

                if (!result.Succeeded)
                {
                    throw new ValidationException("Registration failed.");
                }
                await _userManager.AddToRoleAsync(userDetails, "doctor");

                var jwt = await _jwtTokenGenerator.GenerateToken(userDetails);

                JObject returnData = new JObject();
                returnData["token"] = jwt;
                return(Ok(returnData.ToString()));
            }
            catch (Exception ex)
            {
                return(Ok(new JObject
                {
                    ["error"] = ErrorCodes.GetCode("GenericError"),
                    ["Message"] = ex.Message
                }.ToString()));
            }
        }
 public ActionResult Register(RegModel model, string role)
 {
     if (ModelState.IsValid)
     {
         if (new UserProfileRepository(new BaseContext()).IsValidEmail(model.Email))
         {
             model.RegUser(role);
             Login(new LoginModel {
                 Email = model.Email, Password = model.Password
             });
         }
         else
         {
             ModelState.AddModelError("Email", "Данная электронная почта уже занята!");
         }
     }
     return(View(model));
 }
Пример #24
0
        public async Task <IActionResult> Login([FromBody] RegModel model)
        {
            try
            {
                var userDetails = await _userManager.FindByNameAsync(model.Username);

                if (userDetails == null || userDetails.IsDeleted)
                {
                    throw new GenericException(ErrorCodes.GetCode("UserNotFound"));
                }
                var result = await _userManager.CheckPasswordAsync(userDetails, model.Password);

                if (!result)
                {
                    throw new GenericException(ErrorCodes.GetCode("PasswordIncorrect"));
                }
                bool isadmin = await _userManager.IsInRoleAsync(userDetails, "superadmin");

                var roles = await _userManager.GetRolesAsync(userDetails);

                var jwt = await _jwtTokenGenerator.GenerateToken(userDetails);

                JObject returnData = new JObject();
                returnData["token"] = jwt;
                returnData["role"]  = roles[0];
                returnData["Email"] = model.Email;
                return(Ok(returnData.ToString()));
            }
            catch (GenericException ex)
            {
                return(Ok(new JObject
                {
                    ["error"] = ex.Code,
                }.ToString()));
            }
            catch (Exception ex)
            {
                return(Ok(new JObject
                {
                    ["error"] = ErrorCodes.GetCode("GenericError"),
                    ["message"] = ex.Message
                }.ToString()));
            }
        }
Пример #25
0
 public ActionResult Register(RegModel model)
 {
     if (ModelState.IsValid)
     {
         if (_authProvider.Register(model))
         {
             return(RedirectToAction("Index", "Home"));
         }
         else
         {
             ModelState.AddModelError("", "Пользователь с таким логином уже существует");
             return(View(model));
         }
     }
     else
     {
         ModelState.AddModelError("", "Ошибка при регистрации");
         return(View(model));
     }
 }
Пример #26
0
        public ActionResult Registration(RegModel model)
        {
            if (ModelState.IsValid)
            {
                var salt     = Base.BLL.Hash.CreateSalt(10);
                var passhash = Base.BLL.Hash.GenerateSaltedHash(model.Password, salt);


                User user = null;
                using (DataContextcs db = new DataContextcs())
                {
                    user = db.Users.FirstOrDefault(u => u.Email == model.Email);
                }
                if (user == null)
                {
                    using (DataContextcs db = new DataContextcs())
                    {
                        db.Users.Add(new User {
                            Email = model.Email, Nickname = model.Nickname, PassHash = Convert.ToBase64String(passhash), Birth = model.Birth, Salt = Convert.ToBase64String(salt), RegDate = DateTime.Now
                        });
                        db.SaveChanges();
                        var pass = Convert.ToBase64String(passhash);
                        user = db.Users.Where(u => u.Email == model.Email && u.PassHash == pass).FirstOrDefault();
                    }

                    if (user != null)
                    {
                        FormsAuthentication.SetAuthCookie(model.Email, true);
                        string login = HttpContext.User.Identity.Name;
                        return(RedirectToAction("Profile", "Home"));
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Пользователь с таким логином уже существует");
                }
            }

            return(View(model));
        }
Пример #27
0
        public async Task <ActionResult> UpdatePassword([FromBody] RegModel model)
        {
            try
            {
                var userId = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;
                var user   = await _userManager.FindByIdAsync(userId);

                var result = await _userManager.CheckPasswordAsync(user, model.Password);

                if (result)
                {
                    var passwordHash = _userManager.PasswordHasher.HashPassword(user, model.NewPassword);
                    user.PasswordHash = passwordHash;
                    await _userManager.UpdateAsync(user);

                    var jwt = await _jwtTokenGenerator.GenerateToken(user);

                    return(Ok(new JObject
                    {
                        ["token"] = jwt
                    }.ToString()));
                }
                throw new GenericException(ErrorCodes.GetCode("Unauthorized"));
            }
            catch (GenericException ex)
            {
                return(Ok(new JObject
                {
                    ["error"] = ex.Code
                }.ToString()));
            }
            catch (Exception ex)
            {
                return(Ok(new JObject
                {
                    ["error"] = ex.Message
                }.ToString()));
            }
        }
Пример #28
0
        private void ShowRegisteredInfo(RegModel reg)
        {
            lab_status.Text = "已注册";

            //gb_registersuccess.Visible = true;
            gb_noregister.Visible = false;
            gb_registersuccess.Text = "已注册";
            lab_machinecode2.Text = reg._code;
            lab_installtime2.Text = reg._installTime;
            lab_registertime.Text = reg._activeTime;
        }
Пример #29
0
        private void ShowUnRegisteredInfo(RegModel reg)
        {
            lab_status.Text = "未注册";

            gb_noregister.Visible = true;
            gb_registersuccess.Visible = false;

            gb_noregister.Text = "未注册";
            lab_machinecode.Text = reg._code;
            lab_installtime.Text = reg._installTime;
            txt_requeststr.Text = reg._code;
        }
Пример #30
0
        private RegModel GetRegisterInfo()
        {
            RegModel regModel = new RegModel();

            Microsoft.Win32.RegistryKey localRegKey = Microsoft.Win32.Registry.LocalMachine;
            Microsoft.Win32.RegistryKey userRegKey = Microsoft.Win32.Registry.CurrentUser;

            try
            {
                regModel._installTime = localRegKey.OpenSubKey(regPath).GetValue("InstallTime").ToString();

                string[] subkeys1 = (localRegKey.OpenSubKey(regPath).GetSubKeyNames());
                string[] subkeys2 = (userRegKey.OpenSubKey(regPath).GetSubKeyNames());
                if (subkeys1.Length == 1 && subkeys2.Length == 1)
                {
                    if (subkeys1[0].Equals(subkeys2[0]))
                    {
                        regModel._code = subkeys1[0];
                        Microsoft.Win32.RegistryKey userRegSetCodeKey = userRegKey.OpenSubKey(regPath).OpenSubKey(subkeys1[0]);
                        string[] subkeys_codes = userRegSetCodeKey.GetValueNames();

                        foreach (string item in subkeys_codes)
                        {
                            if (item.Equals("ActivityTime"))
                            {
                                regModel._activeTime = userRegSetCodeKey.GetValue("ActivityTime").ToString();
                            }
                            else if (item.Equals("Type")) //Person,Inc
                            {
                                regModel._type = userRegSetCodeKey.GetValue("Type").ToString();
                            }
                            else if (item.Equals(Lincense.GetMd5("Person")))
                            {
                                regModel._IncName = "Person";

                                regModel._key = userRegSetCodeKey.GetValue(item).ToString();
                            }
                            else
                            {
                                regModel._IncName = "Person";
                                regModel._key = userRegSetCodeKey.GetValue(item).ToString();
                            }
                        }
                        return regModel;
                    }
                }
                //////把机器码加进去
                ClearReg(localRegKey, userRegKey);
                localRegKey.OpenSubKey(regPath).CreateSubKey(Lincense.getInstance().CreateCode());
                userRegKey.OpenSubKey(regPath).CreateSubKey(Lincense.getInstance().CreateCode());
            }
            catch (Exception e)
            {

                throw;
            }
            finally
            {
                localRegKey.Close();
                userRegKey.Close();
            }

               return regModel;
        }
Пример #31
0
        public ActionResult SimpleRegister(RegModel model)
        {
            if (!model.Agreed)
            {
                model.ErrorText = "Для регистрации необходимо принять условия соглашения";
            }
            else
            {
                if (model.Email.IsNullOrEmpty() || !model.Email.IsMailAdress())
                {
                    model.ErrorText = "Для регистрации необходимо указать Email и пароль";
                }
                else
                {
                    var users = Membership.FindUsersByEmail(model.Email);

                    if (users.Count > 0)
                    {
                        model.ErrorText = "Пользователь с таким Email уже регистрировался на сайте";
                    }
                    else
                    {
                        var user = Membership.GetUser(model.Email);
                        if (user != null)
                        {
                            model.ErrorText = "Пользователь с таким Email уже регистрировался на сайте";
                        }
                        else
                        {
                            if (model.Password.IsNullOrEmpty())
                            {
                                model.Password = new Random(DateTime.Now.Millisecond).GeneratePassword(6);
                            }

                            MembershipCreateStatus createStatus;

                            if (!model.Email.IsMailAdress())
                            {
                                createStatus = MembershipCreateStatus.InvalidEmail;
                            }
                            else
                            {
                                user = Membership.CreateUser(model.Email, model.Password, model.Email, null, null, true,
                                                             null, out createStatus);
                            }
                            if (createStatus == MembershipCreateStatus.Success)
                            {
                                Roles.AddUserToRole(user.UserName, "Client");
                                string name = model.Name;
                                string patr = "";
                                if (name.Trim().Contains(" "))
                                {
                                    var arr = name.Split <string>(" ").ToList();
                                    if (arr.Count() == 2)
                                    {
                                        name = arr.ElementAt(0);
                                        patr = arr.ElementAt(1);
                                    }
                                }
                                var profile = new UserProfile()
                                {
                                    UserID     = (Guid)user.ProviderUserKey,
                                    FromIP     = HttpContext.Request.GetRequestIP().ToIPInt(),
                                    RegDate    = DateTime.Now,
                                    Email      = model.Email,
                                    Name       = name,
                                    Patrinomic = patr,
                                    Surname    = model.Surname,
                                };

                                var db = new DB();
                                db.UserProfiles.InsertOnSubmit(profile);
                                db.SubmitChanges();

                                MailingList.Get("RegisterLetter")
                                .WithReplacement(
                                    new MailReplacement("{PASSWORD}", model.Password)
                                    ).To(model.Email).Send();

                                FormsAuthentication.SetAuthCookie(model.Email, true);
                                model.RedirectURL  = CMSPage.Get("profile").FullUrl;
                                model.NeedRedirect = true;
                            }
                            else
                            {
                                model.ErrorText = ErrorCodeToString(createStatus);
                            }
                        }
                    }
                }
            }
            return(PartialView(model));
        }
Пример #32
0
        public IActionResult func_reg(RegModel regModel)
        {
            //if(string.IsNullOrEmpty(regModel.vcode)||string.IsNullOrEmpty(regModel.vregval))
            //    return this.FuncResult(new APIReturn(10000, $"参数错误,验证码或者验证码key错误"));
            //if (string.IsNullOrEmpty(RedisHelper.Get(regModel.vregval)) ||RedisHelper.Get(regModel.vregval).ToLower() != regModel.vcode.ToLower())
            //    return this.FuncResult(new APIReturn(10101, $"验证码错误"));
            //RedisHelper.Remove(regModel.vregval);
            string acct          = regModel.email;
            string pass          = regModel.pass;
            bool   passisencrypt = regModel.encrypt == "True" || regModel.encrypt == "true";
            string tname         = regModel.tname;
            string mobile        = regModel.mobile;
            string idcard        = regModel.idcard;
            string gatesrc       = regModel.gatesrc;
            string pstype        = regModel.pstype;
            int    qq            = regModel.qq;
            string ipstr         = regModel.ip ?? this.IP;
            string regip         = ipstr;
            bool   hasip         = !string.IsNullOrWhiteSpace(ipstr) && ipstr.Length > 7;
            int    ip            = IPToLong(ipstr);

            if (string.IsNullOrWhiteSpace(acct) || !Utilities.IsValidEmail(acct))
            {
                return(this.FuncResult(new APIReturn(10302, "帐号格式错误")));
            }

            string[] acctspt = acct.Split('@');
            string   domain  = acctspt[1].ToLower();

            if (domain.EndsWith("2980.com") && domain != "2980.com" ||
                domain == "2925.com" ||
                acct.ToLower().IndexOf("@henhaoji.com") != -1 ||
                acct.ToLower().IndexOf("@duoyi.com") != -1)
            {
                return(this.FuncResult(new APIReturn(10355, "该类邮箱不支持注册,请选用其他邮箱")));
            }
            if (!Utilities.IsValidEmail(acct))
            {
                return(this.FuncResult(new APIReturn(10302, "帐号格式错误")));
            }
            if (!string.IsNullOrWhiteSpace(mobile) && mobile.Length <= 6)
            {
                return(this.FuncResult(new APIReturn(10701, "手机号格式错误")));
            }
            if (regModel.qq.ToString().Length >= 5 && (qq <= 0))
            {
                return(this.FuncResult(new APIReturn(10730, "QQ号格式错误")));
            }
            var dicParams = this.DicParams;

            dicParams.Add("ip", this.IP ?? string.Empty);
            dicParams.Add("gatesrc", regModel.gatesrc ?? string.Empty);
            dicParams.Add("pstype", "game");
            dicParams.Add("encrypt", passisencrypt);
            dicParams.Add("email", acct);
            dicParams.Add("pass", regModel.pass ?? string.Empty);
            dicParams.Add("lang", regModel.language ?? string.Empty);
            dicParams.Add("idcard", regModel.idcard ?? string.Empty);
            dicParams.Add("tname", tname);
            dicParams.Add("mobile", mobile ?? string.Empty);
            dicParams.Add("qq", regModel.qq);

            if (regModel.adsid > 0)
            {
                dicParams.Add("adsid", regModel.adsid);
            }
            if (regModel.tgaccount > 0)
            {
                dicParams.Add("tgaccount", regModel.tgaccount);
            }
            if (!string.IsNullOrWhiteSpace(regModel.vcode) && regModel.vcode.Length == 4)
            {
                dicParams.Add("vcode", regModel.vcode);
                dicParams.Add("vregval", regModel.vregval);
            }
            if (!string.IsNullOrEmpty(regModel.extargs))
            {
                string[] extargs = regModel.extargs.Split(',');
                if (extargs.Length % 2 != 0)
                {
                    return(this.FuncResult(new APIReturn(19901, "参数不合法(extargs)")));
                }
                for (int i = 0; i < extargs.Length; i += 2)
                {
                    string fieldname = "extargs_" + extargs[i];
                    string value     = extargs[i + 1];
                    dicParams.Add(fieldname, extargs[i + 1]);
                }
            }
            return(this.FuncResult(DC2Invoker.InvokeHttp("reg", HttpMethod.Post, dicParams)));
        }
Пример #33
0
 public RegModel Create(RegModel regModel)
 {
     reg.InsertOne(regModel);
     return(regModel);
 }
Пример #34
0
        public async Task <IActionResult> RegisterCompany(RegModel model)
        {
            if (ModelState.IsValid)
            {
                Company companyTest = await _context.Companies.FirstOrDefaultAsync(c => c.Title.Equals(model.Title));

                if (companyTest == null)
                {
                    User user = await _context.Users.FirstOrDefaultAsync(u => u.Login == model.Login);

                    if (user == null)
                    {
                        //добавляем данные в бд
                        Company company = new Company
                        {
                            Title        = model.Title,
                            CreationDate = DateTime.Now,
                            WorkEmail    = model.WorkEmail
                        };

                        Department department = new Department
                        {
                            Title   = model.DepTitle,
                            Status  = true,
                            Company = company
                        };

                        Worker worker = new Worker
                        {
                            FirstName  = model.FirstName,
                            SecondName = model.SecondName,
                            //Status = true,
                            InviteCode = null,
                            Company    = company,
                            Department = department
                        };
                        byte[] salt = GenerateSalt();
                        user = new User
                        {
                            Email            = model.Email,
                            Salt             = Convert.ToBase64String(salt),
                            Password         = Hashing(model.Password, salt),
                            Login            = model.Login,
                            Company          = company,
                            Worker           = worker,
                            RegistrationDate = DateTime.Now
                        };

                        _context.Users.Add(user);
                        _context.Companies.Add(company);
                        _context.Workers.Add(worker);
                        _context.Departments.Add(department);
                        await _context.SaveChangesAsync();

                        await Authenticate(user);

                        return(RedirectToAction("AccountPanel", "Data"));
                    }
                    else
                    {
                        ModelState.AddModelError("", "Пользователь с таким логином уже существует");
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Компания с таким названием уже зарегистрирована");
                }
            }
            return(View(model));
        }
Пример #35
0
 public ActionResult AfterLogin(RegModel user)
 {
     return(View(user));
 }