public async Task <JsonResult> Update_Shopping_Cart([FromBody] Cart_DTO obj) { if (obj != null) { var new_list = new List <CartItem>(); foreach (var x in obj.ShopingCart) { if (x.Product_Type == Constant.GAME) { var product = await _game_repo.Get_Details_By_SKU(x.SKU); x.Product_TypeName = product.PlatformName; x.Product_Name = product.Name; x.ImageUrl = product.ImageUrl; x.PageUrl = product.PageUrl; } if (x.Product_Type == Constant.ACCESSORIES || x.Product_Type == Constant.CONSOLE) { var product = await _prod_repo.Get_Details_By_SKU(x.SKU); x.Product_TypeName = product.ProductType; x.Product_Name = product.Name; x.ImageUrl = product.ImageUrl; x.PageUrl = product.PageUrl; } new_list.Add(x); } obj.ShopingCart = new_list; string tracking_id = string.Empty; if (string.IsNullOrEmpty(obj.Id)) { tracking_id = await _shop_repo.Add_New_Shopping_Cart_Tracking(obj); } else { tracking_id = await _shop_repo.Shopping_Cart_Tracking_Update_By_Id(obj); } if (!string.IsNullOrEmpty(tracking_id)) { foreach (var item in new_list) { item.Tracking_Id = tracking_id; } var result = await _shop_repo.Add_New_Shopping_Cart_Items(new_list); } obj.Id = tracking_id; } return(Json(obj)); }
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.")); }