Ejemplo n.º 1
0
        public bool IsSimilarTiming(RouteRequest route, RouteRequest similarRoute,
                                    vwRRTiming routeTiming, vwRRTiming similarRouteTiming)
        {
            var diff = (similarRouteTiming.RRTheTime - routeTiming.RRTheTime);

            if (routeTiming.RRTimingOption == similarRouteTiming.RRTimingOption)
            {
                if (similarRouteTiming.RRDayofWeek == routeTiming.RRDayofWeek)
                {
                    //var diffTime = (similarRouteTiming.RRTheTime - routeTiming.RRTheTime);
                    if (Math.Abs(diff.Value.TotalHours) <= 2)
                    {
                        return(true);
                    }
                }
            }
            if (similarRouteTiming.RRTimingOption == (int)TimingOptions.InDateAndTime)
            {
                if (similarRouteTiming.RRTheDate > DateTime.Now && similarRouteTiming.RRDayofWeek == routeTiming.RRDayofWeek && Math.Abs(diff.Value.TotalHours) <= 2)
                {
                    return(true);
                }
            }
            return(false);
        }
Ejemplo n.º 2
0
        public bool IsCurrentTiming(vwRRTiming rrTiming, int diff)
        {
            var nowDate = DateTime.Now.Date;
            var minTime = DateTime.Now.AddMinutes((-1) * diff).TimeOfDay;
            var maxTime = DateTime.Now.AddMinutes(diff).TimeOfDay;

            if (rrTiming.RRTheDate == nowDate && rrTiming.RRTheTime < maxTime && rrTiming.RRTheTime > minTime)
            {
                return(true);
            }
            return(false);
        }
Ejemplo n.º 3
0
        public bool IsCurrentTiming(vwRRTiming rrTiming, int diff)
        {
            var minTime   = DateTime.Now.AddMinutes((-1) * diff).TimeOfDay;
            var maxTime   = DateTime.Now.AddMinutes(diff).TimeOfDay;
            var dayofweek = GetDayOfWeek(DateTime.Now.DayOfWeek);

            if (rrTiming.RRDayofWeek == dayofweek && rrTiming.RRTheTime < maxTime && rrTiming.RRTheTime > minTime)
            {
                return(true);
            }
            return(false);
        }
Ejemplo n.º 4
0
        public bool IsSimilarTiming(RouteRequest route, RouteRequest similarRoute, vwRRTiming routeTiming, vwRRTiming similarRouteTiming)
        {
            var diff = (similarRouteTiming.RRTheTime - routeTiming.RRTheTime);

            if (routeTiming.RRTheDate == DateTime.Now.Date && similarRouteTiming.RRTheDate == DateTime.Now.Date)// && routeTiming.RRTimingOption == similarRouteTiming.RRTimingOption)
            {
                if (Math.Abs(diff.Value.TotalHours) < 2)
                {
                    return(true);
                }
            }
            return(false);
        }
Ejemplo n.º 5
0
        public bool IsSimilarTiming(RouteRequest route, GenerateSimilarRoutes_Result similarRoute,
                                    vwRRTiming routeTiming, vwRRTiming similarRouteTiming)
        {
            var diff = (similarRouteTiming.RRTheTime - routeTiming.RRTheTime);

            if (routeTiming.RRTimingOption == similarRouteTiming.RRTimingOption)
            {
                if (similarRouteTiming.RRDayofWeek == routeTiming.RRDayofWeek)
                {
                    //var diffTime = (similarRouteTiming.RRTheTime - routeTiming.RRTheTime);
                    if (Math.Abs(diff.Value.TotalHours) < 2)
                    {
                        return(true);
                    }
                }
            }
            if (similarRouteTiming.RRDayofWeek == routeTiming.RRDayofWeek && Math.Abs(diff.Value.TotalHours) < 2)
            {
                return(true);
            }
            return(false);
        }
