public IActionResult Buy(BeerOrder beerOrder) { if (ModelState.IsValid) { this._repository.CreateOrder(beerOrder); return(RedirectToAction(nameof(Orders))); } return(RedirectToAction(nameof(Index))); }
private Guid InsertOrder(BeerOrder beerOrder) { var order = new Order { Beer = _context.Beers.Where(x => x.Id == beerOrder.BeerId).SingleOrDefault(), Processed = false, CreatedAt = DateTime.Now }; _context.Orders.Add(order); _context.SaveChanges(); return(order.Id); }
public bool Create(IDictionary <int, int> beers, IDictionary <int, int> accessories, IDictionary <int, int> giftSets, IDictionary <int, int> glasses, decimal totalPrice, int addressId, string userId) { var address = this.db.Addresses.Find(addressId); if (address == null) { return(false); } var user = this.db.Users.Find(userId); if (user == null) { return(false); } var order = new Order { Address = address, User = user, Status = OrderStatus.Processing, Date = DateTime.UtcNow, Price = totalPrice }; this.db.Orders.Add(order); this.db.SaveChanges(); foreach (var beer in beers) { var beerOrder = new BeerOrder { BeerId = beer.Key, Order = order, Quantity = beer.Value }; this.db.BeerOrders.Add(beerOrder); } foreach (var accessory in accessories) { var accessoryOrder = new AccessoryOrder { AccessoryId = accessory.Key, Order = order, Quantity = accessory.Value }; this.db.AccessoryOrders.Add(accessoryOrder); } foreach (var giftSet in giftSets) { var giftSetOrder = new GiftSetOrder { GiftSetId = giftSet.Key, Order = order, Quantity = giftSet.Value }; this.db.GiftSetOrders.Add(giftSetOrder); } foreach (var glass in glasses) { var glassOrder = new GlassOrder { GlassId = glass.Key, Order = order, Quantity = glass.Value }; this.db.GlassOrders.Add(glassOrder); } this.db.SaveChanges(); return(true); }
public async void CreateOrder(BeerOrder beerOrder) { Guid orderId = this.InsertOrder(beerOrder); await this.Enqueue(orderId); }
public async Task Post([FromBody] BeerOrder order) { //Send the beerorder for processing in the worker await _queueBus.EnqueueAsync(Models.Constants.Queues.BeerOrderQueue, order); }