コード例 #1
0
    public List <DateSpan> GetFreeTime(DateSpan i)
    {
        List <DateSpan> ld = new  List <DateSpan> ();

        if (IsHitTo(i.Start))
        {
            ld.Add(new DateSpan()
            {
                Start = this.Start, End = I.End
            });
            if (IsHitTo(i.End))
            {
                ld.Add(new DateSpan()
                {
                    Start = i.Start, End = i.Start
                });
            }
        }
        else
        {
            if (IsHitTo(i.Start))
            {
                ld.Add(new DateSpan()
                {
                    Start = i.End, End = this.End
                });
            }
            else
            {
                if (i.Contains(this))
                {
                    return(new  List <DateSpan> ());
                }
                else
                {
                    ld.Add(this);
                }
            }
        }
        return(ld);
    }