Ejemplo n.º 6
0
        public bool IsSimilarTiming(RouteRequest route, RouteRequest similarRoute, vwRRTiming routeTiming, vwRRTiming similarRouteTiming)
        {
            var diff = (similarRouteTiming.RRTheTime - routeTiming.RRTheTime);

            if (routeTiming.RRTheDate == DateTime.Now.Date && similarRouteTiming.RRTheDate == DateTime.Now.Date)
            {
                if (Math.Abs(diff.Value.TotalHours) < 2)
                {
                    return(true);
                }
            }
            if (similarRouteTiming.RRTimingOption == (int)TimingOptions.Weekly)
            {
                if (similarRouteTiming.RRDayofWeek == routeTiming.RRDayofWeek && Math.Abs(diff.Value.TotalHours) < 2)
                {
                    return(true);
                }
            }
            //if (similarRouteTiming.RRTimingOption == (int)TimingOptions.InDateAndTime)
            //    if (similarRouteTiming.RRTheDate.Value.Date == DateTime.Now.Date && diff.Value.TotalHours < 1)
            //        return true;
            return(false);
        }
Ejemplo n.º 7
0
        public bool IsSimilarTiming(RouteRequest route, GenerateSimilarRoutes_Result similarRoute, vwRRTiming routeTiming, vwRRTiming similarRouteTiming)
        {
            var diff    = (similarRouteTiming.RRTheTime - routeTiming.RRTheTime);
            var diffDay = (similarRouteTiming.RRTheDate - routeTiming.RRTheDate);

            if (similarRouteTiming.RRTimingOption != (int)TimingOptions.Weekly)
            {
                if (Math.Abs(diff.Value.TotalHours) < 2 && diffDay.Value.TotalDays == 0)
                {
                    return(true);
                }
            }
            if (similarRouteTiming.RRTimingOption == (int)TimingOptions.Weekly)
            {
                if (similarRouteTiming.RRDayofWeek == routeTiming.RRDayofWeek && diffDay.Value.TotalDays == 0 && Math.Abs(diff.Value.TotalHours) < 2)
                {
                    return(true);
                }
            }
            //if (similarRouteTiming.RRTimingOption == (int)TimingOptions.Today)
            //    if (routeTiming.RRTheDate.Value.Date == DateTime.Now.Date && Math.Abs(diff.Value.TotalHours) < 1)
            //        return true;
            return(false);
        }
Ejemplo n.º 8
0
 public bool IsOption(vwRRTiming timingModel)
 {
     return(timingModel.RRTimingOption == (int)TimingOptions.InDateAndTime);
 }
Ejemplo n.º 9
0
 public bool IsCurrentTiming(vwRRTiming rrTiming, int diff)
 {
     return(_timings.FirstOrDefault(x => x.IsOption(rrTiming)).IsCurrentTiming(rrTiming, diff));
 }
Ejemplo n.º 10
0
 public bool IsSimilarTiming(RouteRequest route, RouteRequest similarRoute, vwRRTiming routeTiming, vwRRTiming similarRouteTiming)
 {
     return(_timings.FirstOrDefault(x => x.IsOption(routeTiming)).IsSimilarTiming(route, similarRoute, routeTiming, similarRouteTiming));
 }
Ejemplo n.º 11
0
 public bool IsOption(vwRRTiming timingModel)
 {
     return(timingModel.RRTimingOption == (int)TimingOptions.Today);
 }
