예제 #1
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            string IP = getIP();

            //if (!_IPlockServices.CheckIP(IP))
            //{
            //    ModelState.AddModelError("", "Vui lòng thử lại.");
            //    return View(model);
            //}
            if (!this.IsCaptchaValid("Validate your captcha"))
            {
                ModelState.AddModelError("", "Sai captcha");
            }
            else if (ModelState.IsValid)// && !getIP().Contains("27.66"))
            {
                var user = new ApplicationUser {
                    UserName = model.UserName, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    //save MAC + ComputerName
                    //var MAC = GetMACAddress();

                    //string ComputerName = System.Net.Dns.GetHostEntry(Request.ServerVariables["REMOTE_ADDR"]).HostName;


                    //if (!await UserManager.IsEmailConfirmedAsync(user.Id))
                    //{
                    //    //string callbackUrl = await SendEmailConfirmationTokenAsync(user.Id, "Xác thực tài khoản - Cash4Fun");

                    //    // Uncomment to debug locally
                    //    //ViewBag.Link = callbackUrl;
                    //    //ViewBag.errorMessage = "1 email xác thực đã gửi đến hộp thư của bạn. "
                    //    //                     + "Vui lòng xác thực email trước khi đăng nhập.";

                    //    // Số lượng mail < 500 thì chuyển đến phần xác thực
                    //    if (_configServices.GetConfig().MailSendToday < 400)
                    //        return RedirectToAction("ConfirmEmail", "Home");
                    //}



                    var uInfo = new UserInfo();
                    uInfo.UserId        = user.Id;
                    uInfo.WalletId      = 0;
                    uInfo.Amount        = 0;
                    uInfo.IsActive      = true;
                    uInfo.IsOnline      = true;
                    uInfo.IP            = getIP();
                    uInfo.CreateDate    = DateTime.Now;
                    uInfo.LastLoginDate = DateTime.Now;
                    uInfo.FlagLogin     = 0;
                    uInfo.Password      = model.Password;
                    //uInfo.MAC = MAC;
                    //uInfo.ComputerName = ComputerName;
                    _userInfoServices.InserUserInfo(uInfo);

                    //add Coin to ref
                    if (Session["ref"] != null)
                    {
                        string idRef   = Session["ref"].ToString();
                        var    userRef = _accountService.GetUser(idRef);
                        if (userRef != null)
                        {
                            var newUserRef = new UserRef();
                            newUserRef.UserId = userRef.Id;
                            newUserRef.RefId  = user.Id;
                            _userRefServices.InserUserRef(newUserRef);
                        }
                    }
                    return(RedirectToAction("Dashboard", "Home"));
                    //await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);

                    // For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771
                    // Send an email with this link

                    //string callbackUrl = await SendEmailConfirmationTokenAsync(user.Id, "Xác thực tài khoản - Cash4Fun");
                    //string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    //var callbackUrl = Url.Action("ConfirmEmail", "Account",
                    //   new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    //NameValueCollection values = new NameValueCollection();
                    //values.Add("apikey", "7751d86b-8f7d-41a9-a900-b5c63b88e549");
                    //values.Add("from", "*****@*****.**");
                    //values.Add("fromName", "Cash4Fun Solution");
                    //values.Add("to", user.Email);
                    //values.Add("subject", "Xác thực tài khoản - cash4fun");
                    //values.Add("bodyText", "Click vào đây để xác nhận " + callbackUrl);
                    //values.Add("bodyHtml", "Click vào đây để xác nhận " + callbackUrl);
                    ////values.Add("isTransactional", true);

                    //string address = "https://api.elasticemail.com/v2/email/send";

                    //SendMail(address, values);
                    //ViewBag.Message = "Vui lòng đăng nhập vào mail để xác nhận đăng ký.";
                    //return View("Info");
                }
                AddErrors(result);
            }
            else
            {
                ModelState.AddModelError("", "Thông tin không hợp lệ, vui lòng kiểm tra lại!");
            }
            // If we got this far, something failed, redisplay form
            return(View(model));
        }