private void getPrepexSuppliesReport()
        {
            //we get all clients
            var allSizes = getPPDeviceSizes();
            var resList  = new List <string>();

            resList.Add(Resources.GetString(Resource.String.ppx_sys_deviceusage));
            resList.Add(System.Environment.NewLine);
            resList.Add(PPDeviceSizes.getHeader());

            var ordered = allSizes.OrderByDescending(t => t.PlacementDate);

            foreach (var dayUsage in ordered)
            {
                resList.Add(dayUsage.toDisplay());
            }

            var asString = string.Join(System.Environment.NewLine, resList);

            setTextResults(asString);
        }
        List <PPDeviceSizes> getPPDeviceSizes()
        {
            var allClients = new PpxLookupProvider().Get();
            var allSizes   = new Dictionary <int, PPDeviceSizes>();

            foreach (var client in allClients)
            {
                PPDeviceSizes current = null;
                var           dayId   = (client.PlacementDate.Year * 1000) + client.PlacementDate.DayOfYear;
                if (!allSizes.TryGetValue(dayId, out current))
                {
                    current         = new PPDeviceSizes(client.PlacementDate);
                    allSizes[dayId] = current;
                }
                current.Add(client.DeviceSize);
            }

            var toReturn = new List <PPDeviceSizes>();

            toReturn.AddRange(allSizes.Values);
            return(toReturn);
        }