Ejemplo n.º 12
0
        public string GetTimingString(List <vwRRTiming> timingModel)
        {
            string     timing      = "";
            string     displayTime = "";
            DateTime   time;
            vwRRTiming vwRrTiming       = new vwRRTiming();
            var        timingModelCount = timingModel.Count - 1;

            for (int i = 0; i <= timingModelCount; i++)
            {
                vwRrTiming = timingModel.ElementAt(i);
                switch (vwRrTiming.RRDayofWeek)
                {
                case (int)WeekDay.Sat:
                    time        = DateTime.Today.Add((TimeSpan)vwRrTiming.RRTheTime);
                    displayTime = time.ToString("HH:mm");
                    if (i != timingModelCount && displayTime == time.ToString("HH:mm"))
                    {
                        timing += string.Format(getResource.getMessage("AtDayOfWeekNoTime") + "، ",
                                                getResource.getString("Saturday"));
                    }
                    else
                    {
                        timing += string.Format(getResource.getMessage("AtDayOfWeek") + " - ",
                                                getResource.getString("Saturday"), displayTime);
                    }
                    break;

                case (int)WeekDay.Sun:
                    time        = DateTime.Today.Add((TimeSpan)vwRrTiming.RRTheTime);
                    displayTime = time.ToString("HH:mm");
                    if (i != timingModelCount && displayTime == time.ToString("HH:mm"))
                    {
                        timing += string.Format(getResource.getMessage("AtDayOfWeekNoTime") + "، ",
                                                getResource.getString("Sunday"));
                    }
                    else
                    {
                        timing += string.Format(getResource.getMessage("AtDayOfWeek") + " - ",
                                                getResource.getString("Sunday"), displayTime);
                    }

                    break;

                case (int)WeekDay.Mon:
                    time        = DateTime.Today.Add((TimeSpan)vwRrTiming.RRTheTime);
                    displayTime = time.ToString("HH:mm");
                    if (i != timingModelCount && displayTime == time.ToString("HH:mm"))
                    {
                        timing += string.Format(getResource.getMessage("AtDayOfWeekNoTime") + "، ",
                                                getResource.getString("Monday"));
                    }
                    else
                    {
                        timing += string.Format(getResource.getMessage("AtDayOfWeek") + " - ",
                                                getResource.getString("Monday"), displayTime);
                    }
                    break;

                case (int)WeekDay.Tue:
                    time        = DateTime.Today.Add((TimeSpan)vwRrTiming.RRTheTime);
                    displayTime = time.ToString("HH:mm");
                    if (i != timingModelCount && displayTime == time.ToString("HH:mm"))
                    {
                        timing += string.Format(getResource.getMessage("AtDayOfWeekNoTime") + "، ",
                                                getResource.getString("Tuesday"));
                    }
                    else
                    {
                        timing += string.Format(getResource.getMessage("AtDayOfWeek") + " - ",
                                                getResource.getString("Tuesday"), displayTime);
                    }
                    break;

                case (int)WeekDay.Wed:
                    time        = DateTime.Today.Add((TimeSpan)vwRrTiming.RRTheTime);
                    displayTime = time.ToString("HH:mm");
                    if (i != timingModelCount && displayTime == time.ToString("HH:mm"))
                    {
                        timing += string.Format(getResource.getMessage("AtDayOfWeekNoTime") + "، ",
                                                getResource.getString("Wednesday"));
                    }
                    else
                    {
                        timing += string.Format(getResource.getMessage("AtDayOfWeek") + " - ",
                                                getResource.getString("Wednesday"), displayTime);
                    }
                    break;

                case (int)WeekDay.Thu:
                    time        = DateTime.Today.Add((TimeSpan)vwRrTiming.RRTheTime);
                    displayTime = time.ToString("HH:mm");
                    if (i != timingModelCount && displayTime == time.ToString("HH:mm"))
                    {
                        timing += string.Format(getResource.getMessage("AtDayOfWeekNoTime") + "، ",
                                                getResource.getString("Thursday"));
                    }
                    else
                    {
                        timing += string.Format(getResource.getMessage("AtDayOfWeek") + " - ",
                                                getResource.getString("Thursday"), displayTime);
                    }
                    break;

                case (int)WeekDay.Fri:
                    time        = DateTime.Today.Add((TimeSpan)vwRrTiming.RRTheTime);
                    displayTime = time.ToString("HH:mm");
                    if (i != timingModelCount && displayTime == time.ToString("HH:mm"))
                    {
                        timing += string.Format(getResource.getMessage("AtDayOfWeekNoTime") + "، ",
                                                getResource.getString("Friday"), displayTime);
                    }
                    else
                    {
                        timing += string.Format(getResource.getMessage("AtDayOfWeek") + " - ",
                                                getResource.getString("Friday"), displayTime);
                    }
                    break;
                }
            }
            return(timing.Substring(0, timing.Length - 3));
        }
Ejemplo n.º 13
0
 public bool IsCurrentTiming(vwRRTiming rrTiming, int diff)
 {
     return(_timingStrategy.IsCurrentTiming(rrTiming, diff));
 }
Ejemplo n.º 14
0
 public bool IsSimilarTiming(RouteRequest route, RouteRequest similarRoute, vwRRTiming routeTiming, vwRRTiming similarRouteTiming)
 {
     return(_timingStrategy.IsSimilarTiming(route, similarRoute, routeTiming, similarRouteTiming));
 }