Ejemplo n.º 1
0
        public override ICopySupportObject Clone()
        {
            var o = new TimeDiagram()
            {
                BeginTime = BeginTime,
                EndTime   = EndTime,
                Height    = Height,
                Memo      = Memo,
                Name      = Name,
                Width     = Width,
            };

            NodeList.ForEach(v => o.NodeList.Add(v.Clone() as INode));
            NoteList.ForEach(v => o.NoteList.Add(v.Clone() as INote));
            ConnectionList.ForEach(v => o.ConnectionList.Add(v.Clone() as IConnection));

            TimeSeparateList.ForEach(v => o.TimeSeparateList.Add(new TimeSeparate()
            {
                Description = v.Description, BeginTime = v.BeginTime, EndTime = v.EndTime
            }));
            TrackList.ForEach(v => o.TrackList.Add(v.Clone() as ITrack));
            return(o);
        }
Ejemplo n.º 2
0
        public void AutoSetSeparate(TimeSpan minSeparate)
        {
            List <Tuple <DateTime, DateTime> > entityList = new List <Tuple <DateTime, DateTime> >();

            TrackList.ForEach(v =>
            {
                v.EntityList.ForEach(e =>
                {
                    entityList.Add(new Tuple <DateTime, DateTime>(e.BeginTime, e.EndTime));
                });
            });

            TimeSeparateList.Clear();
            TimeSeparateList.Add(new TimeSeparate()
            {
                BeginTime = BeginTime, EndTime = EndTime
            });
            entityList.ForEach(v =>
            {
                ProcessList(TimeSeparateList, v.Item1, v.Item2);
            });
            TimeSeparateList.RemoveAll(v => v.IsValid(minSeparate) == false);
        }