public async Task <int> Delete_Async(Guest_User obj)
 {
     using (var con = DbHelper.GetSqlConnection())
     {
         return(await con.ExecuteAsync(DeleteSP, new { obj.Cart_Id, obj.Email, obj.OTP }, commandType : CommandType.StoredProcedure));
     }
 }
 public async Task <bool> Check_Async(Guest_User obj)
 {
     using (var con = DbHelper.GetSqlConnection())
     {
         return(await con.ExecuteScalarAsync <bool>(CheckSP, new { obj.Cart_Id, obj.Email, obj.OTP }, commandType : CommandType.StoredProcedure));
     }
 }
示例#3
0
        public async Task <PartialViewResult> Guest_Checkout_Step_Two(GuestViewModel model)
        {
            if (ModelState.IsValid)
            {
                var g_user = new Guest_User {
                    Cart_Id = model.CartId, Email = model.Email, OTP = model.OTP
                };
                var result = await _guest_repo.Check_Async(g_user);

                if (result)
                {
                    //await _guest_repo.Delete_Async(g_user);
                    string name = model.Email.Substring(0, model.Email.IndexOf("@"));
                    var    user = new User {
                        Email = model.Email, FirstName = name, EmailVerified = true, Password = model.OTP.ToString()
                    };
                    var user_result = await _userRepository.RegisterUserAsync(user);

                    var cart = await _shop_repo.Shopping_Cart_Tracking_Get_By_Id(model.CartId);

                    if (user_result.Success)
                    {
                        user = user_result.Data as User;
                        await SignInAsync(user);

                        cart.UserId = user.Id;
                        user_result = await _userRepository.GenerateEmailConfirmationTokenAsync(user.Id);

                        if (user_result.Success)
                        {
                            user = user_result.Data as User;
                            await _userRepository.Email_ConfirmationAsync(user.UserKey, user.SecurityCode);
                        }
                        await _shop_repo.Shopping_Cart_Tracking_Update_By_Id(cart);

                        return(PartialView("_Guest_Checkout_2", model));
                    }
                }
                else
                {
                    return(PartialView("Info", "Unable to verify your email."));
                }
            }
            return(PartialView("Info", "Something went wrong. Please try again."));
        }