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); }