public Dictionary <string, Dictionary <string, string> > UpdateQuantityByQuoteId(int currentQuoteId, int quantity) { Dictionary <string, Dictionary <string, string> > dictItemIDCountTotalPrice = new Dictionary <string, Dictionary <string, string> >(); // Quote quote = _Context.Quote.GetSingle(e => e.QuoteID == currentQuoteId && e.StatusID == (int)QuoteStatusEnum.Open); Quote quote = _Context.Quote.GetSingle(e => e.QuoteID == currentQuoteId && (e.StatusID != (int)QuoteStatusEnum.InActive || e.StatusID != (int)QuoteStatusEnum.Invoiced)); if (quote != null) { //QuoteDetail quoteDetail = _Context.QuoteDetail.GetAll(); //List<QuoteDetail> lstQd = _Context.QuoteDetail.GetAll(e => e.QuoteID == quote.QuoteID && e.DWSelectionID == (int)DecisionWhizardStatusEnum.Yes).ToList(); List <QuoteDetail> lstQd = _Context.QuoteDetail.GetAll(e => e.QuoteID == quote.QuoteID && e.DWSelectionID != (int)DecisionWhizardStatusEnum.No).ToList(); lstQd = lstQd.GroupBy(e => e.ItemID).Select(a => a.FirstOrDefault()).ToList(); foreach (QuoteDetail qd in lstQd) { decimal?totalPrice; if (qd != null) { if (quantity == 1) { if (qd.Quantity < 100) { qd.Quantity = qd.Quantity + 1; } } else { if (qd.Quantity > 1) { qd.Quantity = qd.Quantity - 1; } } totalPrice = qd.Item.Price * qd.Quantity; //Updating Penworthy Updated Date _Context.QuoteDetail.SaveChanges(); Dictionary <string, string> countTotalPrice = new Dictionary <string, string>(); countTotalPrice.Add(qd.Quantity.ToString(), totalPrice.ToString()); dictItemIDCountTotalPrice.Add(qd.ItemID.ToString(), countTotalPrice); } } if (quote != null) { ItemListViewService lstviewsvc = new ItemListViewService(); lstviewsvc.UserVM = UserVM; lstviewsvc.UpdatedDateTime(currentQuoteId); } if (UserVM != null) { UserVM.SCCount = lstQd.Sum(e => e.Quantity); } } return(dictItemIDCountTotalPrice); }
private void UpdateQuoteDetails(int oldQuoteid, int newQuoteid) { List <QuoteDetail> quoteDetails = _Context.QuoteDetail.GetAll(e => e.QuoteID == oldQuoteid && e.DWSelectionID == (int)DecisionWhizardStatusEnum.Yes).ToList(); Quote oldQuote = _Context.Quote.GetSingle(e => e.QuoteID == oldQuoteid); Quote newQuote = _Context.Quote.GetSingle(e => e.QuoteID == newQuoteid); newQuote.IncludeCatalogStatus = oldQuote.IncludeCatalogStatus; newQuote.UserID = oldQuote.UserID; foreach (QuoteDetail qd in quoteDetails) { qd.QuoteID = newQuoteid; qd.UpdateDate = DateTime.Now; _Context.QuoteDetail.SaveChanges(); } ItemListViewService itemlstsrvc = new ItemListViewService(); itemlstsrvc.UserVM = UserVM; itemlstsrvc.UpdatedDateTime(oldQuote.QuoteID); CustomerCatalogBarcodeManipulation(UserVM.CRMModelProperties.CustAutoID, newQuoteid); }
public List <string> UpdateQuantity(int currentQuoteId, int quantity, string itemID, string type = "") { ItemService itemsrvc = new ItemService(); itemsrvc.UserVM = UserVM; Quote currentQuote = itemsrvc.GetQuoteByLoggedIn(currentQuoteId, type); // Quote currentQuote = _Context.Quote.GetSingle(e => e.QuoteID == currentQuoteId); List <string> lstPriceQuantity = new List <string>(); List <QuoteDetail> lstQD = currentQuote.QuoteDetails.ToList(); decimal? totalPrice = 0; if (lstQD != null) { QuoteDetail iQD = lstQD.Where(e => e.ItemID == itemID).FirstOrDefault(); if (iQD != null) { iQD.Quantity = quantity; totalPrice = iQD.Item.Price * quantity; //Updating Penworthy Updated Date if (currentQuote != null) { ItemListViewService lstviewsvc = new ItemListViewService(); lstviewsvc.UserVM = UserVM; lstviewsvc.UpdatedDateTime(currentQuoteId); } _Context.QuoteDetail.SaveChanges(); } } if (UserVM != null) { UserVM.SCCount = currentQuote.QuoteDetails.Sum(e => e.Quantity); lstPriceQuantity.Add(UserVM.SCCount.ToString()); } lstPriceQuantity.Add(totalPrice.ToString()); lstPriceQuantity.Add(currentQuote.QuoteDetails.Sum(e => e.Item.Price * e.Quantity).ToString()); return(lstPriceQuantity); }
public List <string> DeleteItem(int quoteid, string item, int QuoteTypeID) { Quote currentQuote = _Context.Quote.GetSingle(e => e.QuoteID == quoteid); List <QuoteDetail> quoteDetail = new List <QuoteDetail>(); if (QuoteTypeID == (int)QuoteTypeEnum.DecisionWhizard) { quoteDetail = _Context.QuoteDetail.GetAll(e => e.QuoteID == quoteid).ToList(); } else { quoteDetail = _Context.QuoteDetail.GetAll(e => e.QuoteID == quoteid && e.DWSelectionID == (int)DecisionWhizardStatusEnum.Yes).ToList(); } int itemsCount = 0; decimal? itemsprice = 0; List <string> lstItemids = quoteDetail.Select(e => e.ItemID).ToList(); switch (item) { case "DeleteAll": { foreach (QuoteDetail qd in quoteDetail) { _Context.QuoteDetail.Delete(qd); _Context.Quote.SaveChanges(); } DWChangesStatusToNew(lstItemids); itemsCount = _Context.QuoteDetail.GetAll(e => e.QuoteID == quoteid && e.DWSelectionID == (int)DecisionWhizardStatusEnum.Yes).ToList().Sum(e => e.Quantity); itemsprice = _Context.QuoteDetail.GetAll(e => e.QuoteID == quoteid && e.DWSelectionID == (int)DecisionWhizardStatusEnum.Yes).ToList().Sum(e => e.Quantity * e.Item.Price); break; } case "IncreaseAll": { foreach (QuoteDetail qd in quoteDetail) { qd.Quantity = qd.Quantity + 1; _Context.Quote.SaveChanges(); } itemsCount = quoteDetail.Sum(e => e.Quantity); itemsprice = quoteDetail.Sum(e => e.Quantity * e.Item.Price); break; } case "DecreaseAll": { foreach (QuoteDetail qd in quoteDetail) { qd.Quantity = qd.Quantity - 1; _Context.Quote.SaveChanges(); } itemsCount = quoteDetail.Sum(e => e.Quantity); itemsprice = quoteDetail.Sum(e => e.Quantity * e.Item.Price); break; } case "Sumbit": { Quote quote = _Context.Quote.GetSingle(e => e.QuoteID == quoteid); if (quote != null) { if (ValidateQuoteID(quoteid)) { itemsCount = SetStateForQuote(quote, (int)QuoteStatusEnum.Transferred); } else { if (quote.StatusID == (int)QuoteStatusEnum.Open) { itemsCount = SetStateForQuote(quote, (int)QuoteStatusEnum.HoldRepresentative); } } } break; } default: { if (!String.IsNullOrEmpty(item)) { // int itemid = Convert.ToInt32(item); QuoteDetail qd = _Context.QuoteDetail.GetSingle(e => e.QuoteID == quoteid && e.ItemID == item); _Context.QuoteDetail.Delete(qd); _Context.Quote.SaveChanges(); lstItemids.Clear(); lstItemids.Add(item); DWChangesStatusToNew(lstItemids); } itemsCount = _Context.QuoteDetail.GetAll(e => e.QuoteID == quoteid && e.DWSelectionID == (int)DecisionWhizardStatusEnum.Yes).ToList().Sum(e => e.Quantity); itemsprice = _Context.QuoteDetail.GetAll(e => e.QuoteID == quoteid && e.DWSelectionID == (int)DecisionWhizardStatusEnum.Yes).ToList().Sum(e => e.Quantity * e.Item.Price); break; } } List <string> lstScountPrice = new List <string>(); lstScountPrice.Add(itemsCount.ToString()); lstScountPrice.Add(itemsprice.ToString()); ItemListViewService lstviewsvc = new ItemListViewService(); if (currentQuote != null) { lstviewsvc.UserVM = UserVM; lstviewsvc.UpdatedDateTime(quoteid); } return(lstScountPrice); }