Exemple #1
0
        public void TestMethod2()
        {
            var mfe = new MainFilterEntity
            {
                Country    = "United Kingdom",
                PoolRegion = "South England"
                ,
                CmsLogic        = true,
                LocationGrpArea = "HEATHROW"
                ,
                CarSegment = "Car",
                CarClass   = @"CompactMan",
                CarGroup   = "C"
            };


            //var ss = AlertsDataAccess.GetLocationCarGroupsWithNegativeBalance(mfe, DateTime.Now.AddDays(2).Date);

            var alertClasses = AlertsDataAccess.GetLocationCarGroups(mfe, DateTime.Now.AddDays(1).Date);
            //var dd = alertClasses.Where(d => d.Label.Substring(0,7) == "GEAAC60").ToList();

            var actualsClasses = ReservationsDataAccess.CalculateTopics(true, 20, mfe, false, false);

            foreach (var ac in alertClasses)
            {
                var time = ac.Tme;
                var data = actualsClasses.FirstOrDefault(d => d.Tme == time);
                //var labelBits = ac.Label.Split(' ');
                if (data != null)
                {
                    Assert.IsTrue(ac.Balance == data.Balance);
                }

                //var branch = labelBits[0];
                // var carGroup = labelBits[1];
                //var balance = ac.Balance;
            }


            Assert.IsTrue(true);
        }
        public override IList <AlertEntity> GetTable(params String[] s)
        {
            if (string.IsNullOrEmpty(Filter.Country))
            {
                return(new List <AlertEntity>());
            }

            var alertClasses = AlertsDataAccess.GetLocationCarGroupsWithNegativeBalance(Filter, DateSelected);

            var alertsEnities   = new List <AlertEntity>();
            var nextHours       = new List <string>();
            var following4Hours = new List <string>();
            var restOfDay       = new List <string>();
            var custom          = new List <string>();

            var now = DateTime.Now;
            var hoursUntilEndOfToday = (now.Date.AddDays(1) - now).TotalHours + 1;

            foreach (var ac in alertClasses.OrderBy(d => d.Balance))
            {
                var formattedEntity = string.Format("{0}|{1}", ac.Label, ac.Balance);
                if (ac.Tme == 0)
                {
                    nextHours.Add(formattedEntity);
                }
                if (ac.Tme > 0 && ac.Tme < 5)
                {
                    following4Hours.Add(formattedEntity);
                }
                if (ac.Tme >= 5 && ac.Tme <= hoursUntilEndOfToday)
                {
                    restOfDay.Add(formattedEntity);
                }
                if (ac.Tme > hoursUntilEndOfToday)
                {
                    custom.Add(formattedEntity);
                }
            }

            var maxEntities = Math.Max(nextHours.Count, Math.Max(following4Hours.Count, Math.Max(custom.Count, restOfDay.Count)));

            for (int i = 0; i < maxEntities; i++)
            {
                var ae = new AlertEntity();
                if (nextHours.Count > i)
                {
                    ae.NextHour = nextHours[i];
                }
                if (following4Hours.Count > i)
                {
                    ae.Follow4Hours = following4Hours[i];
                }
                if (restOfDay.Count > i)
                {
                    ae.RestOfDay = restOfDay[i];
                }
                if (custom.Count > i)
                {
                    ae.Custom = custom[i];
                }
                alertsEnities.Add(ae);
            }

            return(alertsEnities);
        }