public static product7 calculateDealForProducts(product7 Data, PistisContext db) { var finaldDeal = deals(db); var dealpro = new List <DealProduct>(); foreach (var f in finaldDeal) { dealpro.AddRange(f.DealProduct); } var pi = Convert.ToInt32(db.ProductVariantDetails.Where(x => x.Id == Data.VariantDetailId).Include(x => x.Product.ProductCategory).FirstOrDefault().Product?.ProductCategory?.ParentId); var catid = getparentCat(pi, db); Data.Commission = GetCommissionByCategoryId(catid, db); if (dealpro.Any(z => z.ProductVariantId == Data.LandingVariant.Id)) { foreach (var p in dealpro.Where(z => z.ProductVariantId == Data.LandingVariant.Id)) { Data.Discount = Data.Discount + Convert.ToInt32(p.Deal.Discount); var priceaftercomm = Data.SellingPrice + (Data.SellingPrice * Data.Commission / 100); Data.SellingPrice = priceaftercomm; Data.PriceAfterdiscount = (priceaftercomm - (priceaftercomm * Data.Discount / 100)); } } else { Data.Discount = Data.Discount; var priceaftercomm = Data.SellingPrice + (Data.SellingPrice * Data.Commission / 100); Data.SellingPrice = priceaftercomm; Data.PriceAfterdiscount = (priceaftercomm - (priceaftercomm * Data.Discount / 100)); } return(Data); }
public static product7 calculatePriceForProducts(product7 d, PistisContext db) { var increment = db.PaymentConfiguration.Where(x => x.IsApplied == true).FirstOrDefault(); if (increment != null) { if (d.SellingPrice >= increment.Amount) { d.SellingPrice = d.SellingPrice + (d.SellingPrice * increment.Percentage / 100); d.PriceAfterdiscount = (d.SellingPrice - (d.SellingPrice * d.Discount / 100)); } } return d; }