public virtual async Task <ActionResult> CreateFactor(CreateFactorViewModel factorViewModel) { var user = await _userManager.FindByNameAsync(User.Identity.Name); if (user == null) { return(View()); } else { if (string.IsNullOrEmpty(user.FirstName) && string.IsNullOrEmpty(user.LastName) && string.IsNullOrEmpty(user.Mobile) && string.IsNullOrEmpty(user.Address)) { user.FirstName = factorViewModel.Name; user.LastName = factorViewModel.LastName; user.Mobile = factorViewModel.PhoneNumber; user.Address = factorViewModel.Address; } await _shoppingCartService.CreateFactor(factorViewModel); await _unitOfWork.SaveAllChangesAsync(); return(Content(Url.Action("UserFactor", "Home", new { area = "ShoppingCart" }))); } }
public async Task CreateFactor(CreateFactorViewModel factorViewModel) { var factor = new Factor { Name = factorViewModel.Name, Address = factorViewModel.Address, UserId = Convert.ToInt32(HttpContext.Current.User.Identity.GetUserId()), PhoneNumber = factorViewModel.PhoneNumber, LastName = factorViewModel.LastName, IssueDate = DateTime.Now }; var factorProducts = new List <FactorProduct>(); foreach (var factorProduct in factorViewModel.Products) { var selectedProduct = await _unitOfWork.Set <Product>().FindAsync(factorProduct.ProductId); factorProducts.Add(new FactorProduct { Count = factorProduct.Count, Price = selectedProduct.Prices.OrderByDescending(x => x.Date).FirstOrDefault().Price, Discount = selectedProduct.Discounts.OrderByDescending(x => x.StartDate).FirstOrDefault().Discount, ProductId = selectedProduct.Id }); } factor.Products = factorProducts; _factors.Add(factor); }
public virtual async Task <ActionResult> CreateFactor(CreateFactorViewModel factorViewModel) { await _shoppingCartService.CreateFactor(factorViewModel); await _unitOfWork.SaveAllChangesAsync(); return(Content(Url.Action("UserFactor", "Home", new { area = "ShoppingCart" }))); }