using System.Collections.Generic; using PaymentServer.Models; using Newtonsoft.Json; namespace PaymentServer.Models { public class ContractData { public Dictionary> contracts = new Dictionary>(); public void AddPayments(List vendorPayments) { List existingContracts = new List(this.contracts.Keys); foreach (VendorPayment payment in vendorPayments) { if (existingContracts.Contains(payment.contractNumber)) { this.contracts[payment.contractNumber].Add(payment); } else { this.contracts.Add(payment.contractNumber, new List { payment }); existingContracts.Add(payment.contractNumber); } } Console.WriteLine(this.contracts.Count); } public string ToJson() { return JsonConvert.SerializeObject(this.contracts.Values); } } }