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 SellIsAccount(int code, string type, int count) { if (CurrentUser != null) { AccountOrderRecord record = new AccountOrderRecord() { Count = count, ProductId = code, ProductType = type, }; AccountOrder order = CurrentUser.AccountOrders.LastOrDefault(ord => !ord.Completed); if (order != null) { record.AccountOrder = order; order.AccountOrderRecords.Add(record); } else { order = new AccountOrder() { Account = CurrentUser, AccountId = CurrentUser.Id, Completed = false }; record.AccountOrder = order; order.AccountOrderRecords.Add(record); DataContext.AccountOrders.InsertOnSubmit(order); CurrentUser.AccountOrders.Add(order); } CalcAccountOrderSum(order, count); DataContext.SubmitChanges(); } }