private void CheckForPricesBelowZero(UserSpecificPrice price) { decimal final = price.PriceWithAdjustments(); if (final < 0) { decimal tweak = -1 * final; price.AddAdjustment(tweak, "Price can not be below zero"); } }
private void AdjustProductPriceForUser(UserSpecificPrice price, Catalog.Product p, Membership.CustomerAccount currentUser) { if (currentUser == null) return; if (currentUser.Bvin == string.Empty) return; if (currentUser.PricingGroupId == string.Empty) return; if (p == null) return; if (price == null) return; decimal startingPrice = price.PriceWithAdjustments(); Contacts.PriceGroup pricingGroup = ContactServices.PriceGroups.Find(currentUser.PricingGroupId); if (pricingGroup == null) return; decimal nonGroupPrice = price.BasePrice; decimal groupPrice = nonGroupPrice; groupPrice = pricingGroup.GetAdjustedPriceForThisGroup(p.SitePrice, p.ListPrice, p.SiteCost); decimal amountOfDiscount = groupPrice - nonGroupPrice; price.AddAdjustment(amountOfDiscount, "Price Group"); }