using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace HanyadikHetVan.DTO
{
    public class WeeklyTimeSpanDTO
    {
        public int Id { get; set; }
        public DateTime Startdate { get; set; }

        public virtual ICollection<PauseDTO> Pauses { get; set; }

        public virtual ICollection<FunFactDTO> FunFacts { get; set; }

        public int CurrentWeek
        {
            get
            {
                TimeSpan allPause = this.Pauses.Aggregate(TimeSpan.Zero, (sumSoFar, nextPause) => sumSoFar + (nextPause.Enddate - nextPause.Startdate));

                TimeSpan wtsLength = DateTime.Now - this.Startdate;

                return (wtsLength - allPause).Days / 7;
            }
        }
    }
}
