private bool PackSetHasAllMandatory(PackSet packSet, List <List <double> > lstMandatory) { foreach (List <double> mandatorySum in lstMandatory) { bool found = false; int count = packSet.Sums.Count(elm => elm == mandatorySum[0]); if (count < mandatorySum.Count) { return(false); } /*foreach (Pack pack in packSet.Packs) * { * if (pack.Sums.Contains(sum)) * { * found = true; * break; * } * } * * if (!found) * return false; * else * found = false; */ } return(true); }
private void Button2_Click(object sender, EventArgs e) { List <PackSet> lstPackSets = new List <PackSet>(); Pack p1 = new Pack(); p1.Sums.Add(32.95); p1.Sums.Add(24); p1.Sums.Add(10); p1.Sums.Add(8); Pack p2 = new Pack(); p1.Sums.Add(28.77); p1.Sums.Add(16); p1.Sums.Add(15); p1.Sums.Add(15); Pack p3 = new Pack(); p1.Sums.Add(55); p1.Sums.Add(19.5); PackSet ps1 = new PackSet(); ps1.Packs.Add(p1); ps1.Packs.Add(p2); ps1.Packs.Add(p3); PackSet ps2 = new PackSet(); ps2.Packs.Add(p1); ps2.Packs.Add(p3); ps2.Packs.Add(p2); lstPackSets.Add(ps1); lstPackSets.Add(ps2); MessageBox.Show(lstPackSets.Count.ToString()); lstPackSets = lstPackSets.Distinct().ToList(); MessageBox.Show(lstPackSets.Count.ToString()); }