Esempio n. 1
0
        /// <summary>
        /// Odpowiada za odwiedzenia węzła z typem Timespan i zwrócenie jego wartości
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override Time VisitTimespan([NotNull] DateCalculatorParser.TimespanContext context)
        {
            DateCalculatorParser.Liczba_dniContext liczba_dni = context.liczba_dni();
            DateCalculatorParser.GodzinyContext    godzina    = context.godziny();
            DateCalculatorParser.MinutyContext     minuta     = context.minuty();
            DateCalculatorParser.SekundyContext    sekunda    = context.sekundy();

            Time nowy = new Time();

            if (liczba_dni == null)
            {
                nowy.timespan = new System.TimeSpan(
                    Convert.ToInt32(godzina.GetText()),
                    Convert.ToInt32(minuta.GetText()),
                    Convert.ToInt32(sekunda.GetText())
                    );
            }
            else
            {
                nowy.timespan = new System.TimeSpan(
                    Convert.ToInt32(liczba_dni.GetText()),
                    Convert.ToInt32(godzina.GetText()),
                    Convert.ToInt32(minuta.GetText()),
                    Convert.ToInt32(sekunda.GetText())
                    );
            }

            nowy.isTimeSpan = true;
            return(nowy);
        }
Esempio n. 2
0
        /// <summary>
        /// Odpowiada za odwiedzenia węzła z typem Datetime i zwrócenie jego wartości
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override Time VisitDatetime([NotNull] DateCalculatorParser.DatetimeContext context)
        {
            DateCalculatorParser.DateContext date = context.date();

            DateCalculatorParser.DzienContext   dzien   = date.dzien();
            DateCalculatorParser.MiesiacContext miesiac = date.miesiac();
            DateCalculatorParser.RokContext     rok     = date.rok();
            DateCalculatorParser.GodzinyContext godzina = context.godziny();
            DateCalculatorParser.MinutyContext  minuta  = context.minuty();
            DateCalculatorParser.SekundyContext sekunda = context.sekundy();

            int miesiac_int = 0;

            switch (miesiac.GetText())
            {
            case "STY":
                miesiac_int = 1;
                break;

            case "LUT":
                miesiac_int = 2;
                break;

            case "MAR":
                miesiac_int = 3;
                break;

            case "KWI":
                miesiac_int = 4;
                break;

            case "MAJ":
                miesiac_int = 5;
                break;

            case "CZE":
                miesiac_int = 6;
                break;

            case "LIP":
                miesiac_int = 7;
                break;

            case "SIE":
                miesiac_int = 8;
                break;

            case "WRZ":
                miesiac_int = 9;
                break;

            case "PAZ":
                miesiac_int = 10;
                break;

            case "LIS":
                miesiac_int = 11;
                break;

            case "GRU":
                miesiac_int = 12;
                break;

            default:
                break;
            }

            DateTime Data = new System.DateTime(
                Convert.ToInt32(rok.GetText()),
                miesiac_int,
                Convert.ToInt32(dzien.GetText()),
                Convert.ToInt32(godzina.GetText()),
                Convert.ToInt32(minuta.GetText()),
                Convert.ToInt32(sekunda.GetText())
                );

            Time wynik = new Time();

            wynik.datetime   = Data;
            wynik.isTimeSpan = false;

            return(wynik);
        }