public RecordInstantie(RecordDefinitie definitie, VektisData data) { Definitie = definitie; Data = data; foreach (var velddefinitie in Definitie.Velddefinities) { dynamic waarde = null; if (velddefinitie.Naam == "kenmerk_record") { waarde = Definitie.Recordcode; } else if (velddefinitie.Naam == "identificatie_detailrecord") { waarde = VeldWaarde.TIJDELIJK; // Krijgt later een waarde } else if (data.HasMethod(velddefinitie.Naam)) { waarde = data.Call(velddefinitie.Naam); } else { waarde = data.Veld(velddefinitie); } AddVeldWaarde(velddefinitie.Naam, new VeldWaarde(velddefinitie, waarde)); } }
public RecordInstantie NieuwRecord(string recordtype, VektisData data = null) { var recorddefinitie = Definitie.GetRecordefinitie(recordtype); var record = new RecordInstantie(recorddefinitie, data); var identificatie = record.GetVeldWaarde("identificatie_detailrecord"); if (identificatie != null && identificatie.Waarde == VeldWaarde.TIJDELIJK) { recordcounter++; identificatie.Waarde = recordcounter; } Records.Add(record); Groep[recordtype] = record; return(record); }