Example #1
0
        /// <summary>
        /// Zaokrąglanie czasu do najbliższej pół godziny
        /// </summary>
        /// <param name="time"></param>
        /// <returns></returns>
        public static DateTime RoundTime(this DateTime time)
        {
            DateTime Result;
            int      hour = time.Hour;
            int      min  = time.Minute;

            Result = time.Date;

            int sek;

            if (min < 15)
            {
                min = 0;
                sek = 0;
            }
            else
            {
                if (min >= 15 && min < 45)
                {
                    min = 30;
                    sek = 0;
                }
                else
                {
                    if (hour < 23)
                    {
                        hour = hour + 1;
                    }
                    else
                    {
                        hour   = 0;
                        Result = Result.AddDays(1);
                    }
                    min = 0;
                    sek = 0;
                }
            }

            Result = new DateTime(Result.Year, Result.Month, Result.Day, hour, min, sek);

            return(Result);
        }
        public string GetOption(string Selected, char Op)
        {
            switch (Selected)
            {
            case "ss":
            {
                if (Op == '+')
                {
                    Result = Time1.AddSeconds(double.Parse(SS));
                    return(Result.ToString());
                }
                else if (Op == '-')
                {
                    Result = Time1.AddSeconds(-double.Parse(SS));
                    return(Result.ToString());
                }
                else
                {
                    return("Please choose an operator");
                }
            }

            case "mm":
            {
                if (Op == '+')
                {
                    Result = Time1.AddMinutes(double.Parse(Mm));
                    return(Result.ToString());
                }
                else if (Op == '-')
                {
                    Result = Time1.AddMinutes(-double.Parse(Mm));
                    return(Result.ToString());
                }
                else
                {
                    return("Please choose an operator");
                }
            }

            case "mm-ss":
            {
                if (Op == '+')
                {
                    Result = Time1.AddMinutes(double.Parse(Mm));
                    Result = Result.AddSeconds(double.Parse(SS));
                    return(Result.ToString());
                }
                else if (Op == '-')
                {
                    Result = Time1.AddMinutes(-double.Parse(Mm));
                    Result = Result.AddSeconds(-double.Parse(SS));
                    return(Result.ToString());
                }
                else
                {
                    return("Please choose an operator");
                }
            }

            case "hh":
            {
                if (Op == '+')
                {
                    Result = Time1.AddHours(double.Parse(HH));
                    return(Result.ToString());
                }
                else if (Op == '-')
                {
                    Result = Time1.AddHours(-double.Parse(HH));
                    return(Result.ToString());
                }
                else
                {
                    return("Please choose an operator");
                }
            }

            case "hh-mm":
            {
                if (Op == '+')
                {
                    Result = Time1.AddHours(double.Parse(HH));
                    Result = Result.AddMinutes(double.Parse(Mm));
                    return(Result.ToString());
                }
                else if (Op == '-')
                {
                    Result = Time1.AddHours(-double.Parse(HH));
                    Result = Result.AddMinutes(-double.Parse(Mm));
                    return(Result.ToString());
                }
                else
                {
                    return("Please choose an operator");
                }
            }

            case "hh-mm-ss":
            {
                if (Op == '+')
                {
                    Result = Time1.AddHours(double.Parse(HH));
                    Result = Result.AddMinutes(double.Parse(Mm));
                    Result = Result.AddSeconds(double.Parse(SS));
                    return(Result.ToString());
                }
                else if (Op == '-')
                {
                    Result = Time1.AddHours(-double.Parse(HH));
                    Result = Result.AddMinutes(-double.Parse(Mm));
                    Result = Result.AddSeconds(-double.Parse(SS));
                    return(Result.ToString());
                }
                else
                {
                    return("Please choose an operator");
                }
            }

            case "dd":
            {
                if (Op == '+')
                {
                    Result = Time1.AddDays(double.Parse(DD));
                    return(Result.ToString());
                }
                else if (Op == '-')
                {
                    Result = Time1.AddDays(-double.Parse(DD));
                    return(Result.ToString());
                }
                else
                {
                    return("Please choose an operator");
                }
            }

            case "dd-hh":
            {
                if (Op == '+')
                {
                    Result = Time1.AddDays(double.Parse(DD));
                    Result = Result.AddHours(double.Parse(HH));
                    return(Result.ToString());
                }
                else if (Op == '-')
                {
                    Result = Time1.AddDays(-double.Parse(DD));
                    Result = Result.AddHours(-double.Parse(HH));
                    return(Result.ToString());
                }
                else
                {
                    return("Please choose an operator");
                }
            }

            case "dd-hh-mm":
            {
                if (Op == '+')
                {
                    Result = Time1.AddDays(double.Parse(DD));
                    Result = Result.AddHours(double.Parse(HH));
                    Result = Result.AddMinutes(double.Parse(Mm));
                    return(Result.ToString());
                }
                else if (Op == '-')
                {
                    Result = Time1.AddHours(-double.Parse(HH));
                    Result = Result.AddMinutes(-double.Parse(Mm));
                    Result = Result.AddSeconds(-double.Parse(SS));
                    return(Result.ToString());
                }
                else
                {
                    return("Please choose an operator");
                }
            }

            case "ww":
            {
                if (Op == '+')
                {
                    Result = Time1.AddSeconds(double.Parse(WW) * 604800);
                    return(Result.ToString());
                }
                else if (Op == '-')
                {
                    Result = Time1.AddSeconds(-double.Parse(WW) * 604800);
                    return(Result.ToString());
                }
                else
                {
                    return("Please choose an operator");
                }
            }

            case "ww-dd":
            {
                if (Op == '+')
                {
                    Result = Time1.AddSeconds(double.Parse(WW) * 604800);
                    Result = Result.AddDays(double.Parse(DD));
                    return(Result.ToString());
                }
                else if (Op == '-')
                {
                    Result = Time1.AddSeconds(-double.Parse(WW) * 604800);
                    Result = Result.AddDays(-double.Parse(DD));
                    return(Result.ToString());
                }
                else
                {
                    return("Please choose an operator");
                }
            }

            case "ww-dd-hh":
            {
                if (Op == '+')
                {
                    Result = Time1.AddSeconds(double.Parse(WW) * 604800);
                    Result = Result.AddDays(double.Parse(DD));
                    Result = Result.AddHours(double.Parse(HH));
                    return(Result.ToString());
                }
                else if (Op == '-')
                {
                    Result = Time1.AddSeconds(-double.Parse(WW) * 604800);
                    Result = Result.AddDays(-double.Parse(DD));
                    Result = Result.AddHours(-double.Parse(HH));
                    return(Result.ToString());
                }
                else
                {
                    return("Please choose an operator");
                }
            }

            case "MM":
            {
                if (Op == '+')
                {
                    Result = Time1.AddMonths(int.Parse(MM));
                    return(Result.ToString());
                }
                else if (Op == '-')
                {
                    Result = Time1.AddMonths(-int.Parse(MM));
                    return(Result.ToString());
                }
                else
                {
                    return("Please choose an operator");
                }
            }

            case "MM-ww":
            {
                if (Op == '+')
                {
                    Result = Time1.AddMonths(int.Parse(MM));
                    Result = Result.AddSeconds(double.Parse(WW) * 604800);
                    return(Result.ToString());
                }
                else if (Op == '-')
                {
                    Result = Time1.AddMonths(-int.Parse(MM));
                    Result = Result.AddSeconds(-double.Parse(WW) * 604800);
                    return(Result.ToString());
                }
                else
                {
                    return("Please choose an operator");
                }
            }

            case "MM-ww-dd":
            {
                if (Op == '+')
                {
                    Result = Time1.AddMonths(int.Parse(MM));
                    Result = Result.AddSeconds(double.Parse(WW) * 604800);
                    Result = Result.AddDays(double.Parse(DD));
                    return(Result.ToString());
                }
                else if (Op == '-')
                {
                    Result = Time1.AddMonths(-int.Parse(MM));
                    Result = Result.AddSeconds(-double.Parse(WW) * 604800);
                    Result = Result.AddDays(-double.Parse(DD));
                    return(Result.ToString());
                }
                else
                {
                    return("Please choose an operator");
                }
            }

            case "yy":
            {
                if (Op == '+')
                {
                    Result = Time1.AddYears(int.Parse(YY));
                    return(Result.ToString());
                }
                else if (Op == '-')
                {
                    Result = Time1.AddYears(-int.Parse(YY));
                    return(Result.ToString());
                }
                else
                {
                    return("Please choose an operator");
                }
            }

            case "yy-MM":
            {
                if (Op == '+')
                {
                    Result = Time1.AddYears(int.Parse(YY));
                    Result = Result.AddMonths(int.Parse(MM));
                    return(Result.ToString());
                }
                else if (Op == '-')
                {
                    Result = Time1.AddYears(-int.Parse(YY));
                    Result = Result.AddMonths(-int.Parse(MM));
                    return(Result.ToString());
                }
                else
                {
                    return("Please choose an operator");
                }
            }

            case "yy-MM-ww":
            {
                if (Op == '+')
                {
                    Result = Time1.AddYears(int.Parse(YY));
                    Result = Result.AddMonths(int.Parse(MM));
                    Result = Result.AddSeconds(double.Parse(WW) * 604800);
                    return(Result.ToString());
                }
                else if (Op == '-')
                {
                    Result = Time1.AddYears(-int.Parse(YY));
                    Result = Result.AddMonths(-int.Parse(MM));
                    Result = Result.AddSeconds(-double.Parse(WW) * 604800);
                    return(Result.ToString());
                }
                else
                {
                    return("Please choose an operator");
                }
            }

            case "yy-MM-dd":
            {
                if (Op == '+')
                {
                    Result = Time1.AddYears(int.Parse(YY));
                    Result = Result.AddMonths(int.Parse(MM));
                    Result = Result.AddDays(double.Parse(DD));
                    return(Result.ToString());
                }
                else if (Op == '-')
                {
                    Result = Time1.AddYears(-int.Parse(YY));
                    Result = Result.AddMonths(-int.Parse(MM));
                    Result = Result.AddDays(-double.Parse(DD));
                    return(Result.ToString());
                }
                else
                {
                    return("Please choose an operator");
                }
            }

            case "custom":
            {
                if (Op == '-')
                {
                    if (Time2 > Time1)
                    {
                        Span = Time2 - Time1;
                    }
                    else if (Time1 > Time2)
                    {
                        Span = Time1 - Time2;
                    }
                    else
                    {
                        Span = Time2 - Time1;
                    }

                    return(Span.ToString());
                }

                else
                {
                    return("This option give difference between dates\nplease use negative");
                }
            }



            default:
            {
                return("Please selected one of option in dropdown");
            }
            }
        }