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()); }
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) }); }