public int Add(IIncome income) { int incomeId = 0; //for (int i = 0; i < 2000; i++) //{ // incomeId = _incomeRepository.AddIncome(income); //} incomeId = _incomeRepository.AddIncome(income); if (incomeId >= 1) { _incomeMongoRepository.Add(income); //this.RefreshMongoDB(income.UserId); } return(incomeId); }
public async Task <IActionResult> Checkout(CheckoutViewModel viewModel) { if (ModelState.IsValid) { //Add income to the database ShopIncome income = new ShopIncome(); income.MoneyIn = viewModel.FullPrice; income.Date = DateTime.Now; _incomeRepository.AddIncome(income); //Add all items to the database and update stock List <ShoppingCartItemModel> Items = _shoppingCartItemRepository.GetItemsByCartId(viewModel.CartId); for (int i = 0; i < Items.Count; i++) { //Add ordered item Items[i].Product = _productRepository.GetProduct(Items[i].ItemId); UserOrderItemModel user_item = new UserOrderItemModel(); user_item.Ammount = Items[i].Ammount; user_item.ProductName = Items[i].Product.Name; user_item.ProductOrderId = Items[i].Product.Id; user_item.OrderId = Items[i].ShoppingCartId; _userOrderItemRepository.AddOrderItem(user_item); //Update stock ProductModel product = _productRepository.GetProduct(Items[i].ItemId); product.Quantity -= user_item.Ammount; _productRepository.Update(product); } //Get user var user = await _userManager.GetUserAsync(HttpContext.User); //Create order object UserOrderModel user_order = new UserOrderModel(); user_order.DateOfOrder = DateTime.Now; user_order.OrderId = viewModel.CartId; user_order.AdditionalInformation = viewModel.AdditionalInformation; user_order.FullPrice = viewModel.FullPrice; //Add user information user_order.UserId = user.Id; user_order.UserCity = user.City; user_order.UserEmail = user.Email; user_order.UserName = $"{user.FirstName} {user.LastName}"; user_order.UserPhoneNumber = user.PhoneNumber; user_order.UserPostCode = user.PostCode; user_order.UserStreetAdress = $"{user.StreetName} {user.StreetNumber}"; user_order.UserCity = user.City; _userOrderRepository.AddOrder(user_order); //Update statistics _statisticsRepository.UpdateUserOrderMean(viewModel.FullPrice); _statisticsRepository.UpdateTotalSalesMoney(viewModel.FullPrice); _statisticsRepository.UpdateTotalNumberOfOrders(); //Update ordering user iformations user.OrdersAmmount++; user.MoneySpent += viewModel.FullAmmount; await _userManager.UpdateAsync(user); //Clear cart return(RedirectToAction("ClearCartPayment", "Cart")); } return(View(viewModel)); }
public ActionResult AddIncome(Incomes incomes) { incomes.UserId = User.Identity.GetUserId(); incomeRepository.AddIncome(incomes); return(RedirectToAction("Index")); }