public List <StationSummaryStats> GetStationSummaryStats(StationSummaryStatsFilterRequest request) { //var result = new List<StationSummaryStats>(); //var data1 = this.DB.Fetch<StationStatsModel>(";EXEC StationSummaryFilterReport @@startDate = @0, @@endDate = @1, @@sectionId = @2, @@stationId = @3, @@userId = @4, @@gearfaultId = @5, @@reportedId = @6, @@subGearfaultId =@7, @@manufactureId = @8, @@forSections = @9, @@forStations = @10, @@forUsers = @11, @@forGearfaults = @12, @@forReports = @13, @@forSubGears = @14, @@forManufactures = @15", request.FromDate.Date, request.ToDate.Date, request.SectionFilter, request.StationFilter, request.UserFilter, request.GearAtFaultFilter, request.ReportedFilter, request.SubGearAtFaultFilter, request.ManufactureFilter, request.Sections.ToFilterCSV().ToString(), request.Stations.ToFilterCSV().ToString(), request.Users.ToFilterCSV().ToString(), request.Gears.ToFilterCSV().ToString(), request.Reporteds.ToFilterCSV().ToString(), request.SubGears.ToFilterCSV().ToString(), request.Manufatures.ToFilterCSV().ToString()).ToList(); //var stats = data1.GroupBy(s => s.StationId).ToDictionary(failures => failures.Key, failures => failures.ToList()); //var stations = this.DB.Fetch<Data.Model.Station>(string.Empty); //var gearFalts = new List<Data.Model.GearFault>(); //if (request.GearAtFaultFilter == 0) //{ // gearFalts = this.DB.Fetch<Data.Model.GearFault>(string.Empty); //} //else //{ // gearFalts = this.DB.Fetch<Data.Model.GearFault>("Where id in (" + request.Gears.ToFilterCSV() + ")"); //} //if (request.StationFilter != 0) //{ // stations = stations.Where(s => request.Stations.Any(fs => fs == s.Id)).ToList(); //} //else if (request.UserFilter != 0) //{ // stations = stations.Where(s => request.Users.Contains(s.ASTEId ?? 0) || request.Users.Contains(s.CSEId ?? 0)|| request.Users.Contains(s.JEId?? 0) || request.Users.Contains(s.ESMId ?? 0)).ToList(); //} //else if (request.SectionFilter != 0) //{ // stations = stations.Where(s => request.Sections.Contains(s.SectionId ?? 0)).ToList(); //} //stations.ForEach(station => //{ // var data = new StationSummaryStats() { StationId = station.Id, StationName = station.Name }; // if (stats.ContainsKey(station.Id)) // { // stats[station.Id].ForEach(item => // { // data.StatsItems.Add(new StatsItem() { Id = item.GearFaultId, Count = item.FailureCount, Name = item.GearFault }); // }); // } // if (!result.Any()) // { // var addedGearFaults = data.StatsItems.ToDictionary(item => item.Id); // gearFalts.ForEach(gear => // { // if (!addedGearFaults.ContainsKey(gear.Id)) // { // data.StatsItems.Add(new StatsItem() { Id = gear.Id, Name = gear.Name }); // } // }); // } // result.Add(data); //}); //return result; return(null); }
public HttpResponseMessage PostExportCompare(StationSummaryStatsFilterRequest request) { request.FileName = "StationSummaryStats"; request.SheetHeader = "StationSummaryStats"; return(this.ExportFile <DataTable>(request, this.ReportService.GetStationSummaryStats(request).ToReportDataTable(request, request.SearchKey))); }