public ActionResult EditSupplierDetails(List <SupplierDetailsEF> editedItems, string choice, string itemToAddCode, string supplierCode) { SupplierEF supplier = purchaseService.FindSupplierBySupplierCode(supplierCode); List <SupplierDetailsEF> supplierItems = purchaseService.FindSupplierItems(supplierCode); ViewData["supplier"] = supplier; ViewData["supplierItems"] = supplierItems; if (editedItems == null) { editedItems = new List <SupplierDetailsEF>(); } if (choice == "Add Item") { bool isValid = false; SupplierDetailsEF newItem = new SupplierDetailsEF(); //check if exists in the supplier list of items foreach (var item in supplierItems) { if (itemToAddCode == item.ItemCode) { newItem = item; isValid = true; } } //check for duplicate entry foreach (var item in editedItems) { if (itemToAddCode == item.ItemCode) { isValid = false; } } if (isValid) { editedItems.Add(newItem); } } if (choice == "Submit") { purchaseService.AmendSupplierDetails(editedItems); return(RedirectToAction("ViewSupplierDetails", "ManageSupplier", new { page = 1, supplierCode = supplierCode })); } ModelState.Clear(); return(View(editedItems)); }