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));
        }
示例#2
0
        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));
        }