public static IEnumerable <ISOAllocationStamp> ExportAllocationStamps(IEnumerable <TimeScope> timeScopes) { List <ISOAllocationStamp> asps = new List <ISOAllocationStamp>(); foreach (TimeScope timeScope in timeScopes) { ISOAllocationStamp isoAllocationStamp = ExportAllocationStamp(timeScope); asps.Add(isoAllocationStamp); } return(asps); }
public static ISOAllocationStamp ExportAllocationStamp(TimeScope timeScope) { ISOAllocationStamp isoAllocationStamp = new ISOAllocationStamp(); isoAllocationStamp.Start = timeScope.TimeStamp1; isoAllocationStamp.Stop = timeScope.TimeStamp2; isoAllocationStamp.Positions = new List <ISOPosition>(); if (timeScope.Location1 != null) { isoAllocationStamp.Positions.Add(ExportPosition(timeScope.Location1)); //If no Location1, do not export Location2 if (timeScope.Location2 != null) { isoAllocationStamp.Positions.Add(ExportPosition(timeScope.Location2)); } } return(isoAllocationStamp); }
public static TimeScope ImportAllocationStamp(ISOAllocationStamp isoAllocationStamp) { TimeScope adaptTimeScope = new TimeScope(); adaptTimeScope.TimeStamp1 = isoAllocationStamp.Start; //[Check] AllocationStamp XML element: a recording with only the Start attribute defined is allowed if (isoAllocationStamp.Stop != null) { adaptTimeScope.TimeStamp2 = isoAllocationStamp.Stop; } //[Check] AllocationStamp XML element: a recording with only the Start attribute defined is allowed if (isoAllocationStamp.Duration != null) { if (isoAllocationStamp.Duration > int.MaxValue) { adaptTimeScope.Duration = TimeSpan.FromSeconds((double)isoAllocationStamp.Duration); } else { adaptTimeScope.Duration = new TimeSpan(0, 0, (int)isoAllocationStamp.Duration); } } if (isoAllocationStamp.Positions.Count == 1) { adaptTimeScope.Location1 = ImportPosition(isoAllocationStamp.Positions[0]); } else if (isoAllocationStamp.Positions.Count == 2) { adaptTimeScope.Location1 = ImportPosition(isoAllocationStamp.Positions[0]); adaptTimeScope.Location2 = ImportPosition(isoAllocationStamp.Positions[1]); } return(adaptTimeScope); }