public ActionResult RemoveProductFromBasket(int productId, string productType) { AccountOrder currentAccountOrder = CurrentUser?.AccountOrders.LastOrDefault(ord => !ord.Completed); AccountOrderRecord accountOrderRecord = currentAccountOrder?.AccountOrderRecords.FirstOrDefault( rec => rec.ProductId == productId && rec.ProductType == productType); if (accountOrderRecord != null) { DataContext.AccountOrderRecords.DeleteOnSubmit(accountOrderRecord); DataContext.SubmitChanges(); CalcAccountOrderSum(currentAccountOrder, accountOrderRecord.Count); } VisitorOrder currentVisitorOrder = CurrentVisitor?.VisitorOrders.LastOrDefault(ord => !ord.Completed); VisitorOrderRecord visitorOrderRecord = currentVisitorOrder?.VisitorOrderRecords.FirstOrDefault( rec => rec.ProductId == productId && rec.ProductType == productType); if (visitorOrderRecord != null) { DataContext.VisitorOrderRecords.DeleteOnSubmit(visitorOrderRecord); DataContext.SubmitChanges(); CalcVisitorOrderSum(currentVisitorOrder, visitorOrderRecord.Count); } return(RedirectToAction("Basket")); }
public IHttpActionResult RemoveProductFromBasket(RemoveProductFromBasketModel model) { try { AccountOrder currentAccountOrder = CurrentUser?.AccountOrders.LastOrDefault(ord => !ord.Completed); AccountOrderRecord accountOrderRecord = currentAccountOrder?.AccountOrderRecords.FirstOrDefault( rec => rec.ProductId == model.ProductId && rec.ProductType == model.ProductType); if (accountOrderRecord != null) { DataContext.AccountOrderRecords.DeleteOnSubmit(accountOrderRecord); DataContext.SubmitChanges(); CalcAccountOrderSum(currentAccountOrder, accountOrderRecord.Count); return(Ok()); } VisitorOrder currentVisitorOrder = CurrentVisitor?.VisitorOrders.LastOrDefault(ord => !ord.Completed); VisitorOrderRecord visitorOrderRecord = currentVisitorOrder?.VisitorOrderRecords.FirstOrDefault( rec => rec.ProductId == model.ProductId && rec.ProductType == model.ProductType); if (visitorOrderRecord != null) { DataContext.VisitorOrderRecords.DeleteOnSubmit(visitorOrderRecord); DataContext.SubmitChanges(); CalcVisitorOrderSum(currentVisitorOrder, visitorOrderRecord.Count); return(Ok()); } } catch (Exception e) { return(InternalServerError(e)); } return(Ok()); }
private void SellIsVisitor(int code, string type, int count) { if (CurrentVisitor != null) { VisitorOrderRecord record = new VisitorOrderRecord() { Count = count, ProductId = code, ProductType = type, }; VisitorOrder order = CurrentVisitor.VisitorOrders.LastOrDefault(ord => !ord.Completed); if (order != null) { record.VisitorOrder = order; order.VisitorOrderRecords.Add(record); } else { order = new VisitorOrder() { Visitor = CurrentVisitor, VisitorId = CurrentVisitor.Id, Completed = false }; record.VisitorOrder = order; order.VisitorOrderRecords.Add(record); CurrentVisitor.VisitorOrders.Add(order); } CalcVisitorOrderSum(order, count); DataContext.SubmitChanges(); } }