public NawContracts[] GetPatients() { MultiChain chain = new MultiChain(); var patients = chain.ListStreams(); List <NawContracts> patientsContracts = new List <NawContracts>(); foreach (var patient in patients.streams) { chain.Subscribe(patient.name); var result = chain.GetStreamItemByKey(patient.name, patientnaw); NawContracts deserialized = null; if (result != null && result.streamitems.Any()) { try { var locationAndKey = this.DeEncryptHexData(result.streamitems.Last().data); var filedata = File.ReadAllText(locationAndKey.Split('|')[0]); var xml = new XmlSerializer(typeof(NawContracts)); deserialized = (NawContracts)xml.Deserialize(new StringReader(filedata)); patientsContracts.Add(deserialized); } catch (Exception e) { Console.WriteLine(e); } } if (patient.name.Contains("-items")) { patientsContracts.Last().ItemsList = new List <Items> { new Items { DataBlocks = patient.items, PhysicianIdentification = patient.name } }; } } return(patientsContracts.ToArray()); }