public ActionResult ExportTo(GridViewExportFormat?exportFormat, int companyId, DateTime d_From, DateTime d_To) { Thread.CurrentThread.CurrentCulture = new CultureInfo("tr-TR"); string _CompanyName = (from tt in DB.Companies where tt.ID == companyId && tt.IS_DELETED == false select new { tt.NAME }).FirstOrDefault().NAME; if (exportFormat == null || !GridViewExportHelper.ExportFormatsInfo.ContainsKey(exportFormat.Value)) { return(RedirectToAction("CompanyAlarmListPartial", companyId)); } //DateTime dts = Convert.ToDateTime(datePck); string date1 = Convert.ToString(d_From); date1 = date1.Substring(0, date1.Length - 9); DateTime date_1 = Convert.ToDateTime(date1); DateTime date_2; DateTime date2 = Convert.ToDateTime(d_To); if (date2.Hour == 00) { date_2 = date2.AddHours(23); date_2 = date_2.AddMinutes(59); } else { date_2 = date2; } var _list = (from tt in DB.AlarmStatus join t in DB.Stations on tt.STATION_ID equals t.ID where t.COMPANY_ID == companyId select new { tt.INVERTER_ID, tt.ERROR_NUMBER, tt.START_DATE, tt.STATION_ID, tt.END_DATE, t.NAME }).OrderBy(X => X.START_DATE).ToList(); var _listInv = DB.Inverters.ToList(); var _listAlarmDesc = DB.AlarmDesc.ToList(); List <AlarmStatusDTO> _ListDataSource = new List <AlarmStatusDTO>(); for (int i = 0; i < _list.Count; i++) { AlarmStatusDTO alarmStatus = new AlarmStatusDTO(); alarmStatus.INVERTER_ID = _list[i].INVERTER_ID; TBL_INVERTER _TblInv = _listInv.Where(x => x.ID == _list[i].INVERTER_ID).FirstOrDefault(); if (_TblInv != null) { alarmStatus.INV_NAME = _TblInv.NAME; } else { alarmStatus.INV_NAME = "-"; } alarmStatus.ERROR_NUMBER = _list[i].ERROR_NUMBER; //alarmStatus.STATUS = _list[i].STATUS; alarmStatus.START_DATE = _list[i].START_DATE; alarmStatus.STATION_NAME = _list[i].NAME; alarmStatus.END_DATE = _list[i].END_DATE; alarmStatus.STATION_ID = _list[i].STATION_ID; alarmStatus.ERROR_NUMBER_NAME = _listAlarmDesc.Where(a => a.ERROR_NUMBER == _list[i].ERROR_NUMBER).FirstOrDefault().ERROR_DESC; //switch (_list[i].ERROR_NUMBER) //{ // case "0001": // alarmStatus.ERROR_NUMBER_NAME = "Communication Error"; // break; // case "0002": // alarmStatus.ERROR_NUMBER_NAME = "Station Voltage L2 Fault"; // break; // case "0003": // alarmStatus.ERROR_NUMBER_NAME = "Station Voltage L1 Fault"; // break; // case "0004": // alarmStatus.ERROR_NUMBER_NAME = "Station Voltage L3 Fault"; // break; // case "0005": // alarmStatus.ERROR_NUMBER_NAME = "EKK No Connection"; // break; // case "0006": // alarmStatus.ERROR_NUMBER_NAME = "No Main Voltage"; // break; // case "0007": // alarmStatus.ERROR_NUMBER_NAME = "No Production"; // break; // case "0008": // alarmStatus.ERROR_NUMBER_NAME = "AC Voltage Fault"; // break; //} _ListDataSource.Add(alarmStatus); } List <CompanyAlarmStatusExportDTO> _ListExport = new List <CompanyAlarmStatusExportDTO>(); var _TempList = _ListDataSource.Where(x => x.START_DATE >= date_1 && x.START_DATE <= date_2) /*.OrderBy(x => x.START_DATE)*/.ToList(); for (int i = 0; i < _TempList.Count; i++) { CompanyAlarmStatusExportDTO _ExportDto = new CompanyAlarmStatusExportDTO(); _ExportDto.ID = i + 1; _ExportDto.DEVICE = _TempList[i].INV_NAME; _ExportDto.ERROR_DEFINITION = _TempList[i].ERROR_NUMBER_NAME; _ExportDto.ALERT_START_DATE = _TempList[i].START_DATE.ToString(); _ExportDto.ALERT_END_DATE = _TempList[i].END_DATE.ToString(); _ExportDto.STATION_NAME = _TempList[i].STATION_NAME; _ListExport.Add(_ExportDto); } string filename = _CompanyName + " (" + date1.ToString() + " - " + date2.ToShortDateString() + ")"; GridHelper gh = new GridHelper(companyId); if (exportFormat == GridViewExportFormat.Xls) { XlsExportOptionsEx exportOptions = new XlsExportOptionsEx(); exportOptions.CustomizeCell += new DevExpress.Export.CustomizeCellEventHandler(exportOptions_CustomizeCell); return(GridViewExtension.ExportToXls(gh.GridStationSetting, _ListExport, filename, exportOptions)); } else if (exportFormat == GridViewExportFormat.Pdf) { return(GridViewExtension.ExportToPdf(gh.GridStationSetting, _ListExport, filename)); } else if (exportFormat == GridViewExportFormat.Xlsx) { return(GridViewExtension.ExportToXlsx(gh.GridStationSetting, _ListExport, filename)); } return(View(companyId)); }
public ActionResult ExportTo(GridViewExportFormat?exportFormat, int stationId, DateTime d_From, DateTime d_To) { Thread.CurrentThread.CurrentCulture = new CultureInfo("tr-TR"); string _stationName = (from tt in DB.Stations where tt.ID == stationId && tt.IS_DELETED == false select new { tt.NAME }).FirstOrDefault().NAME; if (exportFormat == null || !GridViewExportHelper.ExportFormatsInfo.ContainsKey(exportFormat.Value)) { return(RedirectToAction("AlarmListPartial", stationId)); } //DateTime dts = Convert.ToDateTime(datePck); string date1 = Convert.ToString(d_From); date1 = date1.Substring(0, date1.Length - 9); DateTime date_1 = Convert.ToDateTime(date1); DateTime date_2; DateTime date2 = Convert.ToDateTime(d_To); if (date2.Hour == 00) { date_2 = date2.AddHours(23); date_2 = date_2.AddMinutes(59); } else { date_2 = date2; } var stationName = DB.Stations.Where(a => a.ID == stationId).FirstOrDefault().NAME; var _listAlarmDesc = DB.AlarmDesc.ToList(); var _list = DB.AlarmStatus.Where(x => x.STATION_ID == stationId).OrderBy(x => x.START_DATE).ToList(); var _listInv = DB.Inverters.ToList(); List <AlarmStatusDTO> _ListDataSource = new List <AlarmStatusDTO>(); for (int i = 0; i < _list.Count; i++) { AlarmStatusDTO alarmStatus = new AlarmStatusDTO(); alarmStatus.INVERTER_ID = _list[i].INVERTER_ID; TBL_INVERTER _TblInv = _listInv.Where(x => x.ID == _list[i].INVERTER_ID).FirstOrDefault(); if (_TblInv != null) { alarmStatus.INV_NAME = _TblInv.NAME; } else { alarmStatus.INV_NAME = stationName; } alarmStatus.ERROR_NUMBER = _list[i].ERROR_NUMBER; //alarmStatus.STATUS = _list[i].STATUS; alarmStatus.START_DATE = _list[i].START_DATE; alarmStatus.END_DATE = _list[i].END_DATE; alarmStatus.STATION_ID = _list[i].STATION_ID; alarmStatus.ERROR_NUMBER_NAME = _listAlarmDesc.Where(a => a.ERROR_NUMBER == _list[i].ERROR_NUMBER).FirstOrDefault().ERROR_DESC; _ListDataSource.Add(alarmStatus); } List <AlarmStatusExportDTO> _ListExport = new List <AlarmStatusExportDTO>(); var _TempList = _ListDataSource.Where(x => x.START_DATE >= date_1 && x.START_DATE <= date_2) /*.OrderBy(x => x.START_DATE)*/.ToList(); for (int i = 0; i < _TempList.Count; i++) { AlarmStatusExportDTO _ExportDto = new AlarmStatusExportDTO(); _ExportDto.ID = i + 1; _ExportDto.DEVICE = _TempList[i].INV_NAME; _ExportDto.ERROR_DEFINITION = _TempList[i].ERROR_NUMBER_NAME; _ExportDto.ALERT_START_DATE = _TempList[i].START_DATE.ToString(); _ExportDto.ALERT_END_DATE = _TempList[i].END_DATE.ToString(); _ListExport.Add(_ExportDto); } string filename = _stationName + " (" + date1.ToString() + " - " + date2.ToShortDateString() + ")"; GridHelper gh = new GridHelper(stationId); if (exportFormat == GridViewExportFormat.Xls) { XlsExportOptionsEx exportOptions = new XlsExportOptionsEx(); exportOptions.CustomizeCell += new DevExpress.Export.CustomizeCellEventHandler(exportOptions_CustomizeCell); return(GridViewExtension.ExportToXls(gh.GridStationSetting, _ListExport, filename, exportOptions)); } else if (exportFormat == GridViewExportFormat.Pdf) { return(GridViewExtension.ExportToPdf(gh.GridStationSetting, _ListExport, filename)); } else if (exportFormat == GridViewExportFormat.Xlsx) { return(GridViewExtension.ExportToXlsx(gh.GridStationSetting, _ListExport, filename)); } return(View(stationId)); }