private int CheckCompany(Company c, List <MenuProduct> products) { MenuProduct[] myProducts = new MenuProduct[products.Count]; products.CopyTo(myProducts); var myProdsList = myProducts.ToList(); int sum = 0; foreach (var menu in c.Menus) { for (var i = myProdsList.Count - 1; i >= 0; i--) { var p = myProdsList[i]; if (menu.MenuProducts.Any(innerP => innerP.ProductId == p.ProductId)) { myProdsList.Remove(p); sum += menu.MenuProducts.Where(innerP => innerP.ProductId == p.ProductId).FirstOrDefault().ProductPrice; } } } return(sum); }