public float Parse(List <SKUItems> listSKU) { float totalCost = 0; SKUItems eligibleItems1 = listSKU.Where(t => t.sKU.GetType() == offerSKU1.GetType()).FirstOrDefault(); SKUItems eligibleItems2 = listSKU.Where(t => t.sKU.GetType() == offerSKU2.GetType()).FirstOrDefault(); int maxEqual = 0; if (eligibleItems1 != null && eligibleItems2 != null) { if (eligibleItems1.count < eligibleItems2.count) { maxEqual = eligibleItems1.count; listSKU.Remove(eligibleItems1); listSKU.Where(t => t == eligibleItems2).FirstOrDefault().count -= maxEqual; } else if (eligibleItems2.count < eligibleItems1.count) { maxEqual = eligibleItems2.count; listSKU.Remove(eligibleItems2); listSKU.Where(t => t == eligibleItems1).FirstOrDefault().count -= maxEqual; } else { maxEqual = eligibleItems2.count; listSKU.Remove(eligibleItems1); listSKU.Remove(eligibleItems2); } } totalCost = maxEqual * cost; return(totalCost); }
public float Parse(List <SKUItems> listSKU) { float totalCost = 0; var eligibleItems = listSKU.Where(t => t.sKU.GetType() == offerSKU.GetType()).FirstOrDefault(); if (eligibleItems != null) { int discountCount = (eligibleItems.count / countOfSKU); totalCost = discountCount * cost; if (eligibleItems.count > (discountCount * countOfSKU)) { listSKU.Where(t => t.sKU.GetType() == offerSKU.GetType()).FirstOrDefault().count -= (discountCount * countOfSKU); } else { listSKU.Remove(eligibleItems); } } return(totalCost); }