Beispiel #1
0
        public void CheckFigures()
        {
            //Arrange
            var parameters = new Dictionary <DictionaryParameter, string>
            {
                { DictionaryParameter.OwningCountry, "GE" }
                , { DictionaryParameter.LocationCountry, "GE" }
                , { DictionaryParameter.Pool, "71" }
                , { DictionaryParameter.LocationGroup, string.Empty }
                , { DictionaryParameter.Region, string.Empty }
                , { DictionaryParameter.Area, string.Empty }
                , { DictionaryParameter.Location, string.Empty }
                , { DictionaryParameter.CarSegment, string.Empty }
                , { DictionaryParameter.CarClass, string.Empty }
                , { DictionaryParameter.CarGroup, string.Empty }
                , { DictionaryParameter.CmsSelected, true.ToString() }
            };
            var daySelected = DateTime.Now.ToShortDateString();

            parameters.Add(DictionaryParameter.StartDate, daySelected);
            parameters.Add(DictionaryParameter.EndDate, daySelected);
            parameters.Add(DictionaryParameter.FleetTypes, "4,5,6");

            FleetStatusRow        fleetData;
            List <FleetStatusRow> siteComparisonData;
            List <FleetStatusRow> fleetComparisonData;

            List <FleetStatusRow> historicalTrendData;


            //Act

            using (var dataAccess = new FleetStatusDataAccess(parameters))
            {
                fleetData = dataAccess.GetFleetStatus();
            }

            using (var dataAccess = new ComparisonDataAccess(parameters))
            {
                siteComparisonData  = dataAccess.GetComparisonData(true);
                fleetComparisonData = dataAccess.GetComparisonData(false);
            }

            using (var dataAccess = new HistoricalTrendDataAccess(parameters))
            {
                historicalTrendData = dataAccess.GetCurrentTrend();
            }


            //Assert
            var totalSite       = siteComparisonData.Sum(s => s.TotalFleet);
            var totalFleet      = fleetComparisonData.Sum(s => s.TotalFleet);
            var totalTrendFleet = historicalTrendData.Last().TotalFleet;

            Assert.IsTrue(fleetData.TotalFleet == totalSite);
            Assert.IsTrue(fleetData.TotalFleet == totalFleet);
            Assert.IsTrue(fleetData.TotalFleet == totalTrendFleet);
        }
        private void RefreshData()
        {
            FleetStatusRow fleetData;
            var mergedParameters = generalParams.GetParameterDictionary();
            var startDate = mergedParameters.GetDateFromDictionary(DictionaryParameter.StartDate);
            var endDate = mergedParameters.GetDateFromDictionary(DictionaryParameter.EndDate);
            var todaysData = startDate.Date == DateTime.Now.Date && endDate == DateTime.Now.Date;

            using (var dataAccess = new FleetStatusDataAccess(mergedParameters))
            {
                lblLastUpdate.Text = LastUpdatedFromFleetNow.GetLastUpdatedDateTime(dataAccess);
                fleetData = dataAccess.GetFleetStatus();
            }
            upnlUpdatedTime.Update();
            ucFleetStatusChart.LoadChart(fleetData);
            ucFleetStatusChart.TodaysData = todaysData;
            ucFleetStatusGrid.LoadGrid(fleetData, mergedParameters);

        }
        private void PopulateGridParameters(Dictionary <DictionaryParameter, string> parameters)
        {
            var locationCountry = AllString;
            var poolRegion      = AllString;
            var locationArea    = AllString;
            var location        = AllString;
            var owningCountry   = AllString;
            var carSegment      = AllString;
            var carClass        = AllString;
            var carGroup        = AllString;
            var fleetTypes      = string.Empty;
            var dateRange       = string.Empty;

            using (var dataAccess = new FleetStatusDataAccess(parameters))
            {
                if (parameters.ContainsValueAndIsntEmpty(DictionaryParameter.LocationCountry))
                {
                    locationCountry = dataAccess.GetCountryFromId(parameters[DictionaryParameter.LocationCountry]);
                }

                if (parameters.ContainsValueAndIsntEmpty(DictionaryParameter.Pool))
                {
                    int poolId = int.Parse(parameters[DictionaryParameter.Pool]);
                    poolRegion = dataAccess.GetPoolFromId(poolId);
                }
                else
                {
                    if (parameters.ContainsValueAndIsntEmpty(DictionaryParameter.Region))
                    {
                        int regionId = int.Parse(parameters[DictionaryParameter.Region]);
                        poolRegion = dataAccess.GetRegionFromId(regionId);
                    }
                }
                if (parameters.ContainsValueAndIsntEmpty(DictionaryParameter.LocationGroup))
                {
                    int locationGroupId = int.Parse(parameters[DictionaryParameter.LocationGroup]);
                    locationArea = dataAccess.GetLocationGroupFromId(locationGroupId);
                }
                else
                {
                    if (parameters.ContainsValueAndIsntEmpty(DictionaryParameter.Area))
                    {
                        int areaId = int.Parse(parameters[DictionaryParameter.Area]);
                        locationArea = dataAccess.GetAreaFromId(areaId);
                    }
                }

                if (parameters.ContainsValueAndIsntEmpty(DictionaryParameter.Location))
                {
                    int locationId = int.Parse(parameters[DictionaryParameter.Location]);
                    location = dataAccess.GetLocationFromId(locationId);
                }

                if (parameters.ContainsValueAndIsntEmpty(DictionaryParameter.OwningCountry))
                {
                    owningCountry = dataAccess.GetCountryFromId(parameters[DictionaryParameter.OwningCountry]);
                }

                if (parameters.ContainsValueAndIsntEmpty(DictionaryParameter.CarSegment))
                {
                    int carSegmentId = int.Parse(parameters[DictionaryParameter.CarSegment]);
                    carSegment = dataAccess.GetCarSegmentFromId(carSegmentId);
                }

                if (parameters.ContainsValueAndIsntEmpty(DictionaryParameter.CarClass))
                {
                    int carClassId = int.Parse(parameters[DictionaryParameter.CarClass]);
                    carClass = dataAccess.GetCarClassFromId(carClassId);
                }

                if (parameters.ContainsValueAndIsntEmpty(DictionaryParameter.CarGroup))
                {
                    int carGroupId = int.Parse(parameters[DictionaryParameter.CarGroup]);
                    carGroup = dataAccess.GetCarGroupFromId(carGroupId);
                }
                if (parameters.ContainsValueAndIsntEmpty(DictionaryParameter.FleetTypes))
                {
                    var fleetTypeIds       = parameters[DictionaryParameter.FleetTypes].Split(',');
                    var fleetTypeIdsHolder = new List <int>();
                    fleetTypeIds.ForEach(d => fleetTypeIdsHolder.Add(int.Parse(d)));
                    fleetTypes = string.Join(", ", dataAccess.GetFleetTypenamesFromIds(fleetTypeIdsHolder));
                }
            }

            if (parameters[DictionaryParameter.StartDate] == DateTime.Now.ToShortDateString() ||
                parameters[DictionaryParameter.DayOfWeek] == "0" || parameters[DictionaryParameter.DayOfWeek] == string.Empty)
            {
                lblDayOfWeek.Text = AllString;
            }
            else
            {
                lblDayOfWeek.Text = Enum.Parse(typeof(DayOfWeek), parameters[DictionaryParameter.DayOfWeek]).ToString();
            }

            lblDate.Text              = string.Format("From {0} to {1}", parameters[DictionaryParameter.StartDate], parameters[DictionaryParameter.EndDate]);
            lblValues.Text            = parameters[DictionaryParameter.AvailabilityKeyGrouping];
            lblDisplay.Text           = parameters[DictionaryParameter.AvailabilityDayGrouping];
            lblLocationCountry.Text   = locationCountry;
            lblPoolRegion.Text        = poolRegion;
            lblLocationGroupArea.Text = locationArea;
            lblLocation.Text          = location;
            lblOwningCountry.Text     = owningCountry;
            lblCarSegment.Text        = carSegment;
            lblCarClass.Text          = carClass;
            lblCarGroup.Text          = carGroup;
            lblFleetTypes.Text        = fleetTypes;
        }