Exemple #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="vc"></param>
        /// <returns>returns 1 if given date has bias</returns>
        public int GetBiasMinutesForDay(GregorianDateTime vc)
        {
            int biasExists = BiasMinutes;
            int biasZero   = 0;

            if (vc.month == StartDst.Month)
            {
                if (StartDst.Type == 0)
                {
                    return(vc.IsEqualOrAfterWeekdayInWeek(StartDst.Week, StartDst.Day) ? biasExists : biasZero);
                }
                else
                {
                    return((vc.day >= StartDst.Day) ? biasExists : biasZero);
                }
            }
            else if (vc.month == EndDst.Month)
            {
                if (EndDst.Type == 0)
                {
                    return(vc.IsEqualOrAfterWeekdayInWeek(EndDst.Week, EndDst.Day) ? biasZero : biasExists);
                }
                else
                {
                    return((vc.day >= EndDst.Day) ? biasZero : biasExists);
                }
            }
            else if (StartDst.Month > EndDst.Month)
            {
                // zaciatocny mesiac ma vyssie cislo nez koncovy
                // napr. pre australiu
                if ((vc.month > StartDst.Month) || (vc.month < EndDst.Month))
                {
                    return(biasExists);
                }
            }
            else
            {
                // zaciatocny mesiac ma nizsie cislo nez koncovy
                // usa, europa, asia
                if ((vc.month > StartDst.Month) && (vc.month < EndDst.Month))
                {
                    return(biasExists);
                }
            }

            return(biasZero);
        }