public IActionResult Create(CreateOrderBindingModel model) { if (this.ModelState.IsValid) { if (!this.eventsService.EventExists(model.EventId)) { return(this.RedirectToAction("All", "Events")); } string userId = this.userManager.GetUserId(this.User); var order = new Order { CustomerId = userId, EventId = model.EventId, TicketsCount = model.Tickets }; this.orderService.CreateOrder(order); return(this.RedirectToAction("MyEvents", "Events")); } return(this.RedirectToAction("All", "Events")); }
public IActionResult Create(CreateOrderBindingModel model) { if (!this.ModelState.IsValid) { return(this.RedirectToAction("All", "Events")); } Event @event = this.eventsService.GetEventById(model.EventId); if (@event == null) { return(this.RedirectToAction("All", "Events")); } int availableTickets = @event.TotalTickets; if (availableTickets < model.TicketsCount) { this.TempData["Error"] = $"There are not enough tickets! The number of available tickets is {availableTickets}."; return(this.RedirectToAction("All", "Events")); } string userId = this.userManager.GetUserId(this.User); Order order = this.mapper.Map <Order>(model); order.CustomerId = userId; this.orderService.CreateOrder(order); return(this.RedirectToAction("MyEvents", "Events")); }
public void CreateOrder(CreateOrderBindingModel model) { _orderStorage.Insert(new OrderBindingModel { ProductId = model.ProductId, Count = model.Count, Sum = model.Sum, DateCreate = DateTime.Now, Status = OrderStatus.Принят }); }
public void CreateOrder(CreateOrderBindingModel model) { orderLogic.CreateOrUpdate(new OrderBindingModel { BouquetId = model.BouquetId, ClientId = model.ClientId, Delivery = model.Delivery, Count = model.Count, Sum = model.Sum, DateCreate = DateTime.Now, Status = OrderStatus.Принят }); }
public IActionResult OrderTickets(CreateOrderBindingModel model) { if (!this.ModelState.IsValid) { return(this.RedirectToAction("All", "Events", model)); } try { this.ordersService.CreateOrder(model); } catch (Exception e) { var errorModel = new NotEnoughTicketsErrorViewModel(); errorModel.TotalTickets = e.Data["Tickets"].ToString(); return(this.RedirectToAction("NotEnoughTicketsError", errorModel)); } return(this.RedirectToAction("My", "Events")); }
public void CreateOrder(CreateOrderBindingModel model) { orderLogic.CreateOrUpdate(new OrderBindingModel { KomlectId = model.KomlectId, ClientId = model.ClientId, Count = model.Count, Sum = model.Sum, DateCreate = DateTime.Now, Status = OrderStatus.Принят }); MailLogic.MailSendAsync(new MailSendInfo { MailAddress = clientLogic.Read(new ClientBindingModel { Id = model.ClientId })?[0]?.Email, Subject = $"Новый заказ", Text = $"Заказ принят." }); }
public void CreateOrder(CreateOrderBindingModel model) { var order = this.mapper.Map <EventuresOrder>(model); var customer = this.db.Users.FirstOrDefault(u => u.UserName == model.CustomerName); var @event = this.db.Events.FirstOrDefault(e => e.Id == model.EventId); if (@event.TotalTickets < model.Tickets) { var ex = new ArgumentOutOfRangeException(); ex.Data["Tickets"] = @event.TotalTickets.ToString(); throw ex; } order.CutomerId = customer.Id; order.Customer = customer; order.Event = @event; order.OrderedOn = DateTime.UtcNow; @event.TotalTickets -= model.Tickets; this.db.Orders.Add(order); this.db.SaveChanges(); }
public void CreateOrder(CreateOrderBindingModel model) { try { Random rnd = new Random(); var dishes = dishLogic.Read(null); var firstDishes = dishes.Where(x => x.DishType == DishType.Первое).ToList(); var secondDishes = dishes.Where(x => x.DishType == DishType.Второе).ToList(); var desserts = dishes.Where(x => x.DishType == DishType.Десерт).ToList(); var drinks = dishes.Where(x => x.DishType == DishType.Напиток).ToList(); if (firstDishes.Count() == 0 || secondDishes.Count() == 0 || desserts.Count() == 0 || drinks.Count() == 0) { throw new Exception("Отсутствуют 4 разных вида блюд"); } int indexFD = rnd.Next(0, firstDishes.Count()); int indexSD = rnd.Next(0, secondDishes.Count()); int indexDessert = rnd.Next(0, desserts.Count()); int indexDrink = rnd.Next(0, drinks.Count()); orderLogic.CreateOrUpdate(new OrderBindingModel { ClientId = model.ClientId, OrderDishes = new Dictionary <int, (string, decimal)> { { firstDishes[indexFD].Id.Value, (firstDishes[indexFD].DishName, firstDishes[indexFD].Price) }, { secondDishes[indexSD].Id.Value, (secondDishes[indexSD].DishName, secondDishes[indexSD].Price) },
public CartViewModel() { Price = 0; CreateOrderBindingModel = new CreateOrderBindingModel(); }
public void CreateOrder(CreateOrderBindingModel model) => _main.CreateOrder(model);