Example #1
0
        public ActionResult EditExtras(ExtrasesVM model)
        {
            var orderDetailId = model.OrderDetail.OrderDetailID;
            var orderDetail   = OrderService.GetCurrentOrder()
                                .OrderDetails.First(od => od.OrderDetailID ==
                                                    orderDetailId);
            var currentExtras = OrderExtrasService.GetAll()
                                .Where(oe => oe.OrderDetailID == orderDetailId)
                                .ToList();
            var remove = currentExtras.Where(tc =>
                                             !model.SelectedExtrases.Contains(tc.Extras_ID) &&
                                             !Extrases.IsTravel(tc.Extras_ID)).ToList();

            for (var index = 0; index < remove.Count; index++)
            {
                var category = remove[index];
                OrderExtrasService.Delete(category);
            }

            var add = model.SelectedExtrases.Where(id =>
                                                   !currentExtras.Select(tc => tc.Extras_ID).Contains(id));

            foreach (var extrasId in add)
            {
                var courseTc = orderDetail.Course_TC;
                InsertExtras(courseTc, orderDetailId, extrasId);
            }
            OrderExtrasService.SubmitChanges();

            return(RedirectBack());
        }
Example #2
0
 public void InsertExtras(string courseTc, decimal orderDetailId, decimal extrasId)
 {
     OrderExtrasService.Insert(new OrderExtras {
         Extras_ID     = extrasId,
         OrderDetailID = orderDetailId,
         Price         = PriceService.GetPrice(ExtrasService.GetByPK(extrasId),
                                               courseTc)
     });
 }