private void SeedSystemTestProducts() { ACM1 = Db.Context.AccountMultipliers.Where(a => a.ProductClassCode == "AM1").FirstOrDefault() ?? Db.AccountMultiplierCreate("AM1", USB1, 0.4M); ACM2 = Db.Context.AccountMultipliers.Where(a => a.ProductClassCode == "AM2").FirstOrDefault() ?? Db.AccountMultiplierCreate("AM2", USB2, 0.35M); ACM3 = Db.Context.AccountMultipliers.Where(a => a.ProductClassCode == "AM3").FirstOrDefault() ?? Db.AccountMultiplierCreate("AM3", USB3, 0.12M); ACM4 = Db.Context.AccountMultipliers.Where(a => a.ProductClassCode == "AM4").FirstOrDefault() ?? Db.AccountMultiplierCreate("AM4", USB4, 0.5M); ACM5 = Db.Context.AccountMultipliers.Where(a => a.ProductClassCode == "AM5").FirstOrDefault() ?? Db.AccountMultiplierCreate("AM5", USB5, 0.3M); ACM6 = Db.Context.AccountMultipliers.Where(a => a.ProductClassCode == "AM6").FirstOrDefault() ?? Db.AccountMultiplierCreate("AM6", USB6, 0.2M); //new DaikinServices().ImportProductData(null); //new DaikinServices().ImportProductAccessoriesData(null); //new DaikinServices().ImportDocumentData(null); //new DaikinServices().ImportProductDocumentData(null); Db.SaveChanges(); }
// #################################################################################### // Add products to a quote // #################################################################################### public void AddTestProductsToQuote(Quote quote, List <Product> products, int productSelectionVariance, AccountMultiplier multiplier) { for (int i = 0; i < products.Count; i++) { if (productSelectionVariance % (i + 1) == 0) { var item = CreateTestQuoteItem(Db.Context, quote, products[i], i + 1, multiplier); quote.QuoteItems.Add(item); if (products[i].AllowCommissionScheme) { quote.TotalListCommission += item.ListPrice * item.Quantity; quote.TotalNetCommission += quote.TotalListCommission * ((item.Multiplier == 0) ? 1 : item.Multiplier); } else { quote.TotalListNonCommission += item.ListPrice * item.Quantity; quote.TotalNetNonCommission += quote.TotalListNonCommission * ((item.Multiplier == 0) ? 1 : item.Multiplier); } quote.TotalNet = quote.TotalNetCommission; quote.TotalList = quote.TotalListCommission; } } }
// #################################################################################### // Create quote item // #################################################################################### public QuoteItem CreateTestQuoteItem(DPOContext context, Quote quote, Product product, decimal quantity, AccountMultiplier multiplier) { var item = Db.QuoteItemCreate(quote); item.QuoteId = quote.QuoteId; item.ProductId = product.ProductId; item.ProductNumber = product.ProductNumber; item.Description = product.Name; item.Quantity = quantity; item.Multiplier = multiplier.Multiplier; item.AccountMultiplierId = multiplier.AccountMultiplierId; item.ListPrice = product.ListPrice; return(item); }