public ActionResult MakeOrder(TourOrderViewModel order) { try { var orderDto = new TourOrderDTO { TourId = order.TourId, Date = DateTime.Now, Email = order.Email }; tourOrderService.MakeOrder(orderDto); TempData["successful"] = string.Format("Спасибо, Ваш заказ успешно обработан."); return(RedirectToAction("Index")); } catch (ValidationException ex) { ModelState.AddModelError(ex.Property, ex.Message); } return(View(order)); }
//TourOrderService в конструкторе принимает объект IUnitOfWork, через который идет взаимодействие с уровнем DAL. public void MakeOrder(TourOrderDTO orderDTO) { Tour tour = Database.Tours.GetByID(orderDTO.TourId); if (tour == null) { throw new ValidationException("Выбраный тур не найден", ""); } TourBooking order = new TourBooking { TourId = orderDTO.TourId, Date = DateTime.Now, Email = orderDTO.Email, Sum = tour.Price }; Database.TourOrders.Insert(order); Database.Save(); }