Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }