public void Append(IdentifiedObservations observations) { foreach (IdentifiedObservationsItem ioi in IdentifiedObservations) { if (ioi.Id == observations.ObservationId) { ioi.Observations.AddRange(observations.Observations); return; } } IdentifiedObservationsItem newItem = new IdentifiedObservationsItem(observations.ObservationId); newItem.Observations.AddRange(observations.Observations); IdentifiedObservations.Add(newItem); }
public ObservationPackage GetAsObservationPackage() { //TODO: Consider sorting on identifier and timestamp List <IdentifiedObservations> identifiedObservations = new List <IdentifiedObservations>(); foreach (IdentifiedObservationsItem io in IdentifiedObservations) { IdentifiedObservations IO = new IdentifiedObservations() { ObservationId = io.Id, Observations = io.Observations.ToArray() }; identifiedObservations.Add(IO); } ObservationPackage package = new ObservationPackage() { Observations = identifiedObservations.ToArray() }; return(package); }
public void AppendObservation(int observationId, Observation observation) { IdentifiedObservations IO = null; if (Package.Observations != null && Package.Observations.Length > 0) { foreach (IdentifiedObservations io in Package.Observations) { if (io.ObservationId == observationId) { IO = io; break; } } } if (IO == null) // Insert new identified observation into array { IO = new IdentifiedObservations() { ObservationId = observationId, Observations = null }; List <IdentifiedObservations> ios = new List <IdentifiedObservations>(); if (Package.Observations != null && Package.Observations.Length > 0) { ios.AddRange(Package.Observations); } ios.Add(IO); Package.Observations = ios.ToArray(); } List <Observation> o = new List <Observation>(); if (IO.Observations != null && IO.Observations.Length > 0) { o.AddRange(IO.Observations); } o.Add(observation); // Insert observation into array IO.Observations = o.ToArray(); }