From 6a5629fc3bc56aacc7301c5958900e1a7ccb8b82 Mon Sep 17 00:00:00 2001 From: Tsanie Lily Date: Wed, 29 Apr 2020 14:08:00 +0800 Subject: [PATCH] initial version with inspection edition --- .gitignore | 7 + ConsoleApplication1/App.config | 14 + .../ConsoleApplication1.csproj | 91 + ConsoleApplication1/IronIntelDebugHost.cs | 61 + ConsoleApplication1/Program.cs | 57 + .../Properties/AssemblyInfo.cs | 36 + Contractor.sln | 70 + FICMigrator/App.config | 18 + FICMigrator/Definitions.cs | 161 ++ FICMigrator/FICMigrator.csproj | 94 + FICMigrator/MainForm.Designer.cs | 437 +++ FICMigrator/MainForm.cs | 432 +++ FICMigrator/MainForm.resx | 120 + FICMigrator/Program.cs | 59 + FICMigrator/Properties/AssemblyInfo.cs | 36 + FICMigrator/Properties/Resources.Designer.cs | 77 + FICMigrator/Properties/Resources.resx | 124 + FICMigrator/Properties/Settings.Designer.cs | 35 + FICMigrator/Properties/Settings.settings | 9 + FICMigrator/Resources/Create.sql | Bin 0 -> 141042 bytes IronIntelContractor/CacheManager.cs | 160 ++ IronIntelContractor/ContractorHost.cs | 269 ++ IronIntelContractor/FIC/FICHost.cs | 528 ++++ .../IronIntelContractor.csproj | 118 + IronIntelContractor/LHBIS.snk | Bin 0 -> 596 bytes .../Properties/AssemblyInfo.cs | 36 + IronIntelContractor/Site/IronIntelBasePage.cs | 436 +++ .../Site/IronIntelHttpHandlerBase.cs | 151 + IronIntelContractorBusiness/App.config | 23 + .../Attachment/AttachmentItem.cs | 23 + .../AttachmentsManagement.cs | 181 ++ IronIntelContractorBusiness/BusinessBase.cs | 108 + IronIntelContractorBusiness/CacheManager.cs | 161 ++ .../Contact/ContactInfo.cs | 23 + .../Contact/ContactManagement.cs | 292 ++ .../Device/GpsDeviceItem.cs | 29 + .../ExportExcel/ConvertFormat.cs | 220 ++ .../ExportExcel/ExcelXlsx.cs | 844 ++++++ .../ExportExcel/ExportToExcel.cs | 483 ++++ .../ExportExcel/IOpenXmlExcelStyleAndData.cs | 130 + .../ExportExcel/XlsxObj.cs | 73 + .../ExportExcelManager.cs | 292 ++ .../FITracker/FITrackerManagement.cs | 31 + .../FilterQ/FilterQManagememt.cs | 236 ++ .../FilterQ/MachineTasksNotificationInfo.cs | 96 + .../FleetServiceClientHelper.cs | 50 + IronIntelContractorBusiness/Helper.cs | 92 + .../Host/ClientModels.cs | 69 + IronIntelContractorBusiness/Host/Common.cs | 116 + .../Host/HostRequesEntry.cs | 69 + .../Host/HostService.cs | 558 ++++ IronIntelContractorBusiness/IIColor.cs | 16 + .../IronIntelContractorBusiness.csproj | 223 ++ IronIntelContractorBusiness/IronintelHost.cs | 559 ++++ .../JobSites/JobSitesManagement.cs | 621 +++++ IronIntelContractorBusiness/LHBIS.snk | Bin 0 -> 596 bytes .../MachineDetailWorkspace.cs | 95 + .../Machines/EngineHoursInfo.cs | 155 ++ .../Machines/FuelusedInfo.cs | 31 + .../Machines/IdlehoursInfo.cs | 30 + .../Machines/LocationInfo.cs | 43 + .../Machines/MachineItem.cs | 412 +++ .../Machines/MachineManagement.cs | 866 ++++++ .../Machines/MachineRentalInfo.cs | 89 + .../Machines/OdometerInfo.cs | 179 ++ .../Maintenance/AlertInfo.cs | 131 + .../Maintenance/AlertManager.cs | 566 ++++ .../Maintenance/FuelRecordInfo.cs | 54 + .../Maintenance/IATCAlertsSyncService.cs | 211 ++ .../Maintenance/MaintenanceInfo.cs | 247 ++ .../Maintenance/MaintenanceManagement.cs | 939 +++++++ .../Maintenance/SegmentInfo.cs | 26 + .../Maintenance/WorkOrderInfo.cs | 57 + .../Maintenance/WorkOrderManager.cs | 189 ++ .../MapView/AssetMapViewManagement.cs | 425 +++ .../MapView/AssetViewItems.cs | 123 + .../MapView/JobManagement.cs | 125 + .../MapView/LocationManagement.cs | 55 + .../MapView/MachineStateInfo.cs | 298 ++ .../MapView/MachinesMapViewerManagement.cs | 1232 +++++++++ .../MapView/MapViewer.cs | 44 + .../OTRConfig/HarshDrivingItem.cs | 94 + .../OTRConfig/HarshDrivingManagement.cs | 67 + .../OTRConfig/SpeedingItem.cs | 27 + .../Properties/AssemblyInfo.cs | 36 + .../Security/CurfewInfo.cs | 25 + .../Security/CurfewManagement.cs | 281 ++ .../Security/CurfewMovementToleranceInfo.cs | 21 + .../Security/JobsiteLimitInfo.cs | 23 + .../Security/JobsiteLimitManagement.cs | 48 + IronIntelContractorBusiness/Shape/MapPoint.cs | 127 + .../Shape/ShapeFileParser.cs | 324 +++ IronIntelContractorBusiness/SystemParams.cs | 841 ++++++ IronIntelContractorBusiness/Users/Acl.cs | 45 + .../Users/AppModuleInfo.cs | 38 + .../Users/AppModulesManagement.cs | 195 ++ .../Users/UserGroupInfo.cs | 26 + IronIntelContractorBusiness/Users/UserInfo.cs | 84 + .../Users/UserManagement.cs | 1200 ++++++++ .../Users/UserParams.cs | 423 +++ IronIntelContractorBusiness/packages.config | 4 + .../Asset/AssetBasePage.cs | 711 +++++ .../ChangePasswordBasePage.cs | 60 + .../CommonHttpRequestHandler.cs | 182 ++ .../Contact/ContactBasePage.cs | 290 ++ .../ContractorBasePage.cs | 217 ++ .../CredentialEntryBasePage.cs | 333 +++ .../FITrackerBasePage.cs | 259 ++ IronIntelContractorSiteLib/FilterQBasePage.cs | 338 +++ .../InspectionBasePage.cs | 1147 ++++++++ .../IronIntelContractorSiteLib.csproj | 220 ++ .../JobSitesBasePage.cs | 497 ++++ IronIntelContractorSiteLib/LHBIS.snk | Bin 0 -> 596 bytes .../MachineDeviceBasePage.cs | 2419 +++++++++++++++++ IronIntelContractorSiteLib/MainBasePage.cs | 130 + .../Maintenance/AlertsBasePage.cs | 611 +++++ .../Maintenance/FuelRecordBasePage.cs | 228 ++ .../Maintenance/MaintanceRecordsBasePage.cs | 458 ++++ .../Maintenance/MaintenanceBasePage.cs | 138 + .../Maintenance/MaintenanceParams.cs | 26 + .../PreventativeMaintenanceBasePage.cs | 449 +++ .../Maintenance/WorkOrderBasePage.cs | 879 ++++++ .../MapView/MapViewHandler.cs | 698 +++++ IronIntelContractorSiteLib/MapViewBasePage.cs | 19 + .../OTRConfig/OTRConfigBasePage.cs | 162 ++ IronIntelContractorSiteLib/PrintBasePage.cs | 48 + .../Properties/AssemblyInfo.cs | 36 + .../Security/CurfewBasePage.cs | 619 +++++ .../Security/DataTablePermissionBasePage.cs | 76 + .../Security/FilterBasePage.cs | 651 +++++ .../Security/JobsiteLimitBasepage.cs | 252 ++ .../Security/SecurityBasePage.cs | 63 + .../Security/UserGroupBasePage.cs | 155 ++ .../Security/UserToContractorPage.cs | 98 + .../SingleAssetViewBasePage.cs | 383 +++ .../CustomerProviderBasePage.cs | 149 + .../SystemSettings/SystemSettingsBasePage.cs | 292 ++ .../UserManageBasePage.cs | 599 ++++ .../WorkspaceBasePage.cs | 21 + IronIntelSiteServiceHost/App.config | 14 + IronIntelSiteServiceHost/IronIntelService.cs | 53 + .../IronIntelSiteServiceHost.csproj | 100 + IronIntelSiteServiceHost/LHBIS.snk | Bin 0 -> 596 bytes IronIntelSiteServiceHost/Log.cs | 36 + IronIntelSiteServiceHost/Program.cs | 26 + .../Properties/AssemblyInfo.cs | 36 + Reflib/DocumentFormat.OpenXml.dll | Bin 0 -> 5937168 bytes Reflib/FIASPNETCache.dll | Bin 0 -> 5120 bytes Reflib/FIC/FICBLC.dll | Bin 0 -> 2597376 bytes Reflib/FIC/FICDataServiceIntf.dll | Bin 0 -> 7680 bytes Reflib/FIC/FICEmailSubscribe.dll | Bin 0 -> 64512 bytes Reflib/FIC/FICExport.dll | Bin 0 -> 161280 bytes Reflib/FIC/FICIntf.dll | Bin 0 -> 142336 bytes Reflib/FIC/FICIntfAdv.dll | Bin 0 -> 565760 bytes Reflib/FIC/FICModels.dll | Bin 0 -> 15872 bytes Reflib/FIC/FIChartLib.dll | Bin 0 -> 37376 bytes Reflib/FIC/FIOraConnection.dll | Bin 0 -> 7680 bytes Reflib/FIC/FRPTExtIntf.dll | Bin 0 -> 8192 bytes Reflib/FIC/FRPTPackageLib.dll | Bin 0 -> 6144 bytes Reflib/FIC/FRSCustomizedPrintIntf.dll | Bin 0 -> 6656 bytes Reflib/FIC/LHBIS.FI.UrlGenerator.dll | Bin 0 -> 4608 bytes Reflib/FIC/Oracle.DataAccess.dll | Bin 0 -> 1097728 bytes Reflib/FIC/PdfFileWriter.dll | Bin 0 -> 222208 bytes Reflib/FIC/firdbclient.dll | Bin 0 -> 30208 bytes Reflib/FICachManager.dll | Bin 0 -> 9216 bytes Reflib/FICacheManager.Redis.dll | Bin 0 -> 7168 bytes Reflib/FICore.dll | Bin 0 -> 64512 bytes Reflib/FICore.std.dll | Bin 0 -> 54272 bytes Reflib/FICoreDbCreator.dll | Bin 0 -> 238080 bytes Reflib/FIWinLib.dll | Bin 0 -> 94720 bytes Reflib/FleetClientBase.dll | Bin 0 -> 31744 bytes Reflib/FleetServiceClient.dll | Bin 0 -> 309760 bytes Reflib/Foresight.ServiceModel.dll | Bin 0 -> 8192 bytes Reflib/ForesightServicesClient.dll | Bin 0 -> 13824 bytes Reflib/IronIntel.ServiceModel.Client.dll | Bin 0 -> 4608 bytes Reflib/IronIntel.Services.Contractor.dll | Bin 0 -> 53248 bytes .../IronIntel.Services.CredentialObjects.dll | Bin 0 -> 17408 bytes Reflib/IronIntelServiceModel.dll | Bin 0 -> 12288 bytes Reflib/IronIntelSysClient.dll | Bin 0 -> 5632 bytes Reflib/Newtonsoft.Json.dll | Bin 0 -> 526336 bytes Reflib/StackExchange.Redis.StrongName.dll | Bin 0 -> 360960 bytes Reflib/iisitebase.dll | Bin 0 -> 13312 bytes Reflib/iisyslib.dll | Bin 0 -> 105472 bytes Reflib/ironcontractorwinlib.dll | Bin 0 -> 6144 bytes Reflib/irondbobjlib.dll | Bin 0 -> 553472 bytes Site | 1 + 186 files changed, 33984 insertions(+) create mode 100644 .gitignore create mode 100644 ConsoleApplication1/App.config create mode 100644 ConsoleApplication1/ConsoleApplication1.csproj create mode 100644 ConsoleApplication1/IronIntelDebugHost.cs create mode 100644 ConsoleApplication1/Program.cs create mode 100644 ConsoleApplication1/Properties/AssemblyInfo.cs create mode 100644 Contractor.sln create mode 100644 FICMigrator/App.config create mode 100644 FICMigrator/Definitions.cs create mode 100644 FICMigrator/FICMigrator.csproj create mode 100644 FICMigrator/MainForm.Designer.cs create mode 100644 FICMigrator/MainForm.cs create mode 100644 FICMigrator/MainForm.resx create mode 100644 FICMigrator/Program.cs create mode 100644 FICMigrator/Properties/AssemblyInfo.cs create mode 100644 FICMigrator/Properties/Resources.Designer.cs create mode 100644 FICMigrator/Properties/Resources.resx create mode 100644 FICMigrator/Properties/Settings.Designer.cs create mode 100644 FICMigrator/Properties/Settings.settings create mode 100644 FICMigrator/Resources/Create.sql create mode 100644 IronIntelContractor/CacheManager.cs create mode 100644 IronIntelContractor/ContractorHost.cs create mode 100644 IronIntelContractor/FIC/FICHost.cs create mode 100644 IronIntelContractor/IronIntelContractor.csproj create mode 100644 IronIntelContractor/LHBIS.snk create mode 100644 IronIntelContractor/Properties/AssemblyInfo.cs create mode 100644 IronIntelContractor/Site/IronIntelBasePage.cs create mode 100644 IronIntelContractor/Site/IronIntelHttpHandlerBase.cs create mode 100644 IronIntelContractorBusiness/App.config create mode 100644 IronIntelContractorBusiness/Attachment/AttachmentItem.cs create mode 100644 IronIntelContractorBusiness/AttachmentsManagement.cs create mode 100644 IronIntelContractorBusiness/BusinessBase.cs create mode 100644 IronIntelContractorBusiness/CacheManager.cs create mode 100644 IronIntelContractorBusiness/Contact/ContactInfo.cs create mode 100644 IronIntelContractorBusiness/Contact/ContactManagement.cs create mode 100644 IronIntelContractorBusiness/Device/GpsDeviceItem.cs create mode 100644 IronIntelContractorBusiness/ExportExcel/ConvertFormat.cs create mode 100644 IronIntelContractorBusiness/ExportExcel/ExcelXlsx.cs create mode 100644 IronIntelContractorBusiness/ExportExcel/ExportToExcel.cs create mode 100644 IronIntelContractorBusiness/ExportExcel/IOpenXmlExcelStyleAndData.cs create mode 100644 IronIntelContractorBusiness/ExportExcel/XlsxObj.cs create mode 100644 IronIntelContractorBusiness/ExportExcelManager.cs create mode 100644 IronIntelContractorBusiness/FITracker/FITrackerManagement.cs create mode 100644 IronIntelContractorBusiness/FilterQ/FilterQManagememt.cs create mode 100644 IronIntelContractorBusiness/FilterQ/MachineTasksNotificationInfo.cs create mode 100644 IronIntelContractorBusiness/FleetServiceClientHelper.cs create mode 100644 IronIntelContractorBusiness/Helper.cs create mode 100644 IronIntelContractorBusiness/Host/ClientModels.cs create mode 100644 IronIntelContractorBusiness/Host/Common.cs create mode 100644 IronIntelContractorBusiness/Host/HostRequesEntry.cs create mode 100644 IronIntelContractorBusiness/Host/HostService.cs create mode 100644 IronIntelContractorBusiness/IIColor.cs create mode 100644 IronIntelContractorBusiness/IronIntelContractorBusiness.csproj create mode 100644 IronIntelContractorBusiness/IronintelHost.cs create mode 100644 IronIntelContractorBusiness/JobSites/JobSitesManagement.cs create mode 100644 IronIntelContractorBusiness/LHBIS.snk create mode 100644 IronIntelContractorBusiness/MachineDetailWorkspace.cs create mode 100644 IronIntelContractorBusiness/Machines/EngineHoursInfo.cs create mode 100644 IronIntelContractorBusiness/Machines/FuelusedInfo.cs create mode 100644 IronIntelContractorBusiness/Machines/IdlehoursInfo.cs create mode 100644 IronIntelContractorBusiness/Machines/LocationInfo.cs create mode 100644 IronIntelContractorBusiness/Machines/MachineItem.cs create mode 100644 IronIntelContractorBusiness/Machines/MachineManagement.cs create mode 100644 IronIntelContractorBusiness/Machines/MachineRentalInfo.cs create mode 100644 IronIntelContractorBusiness/Machines/OdometerInfo.cs create mode 100644 IronIntelContractorBusiness/Maintenance/AlertInfo.cs create mode 100644 IronIntelContractorBusiness/Maintenance/AlertManager.cs create mode 100644 IronIntelContractorBusiness/Maintenance/FuelRecordInfo.cs create mode 100644 IronIntelContractorBusiness/Maintenance/IATCAlertsSyncService.cs create mode 100644 IronIntelContractorBusiness/Maintenance/MaintenanceInfo.cs create mode 100644 IronIntelContractorBusiness/Maintenance/MaintenanceManagement.cs create mode 100644 IronIntelContractorBusiness/Maintenance/SegmentInfo.cs create mode 100644 IronIntelContractorBusiness/Maintenance/WorkOrderInfo.cs create mode 100644 IronIntelContractorBusiness/Maintenance/WorkOrderManager.cs create mode 100644 IronIntelContractorBusiness/MapView/AssetMapViewManagement.cs create mode 100644 IronIntelContractorBusiness/MapView/AssetViewItems.cs create mode 100644 IronIntelContractorBusiness/MapView/JobManagement.cs create mode 100644 IronIntelContractorBusiness/MapView/LocationManagement.cs create mode 100644 IronIntelContractorBusiness/MapView/MachineStateInfo.cs create mode 100644 IronIntelContractorBusiness/MapView/MachinesMapViewerManagement.cs create mode 100644 IronIntelContractorBusiness/MapView/MapViewer.cs create mode 100644 IronIntelContractorBusiness/OTRConfig/HarshDrivingItem.cs create mode 100644 IronIntelContractorBusiness/OTRConfig/HarshDrivingManagement.cs create mode 100644 IronIntelContractorBusiness/OTRConfig/SpeedingItem.cs create mode 100644 IronIntelContractorBusiness/Properties/AssemblyInfo.cs create mode 100644 IronIntelContractorBusiness/Security/CurfewInfo.cs create mode 100644 IronIntelContractorBusiness/Security/CurfewManagement.cs create mode 100644 IronIntelContractorBusiness/Security/CurfewMovementToleranceInfo.cs create mode 100644 IronIntelContractorBusiness/Security/JobsiteLimitInfo.cs create mode 100644 IronIntelContractorBusiness/Security/JobsiteLimitManagement.cs create mode 100644 IronIntelContractorBusiness/Shape/MapPoint.cs create mode 100644 IronIntelContractorBusiness/Shape/ShapeFileParser.cs create mode 100644 IronIntelContractorBusiness/SystemParams.cs create mode 100644 IronIntelContractorBusiness/Users/Acl.cs create mode 100644 IronIntelContractorBusiness/Users/AppModuleInfo.cs create mode 100644 IronIntelContractorBusiness/Users/AppModulesManagement.cs create mode 100644 IronIntelContractorBusiness/Users/UserGroupInfo.cs create mode 100644 IronIntelContractorBusiness/Users/UserInfo.cs create mode 100644 IronIntelContractorBusiness/Users/UserManagement.cs create mode 100644 IronIntelContractorBusiness/Users/UserParams.cs create mode 100644 IronIntelContractorBusiness/packages.config create mode 100644 IronIntelContractorSiteLib/Asset/AssetBasePage.cs create mode 100644 IronIntelContractorSiteLib/ChangePasswordBasePage.cs create mode 100644 IronIntelContractorSiteLib/CommonHttpRequestHandler.cs create mode 100644 IronIntelContractorSiteLib/Contact/ContactBasePage.cs create mode 100644 IronIntelContractorSiteLib/ContractorBasePage.cs create mode 100644 IronIntelContractorSiteLib/CredentialEntryBasePage.cs create mode 100644 IronIntelContractorSiteLib/FITrackerBasePage.cs create mode 100644 IronIntelContractorSiteLib/FilterQBasePage.cs create mode 100644 IronIntelContractorSiteLib/InspectionBasePage.cs create mode 100644 IronIntelContractorSiteLib/IronIntelContractorSiteLib.csproj create mode 100644 IronIntelContractorSiteLib/JobSitesBasePage.cs create mode 100644 IronIntelContractorSiteLib/LHBIS.snk create mode 100644 IronIntelContractorSiteLib/MachineDeviceBasePage.cs create mode 100644 IronIntelContractorSiteLib/MainBasePage.cs create mode 100644 IronIntelContractorSiteLib/Maintenance/AlertsBasePage.cs create mode 100644 IronIntelContractorSiteLib/Maintenance/FuelRecordBasePage.cs create mode 100644 IronIntelContractorSiteLib/Maintenance/MaintanceRecordsBasePage.cs create mode 100644 IronIntelContractorSiteLib/Maintenance/MaintenanceBasePage.cs create mode 100644 IronIntelContractorSiteLib/Maintenance/MaintenanceParams.cs create mode 100644 IronIntelContractorSiteLib/Maintenance/PreventativeMaintenanceBasePage.cs create mode 100644 IronIntelContractorSiteLib/Maintenance/WorkOrderBasePage.cs create mode 100644 IronIntelContractorSiteLib/MapView/MapViewHandler.cs create mode 100644 IronIntelContractorSiteLib/MapViewBasePage.cs create mode 100644 IronIntelContractorSiteLib/OTRConfig/OTRConfigBasePage.cs create mode 100644 IronIntelContractorSiteLib/PrintBasePage.cs create mode 100644 IronIntelContractorSiteLib/Properties/AssemblyInfo.cs create mode 100644 IronIntelContractorSiteLib/Security/CurfewBasePage.cs create mode 100644 IronIntelContractorSiteLib/Security/DataTablePermissionBasePage.cs create mode 100644 IronIntelContractorSiteLib/Security/FilterBasePage.cs create mode 100644 IronIntelContractorSiteLib/Security/JobsiteLimitBasepage.cs create mode 100644 IronIntelContractorSiteLib/Security/SecurityBasePage.cs create mode 100644 IronIntelContractorSiteLib/Security/UserGroupBasePage.cs create mode 100644 IronIntelContractorSiteLib/Security/UserToContractorPage.cs create mode 100644 IronIntelContractorSiteLib/SingleAssetViewBasePage.cs create mode 100644 IronIntelContractorSiteLib/SystemSettings/CustomerProviderBasePage.cs create mode 100644 IronIntelContractorSiteLib/SystemSettings/SystemSettingsBasePage.cs create mode 100644 IronIntelContractorSiteLib/UserManageBasePage.cs create mode 100644 IronIntelContractorSiteLib/WorkspaceBasePage.cs create mode 100644 IronIntelSiteServiceHost/App.config create mode 100644 IronIntelSiteServiceHost/IronIntelService.cs create mode 100644 IronIntelSiteServiceHost/IronIntelSiteServiceHost.csproj create mode 100644 IronIntelSiteServiceHost/LHBIS.snk create mode 100644 IronIntelSiteServiceHost/Log.cs create mode 100644 IronIntelSiteServiceHost/Program.cs create mode 100644 IronIntelSiteServiceHost/Properties/AssemblyInfo.cs create mode 100644 Reflib/DocumentFormat.OpenXml.dll create mode 100644 Reflib/FIASPNETCache.dll create mode 100644 Reflib/FIC/FICBLC.dll create mode 100644 Reflib/FIC/FICDataServiceIntf.dll create mode 100644 Reflib/FIC/FICEmailSubscribe.dll create mode 100644 Reflib/FIC/FICExport.dll create mode 100644 Reflib/FIC/FICIntf.dll create mode 100644 Reflib/FIC/FICIntfAdv.dll create mode 100644 Reflib/FIC/FICModels.dll create mode 100644 Reflib/FIC/FIChartLib.dll create mode 100644 Reflib/FIC/FIOraConnection.dll create mode 100644 Reflib/FIC/FRPTExtIntf.dll create mode 100644 Reflib/FIC/FRPTPackageLib.dll create mode 100644 Reflib/FIC/FRSCustomizedPrintIntf.dll create mode 100644 Reflib/FIC/LHBIS.FI.UrlGenerator.dll create mode 100644 Reflib/FIC/Oracle.DataAccess.dll create mode 100644 Reflib/FIC/PdfFileWriter.dll create mode 100644 Reflib/FIC/firdbclient.dll create mode 100644 Reflib/FICachManager.dll create mode 100644 Reflib/FICacheManager.Redis.dll create mode 100644 Reflib/FICore.dll create mode 100644 Reflib/FICore.std.dll create mode 100644 Reflib/FICoreDbCreator.dll create mode 100644 Reflib/FIWinLib.dll create mode 100644 Reflib/FleetClientBase.dll create mode 100644 Reflib/FleetServiceClient.dll create mode 100644 Reflib/Foresight.ServiceModel.dll create mode 100644 Reflib/ForesightServicesClient.dll create mode 100644 Reflib/IronIntel.ServiceModel.Client.dll create mode 100644 Reflib/IronIntel.Services.Contractor.dll create mode 100644 Reflib/IronIntel.Services.CredentialObjects.dll create mode 100644 Reflib/IronIntelServiceModel.dll create mode 100644 Reflib/IronIntelSysClient.dll create mode 100644 Reflib/Newtonsoft.Json.dll create mode 100644 Reflib/StackExchange.Redis.StrongName.dll create mode 100644 Reflib/iisitebase.dll create mode 100644 Reflib/iisyslib.dll create mode 100644 Reflib/ironcontractorwinlib.dll create mode 100644 Reflib/irondbobjlib.dll create mode 160000 Site diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a0866ed --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +.vs/ +bin/ +obj/ +packages/ +.DS_Store +Icon? +*.user diff --git a/ConsoleApplication1/App.config b/ConsoleApplication1/App.config new file mode 100644 index 0000000..c1ce669 --- /dev/null +++ b/ConsoleApplication1/App.config @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ConsoleApplication1/ConsoleApplication1.csproj b/ConsoleApplication1/ConsoleApplication1.csproj new file mode 100644 index 0000000..b33b0ee --- /dev/null +++ b/ConsoleApplication1/ConsoleApplication1.csproj @@ -0,0 +1,91 @@ + + + + + Debug + AnyCPU + {62910ED6-A98B-422A-A938-1FC729771F54} + Exe + Properties + ConsoleApplication1 + ConsoleApplication1 + v4.7.1 + 512 + + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + false + + + + ..\Reflib\FICore.dll + + + ..\Reflib\FIWinLib.dll + + + ..\Reflib\ForesightServicesClient.dll + + + ..\Reflib\iisitebase.dll + + + ..\Reflib\iisyslib.dll + + + ..\Reflib\Newtonsoft.Json.dll + + + + + + + + + + + + + + + + + + + + + + {515fb61f-f032-4a48-8f32-93b59b9d37f8} + IronIntelContractorBusiness + + + {9d398985-9424-4fc7-a637-6b5b204d8f7c} + IronIntelContractorSiteLib + + + + + \ No newline at end of file diff --git a/ConsoleApplication1/IronIntelDebugHost.cs b/ConsoleApplication1/IronIntelDebugHost.cs new file mode 100644 index 0000000..0ce028a --- /dev/null +++ b/ConsoleApplication1/IronIntelDebugHost.cs @@ -0,0 +1,61 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Configuration; +using System.Net.Mail; +using System.Text; +using System.Threading.Tasks; +using IronIntel.DataModel; +using IronIntel.DataModel.Admin.Customers; +using IronIntel.DataModel.Admin.Users; +using Foresight.Services.Log; + +namespace ConsoleApplication1 +{ + class IronIntelDebugHost : IIronIntelHost + { + public CustomerInfo GetCustomerInfo(string custid) + { + throw new NotImplementedException(); + } + + public CustomerManager GetCustomerManager() + { + return new CustomerManager(ConfigurationManager.AppSettings["MasterDb"]); + } + + public string GetIronIntelDbConnectionString(string custid) + { + throw new NotImplementedException(); + } + + public LoginManager GetLoginManager() + { + return new LoginManager(ConfigurationManager.AppSettings["MasterDb"]); + } + + public int SendEmail(string customerid, MailMessage msg) + { + var mail = new Foresight.Services.Mail.MailSender(@"net.tcp://192.168.25.210:20100/fisvcs/systemsvc"); + mail.AppName = "fleet_dev"; + return (int)mail.SendMail("fleet_dev", customerid, "", msg); + } + + public void WriteLog(string logtype, string source, string message, string detail, string extmsg) + { + LogWriter log = new LogWriter(@"net.tcp://192.168.25.210:20100/fisvcs/systemsvc"); + log.WriteLog("fleet_dev", "Foresight", "hq-pc", "SystemService", logtype, source, message, detail, extmsg); + } + + public void WriteLog(string customerid, string logtype, string source, string message, string detail, string extmsg) + { + LogWriter log = new LogWriter(@"net.tcp://192.168.25.210:20100/fisvcs/systemsvc"); + log.WriteLog("fleet_dev", customerid, "hq-pc", "SystemService", logtype, source, message, detail, extmsg); + } + + long IIronIntelHost.SendEmail(string customerid, MailMessage msg) + { + throw new NotImplementedException(); + } + } +} diff --git a/ConsoleApplication1/Program.cs b/ConsoleApplication1/Program.cs new file mode 100644 index 0000000..2fb9c5c --- /dev/null +++ b/ConsoleApplication1/Program.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using IronIntel.Contractor.MapView; +using IronIntel.Contractor.Users; +using IronIntel.Contractor.Machines; +using IronIntel.Contractor; +using IronIntel.DataModel; +using IronIntel.DataModel.Admin.Customers; + +namespace ConsoleApplication1 +{ + class Program + { + static void Main(string[] args) + { + // IronIntelHostEnvironment.InitHost(new IronIntelDebugHost()); + + // Test1(); + + Guid gd = new Guid("10000000-0000-0000-0000-100000000001"); + + ContractorHost.Init(); + + testdemo(); + Console.ReadLine(); + } + + private static void Test1() + { + var cm = IronIntelHostEnvironment.GetCustomerManager(); + var db= cm.GetCustomerDatabaseInfo("Foresight", "IRONINTEL_ADMINDB"); + Console.WriteLine(db.ToString()); + //var loc = cm.GetLocationManager("IRONDEV"); + + //var locs = loc.GetCustomerLocations(); + //Console.WriteLine(locs.ToString()); + } + + private static void testlogin() + { + var lm = IronIntelHostEnvironment.GetLoginManager(); + + lm.DeleteUser("6D3A02C7-FC25-47C0-A7A4-97D470EA4CC5", true); + + // Console.WriteLine(r.ToString()); + } + + private static void testdemo() + { + var usermanager = ContractorHost.Instance.GetContractorManager(); + + } + } +} diff --git a/ConsoleApplication1/Properties/AssemblyInfo.cs b/ConsoleApplication1/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..11328b8 --- /dev/null +++ b/ConsoleApplication1/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("ConsoleApplication1")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("ConsoleApplication1")] +[assembly: AssemblyCopyright("Copyright © 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("62910ed6-a98b-422a-a938-1fc729771f54")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Contractor.sln b/Contractor.sln new file mode 100644 index 0000000..fc2c346 --- /dev/null +++ b/Contractor.sln @@ -0,0 +1,70 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.27130.2003 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "Site", "Site\", "{C2BC3E5B-B059-4B6C-8563-07FEAE54AF6B}" + ProjectSection(WebsiteProperties) = preProject + TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.7.2" + Debug.AspNetCompiler.VirtualPath = "/localhost_5246" + Debug.AspNetCompiler.PhysicalPath = "Site\" + Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\localhost_5246\" + Debug.AspNetCompiler.Updateable = "true" + Debug.AspNetCompiler.ForceOverwrite = "true" + Debug.AspNetCompiler.FixedNames = "false" + Debug.AspNetCompiler.Debug = "True" + Release.AspNetCompiler.VirtualPath = "/localhost_5246" + Release.AspNetCompiler.PhysicalPath = "Site\" + Release.AspNetCompiler.TargetPath = "PrecompiledWeb\localhost_5246\" + Release.AspNetCompiler.Updateable = "true" + Release.AspNetCompiler.ForceOverwrite = "true" + Release.AspNetCompiler.FixedNames = "false" + Release.AspNetCompiler.Debug = "False" + VWDPort = "5246" + SlnRelativePath = "Site\" + DefaultWebSiteLanguage = "Visual C#" + StartServerOnDebug = "false" + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IronIntelContractorBusiness", "IronIntelContractorBusiness\IronIntelContractorBusiness.csproj", "{515FB61F-F032-4A48-8F32-93B59B9D37F8}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IronIntelContractorSiteLib", "IronIntelContractorSiteLib\IronIntelContractorSiteLib.csproj", "{9D398985-9424-4FC7-A637-6B5B204D8F7C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleApplication1", "ConsoleApplication1\ConsoleApplication1.csproj", "{62910ED6-A98B-422A-A938-1FC729771F54}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IronIntelSiteServiceHost", "IronIntelSiteServiceHost\IronIntelSiteServiceHost.csproj", "{B5E29343-DF46-47DE-A8E8-69BCF58C0697}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C2BC3E5B-B059-4B6C-8563-07FEAE54AF6B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C2BC3E5B-B059-4B6C-8563-07FEAE54AF6B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C2BC3E5B-B059-4B6C-8563-07FEAE54AF6B}.Release|Any CPU.ActiveCfg = Debug|Any CPU + {C2BC3E5B-B059-4B6C-8563-07FEAE54AF6B}.Release|Any CPU.Build.0 = Debug|Any CPU + {515FB61F-F032-4A48-8F32-93B59B9D37F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {515FB61F-F032-4A48-8F32-93B59B9D37F8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {515FB61F-F032-4A48-8F32-93B59B9D37F8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {515FB61F-F032-4A48-8F32-93B59B9D37F8}.Release|Any CPU.Build.0 = Release|Any CPU + {9D398985-9424-4FC7-A637-6B5B204D8F7C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9D398985-9424-4FC7-A637-6B5B204D8F7C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9D398985-9424-4FC7-A637-6B5B204D8F7C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9D398985-9424-4FC7-A637-6B5B204D8F7C}.Release|Any CPU.Build.0 = Release|Any CPU + {62910ED6-A98B-422A-A938-1FC729771F54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {62910ED6-A98B-422A-A938-1FC729771F54}.Debug|Any CPU.Build.0 = Debug|Any CPU + {62910ED6-A98B-422A-A938-1FC729771F54}.Release|Any CPU.ActiveCfg = Release|Any CPU + {62910ED6-A98B-422A-A938-1FC729771F54}.Release|Any CPU.Build.0 = Release|Any CPU + {B5E29343-DF46-47DE-A8E8-69BCF58C0697}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B5E29343-DF46-47DE-A8E8-69BCF58C0697}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B5E29343-DF46-47DE-A8E8-69BCF58C0697}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B5E29343-DF46-47DE-A8E8-69BCF58C0697}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {BAE453CC-00EC-4D9C-902A-AF8F249C8653} + EndGlobalSection +EndGlobal diff --git a/FICMigrator/App.config b/FICMigrator/App.config new file mode 100644 index 0000000..491984e --- /dev/null +++ b/FICMigrator/App.config @@ -0,0 +1,18 @@ + + + + +
+ + + + + + + + + EXPORTLOG + + + + \ No newline at end of file diff --git a/FICMigrator/Definitions.cs b/FICMigrator/Definitions.cs new file mode 100644 index 0000000..d77bd0e --- /dev/null +++ b/FICMigrator/Definitions.cs @@ -0,0 +1,161 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FICMigrator +{ + class Definitions + { + public static readonly string[] TABLES = new[] + { +"AUTHORIZE", +"BOARD", +"BOARDCHARTPIVOT", +"BOARDLANGUAGE", +"BOARDPIVOT", +"BOARDPIVOTLANGUAGE", +"CATEGORY", +"CHART", +"CHARTAGGREGATELANGUAGE", +"CHARTCLASS", +"CHARTCONTAINER", +"CHARTCONTAINERPOSITION", +"CHARTDYNAMICYCOLOR", +"CHARTDYNAMICYDATA", +"CHARTDYNAMICYDATACOMPOSITION", +"CHARTDYNAMICYPROPORTION", +"CHARTEXTENSIONCOLUMN", +"CHARTEXTENSIONCOLUMNLANGUAGE", +"CHARTEXTENSIONCOLUMNPARAMVALUE", +"CHARTEXTENSIONDETAIL", +"CHARTEXTENSIONFILTER", +"CHARTEXTENSIONY", +"CHARTFILTER", +"CHARTGAUGEDYNAMICDATA", +"CHARTGAUGEDYNAMICY", +"CHARTLANGUAGE", +"CHARTPARAMVALUE", +"CHARTPIVOT", +"CHARTPIVOTDATA", +"CHARTPIVOTLANGUAGE", +"CHARTPROPERTYVALUE", +"CHARTSORT", +"CHARTTOTALROW", +"CHARTTOTALROWCOLUMN", +"CHARTTOTALROWCOLUMNOBJECT", +"CHARTXYLANGUAGE", +"CHARTXYZ", +"COLORSCHEME", +"CONSTRUCTOROBJECT", +"DATACONNECTION", +"DATARIGHT", +"DATATABLE", +"DATATABLECLASS", +"DATATABLECLASSRELATION", +"DRILLDOWN", +"DRILLDOWNDETAIL", +"DRILLDOWNFILTER", +"DRILLDOWNFORURL", +"DRILLDOWNURLPARAMVALUES", +"DRILLDOWNY", +"DTPERFLOG", +"EMBEDEXTENDEDDATACONNECTION", +"EMBEDEXTENDEDDATATABLE", +"ENUMERATION", +"EXPORTLOG", +"EXTENDEDDC", +"EXTENDEDDCLOGIN", +"FAVORITECONTENT", +"FAVORITEITEM", +"FREECHARTCELL", +"FREECHARTCELLCOLORFILTER", +"FREECHARTCELLDATAFILTER", +"FREECHARTCELLLANGUAGE", +"FREECHARTCOLUMN", +"FREECHARTROW", +"FUNCTIONTYPE", +"GLOBALFILTER", +"GLOBALVARIABLE", +"GRIDWIDTH", +"GROUPS", +"HIDDENBOARDS", +"INNERINFORMATION", +"JOBLOG", +"JOBSCHEDULE", +"LEVELS", +"LICENSEINFO", +"LICENSEPACKAGE", +"LOOKUPDATA", +"MANAGEMENTTREE", +"MESSAGEDATA", +"MESSAGEKEY", +"MESSAGEPARAMS", +"MESSAGEPOOL", +"MESSAGETYPE", +"MODULESINFOFILES", +"MSG", +"MULTILEVELFIELD", +"MUTEX", +"MYFAVCHARTS", +"OBJSTATISTICS", +"OPERATIONRIGHT", +"OPERATIONS", +"PACKAGECONTENT", +"PACKAGEDCMAPPING", +"PACKAGEINFO", +"PACKAGELIST", +"PLUGIN", +"PLUGINCAPTION", +"PLUGINDATAIMPORT", +"PLUGINDATATABLE", +"RESOURCEDATA", +"RESOURCEFILEVERSION", +"SCATTERPLOTFILTER", +"SCATTERPLOTSTYLE", +"SCATTERTARGETSTRUCTURE", +"SCHEDULEDSNAPSHOT", +"SERVICEAGENT", +"SNAPSHOTS", +"SNAPSHOTTOFRS", +"STYLECATALOG", +"STYLEOBJECT", +"STYLEVALUE", +"SUBSCRIBEMESSAGE", +"SYS_USERLOGINERROR", +"SYSTEMFAVORITE", +"SYSTEMPARAMS", +"TABLEFIELD", +"TABLEFILTER", +"TABLEPARAMS", +"TABLERELATION", +"TRANSFORMATIONCOLUMN", +"TRANSFORMATIONROWVALUE", +"TRANSFORMATIONTABLE", +"URLGENERATOR", +"URLGENERATORFILE", +"USERCHARTINFO", +"USERDEFAULTINFO", +"USEREMAIL", +"USERFIRSTLOGIN", +"USERGROUPRELATION", +"USERMESSAGE", +"USERMESSAGEEMAIL", +"USEROBJECT", +"USEROBJECTXML", +"USERS", +"USERTEXTMESSAGE", +"VALS", +"VIRTUALDC", +"VIRTUALROLE", +"WORKSPACE", +"WORKSPACELANGUAGE", +"WORKSPACEPIVOT", +"WORKSPACEPIVOTLANGUAGE", +"WORKSPACEPIVOTRELATION", +"WSPBOARD", +"WSPHIDENCHARTS" + }; + } +} diff --git a/FICMigrator/FICMigrator.csproj b/FICMigrator/FICMigrator.csproj new file mode 100644 index 0000000..2bb0e7c --- /dev/null +++ b/FICMigrator/FICMigrator.csproj @@ -0,0 +1,94 @@ + + + + + Debug + AnyCPU + {6FA9CAE8-F5E8-4536-B141-4A7A9F2ADE05} + WinExe + Properties + FICMigrator + FICMigrator + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + Form + + + MainForm.cs + + + + + MainForm.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + \ No newline at end of file diff --git a/FICMigrator/MainForm.Designer.cs b/FICMigrator/MainForm.Designer.cs new file mode 100644 index 0000000..ab15f1b --- /dev/null +++ b/FICMigrator/MainForm.Designer.cs @@ -0,0 +1,437 @@ +namespace FICMigrator +{ + partial class MainForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.buttonTestTo = new System.Windows.Forms.Button(); + this.buttonTestFrom = new System.Windows.Forms.Button(); + this.textPassTo = new System.Windows.Forms.TextBox(); + this.label8 = new System.Windows.Forms.Label(); + this.textUserTo = new System.Windows.Forms.TextBox(); + this.label7 = new System.Windows.Forms.Label(); + this.textDBTo = new System.Windows.Forms.TextBox(); + this.label6 = new System.Windows.Forms.Label(); + this.textServerTo = new System.Windows.Forms.TextBox(); + this.label5 = new System.Windows.Forms.Label(); + this.textPassFrom = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.textUserFrom = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.textDBFrom = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.textServerFrom = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.listView1 = new System.Windows.Forms.ListView(); + this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.buttonReloadTables = new System.Windows.Forms.Button(); + this.buttonMigrator = new System.Windows.Forms.Button(); + this.textMessage = new System.Windows.Forms.TextBox(); + this.progressBar1 = new System.Windows.Forms.ProgressBar(); + this.panel1 = new System.Windows.Forms.Panel(); + this.groupBox1.SuspendLayout(); + this.groupBox2.SuspendLayout(); + this.panel1.SuspendLayout(); + this.SuspendLayout(); + // + // groupBox1 + // + this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox1.Controls.Add(this.buttonTestTo); + this.groupBox1.Controls.Add(this.buttonTestFrom); + this.groupBox1.Controls.Add(this.textPassTo); + this.groupBox1.Controls.Add(this.label8); + this.groupBox1.Controls.Add(this.textUserTo); + this.groupBox1.Controls.Add(this.label7); + this.groupBox1.Controls.Add(this.textDBTo); + this.groupBox1.Controls.Add(this.label6); + this.groupBox1.Controls.Add(this.textServerTo); + this.groupBox1.Controls.Add(this.label5); + this.groupBox1.Controls.Add(this.textPassFrom); + this.groupBox1.Controls.Add(this.label4); + this.groupBox1.Controls.Add(this.textUserFrom); + this.groupBox1.Controls.Add(this.label3); + this.groupBox1.Controls.Add(this.textDBFrom); + this.groupBox1.Controls.Add(this.label2); + this.groupBox1.Controls.Add(this.textServerFrom); + this.groupBox1.Controls.Add(this.label1); + this.groupBox1.Location = new System.Drawing.Point(12, 12); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(909, 91); + this.groupBox1.TabIndex = 0; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Connections"; + // + // buttonTestTo + // + this.buttonTestTo.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonTestTo.Font = new System.Drawing.Font("Microsoft YaHei UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.buttonTestTo.Location = new System.Drawing.Point(844, 51); + this.buttonTestTo.Name = "buttonTestTo"; + this.buttonTestTo.Size = new System.Drawing.Size(59, 23); + this.buttonTestTo.TabIndex = 17; + this.buttonTestTo.Text = "Test"; + this.buttonTestTo.UseVisualStyleBackColor = true; + this.buttonTestTo.Click += new System.EventHandler(this.buttonTestTo_Click); + // + // buttonTestFrom + // + this.buttonTestFrom.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonTestFrom.Font = new System.Drawing.Font("Microsoft YaHei UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.buttonTestFrom.Location = new System.Drawing.Point(844, 22); + this.buttonTestFrom.Name = "buttonTestFrom"; + this.buttonTestFrom.Size = new System.Drawing.Size(59, 23); + this.buttonTestFrom.TabIndex = 8; + this.buttonTestFrom.Text = "Test"; + this.buttonTestFrom.UseVisualStyleBackColor = true; + this.buttonTestFrom.Click += new System.EventHandler(this.buttonTestFrom_Click); + // + // textPassTo + // + this.textPassTo.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.textPassTo.Font = new System.Drawing.Font("Microsoft YaHei UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.textPassTo.Location = new System.Drawing.Point(762, 51); + this.textPassTo.Name = "textPassTo"; + this.textPassTo.PasswordChar = '*'; + this.textPassTo.Size = new System.Drawing.Size(76, 21); + this.textPassTo.TabIndex = 16; + this.textPassTo.Text = "database"; + this.textPassTo.TextChanged += new System.EventHandler(this.textboxTo_TextChanged); + // + // label8 + // + this.label8.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(686, 54); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(67, 17); + this.label8.TabIndex = 15; + this.label8.Text = "Password:"; + // + // textUserTo + // + this.textUserTo.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.textUserTo.Font = new System.Drawing.Font("Microsoft YaHei UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.textUserTo.Location = new System.Drawing.Point(606, 51); + this.textUserTo.Name = "textUserTo"; + this.textUserTo.Size = new System.Drawing.Size(74, 21); + this.textUserTo.TabIndex = 14; + this.textUserTo.Text = "fi"; + this.textUserTo.TextChanged += new System.EventHandler(this.textboxTo_TextChanged); + // + // label7 + // + this.label7.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(560, 54); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(38, 17); + this.label7.TabIndex = 13; + this.label7.Text = "User:"; + // + // textDBTo + // + this.textDBTo.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.textDBTo.Font = new System.Drawing.Font("Microsoft YaHei UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.textDBTo.Location = new System.Drawing.Point(459, 51); + this.textDBTo.Name = "textDBTo"; + this.textDBTo.Size = new System.Drawing.Size(95, 21); + this.textDBTo.TabIndex = 12; + this.textDBTo.Text = "IRONINTEL_IRONDEV_FIC"; + this.textDBTo.TextChanged += new System.EventHandler(this.textboxTo_TextChanged); + // + // label6 + // + this.label6.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(422, 54); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(28, 17); + this.label6.TabIndex = 11; + this.label6.Text = "DB:"; + // + // textServerTo + // + this.textServerTo.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.textServerTo.Font = new System.Drawing.Font("Microsoft YaHei UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.textServerTo.Location = new System.Drawing.Point(105, 51); + this.textServerTo.Name = "textServerTo"; + this.textServerTo.Size = new System.Drawing.Size(311, 21); + this.textServerTo.TabIndex = 10; + this.textServerTo.Text = "192.168.25.212"; + this.textServerTo.TextChanged += new System.EventHandler(this.textboxTo_TextChanged); + // + // label5 + // + this.label5.Location = new System.Drawing.Point(6, 54); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(90, 17); + this.label5.TabIndex = 9; + this.label5.Text = "To:"; + this.label5.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // textPassFrom + // + this.textPassFrom.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.textPassFrom.Font = new System.Drawing.Font("Microsoft YaHei UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.textPassFrom.Location = new System.Drawing.Point(762, 22); + this.textPassFrom.Name = "textPassFrom"; + this.textPassFrom.PasswordChar = '*'; + this.textPassFrom.Size = new System.Drawing.Size(76, 21); + this.textPassFrom.TabIndex = 7; + this.textPassFrom.Text = "demo"; + this.textPassFrom.TextChanged += new System.EventHandler(this.textbox_TextChanged); + // + // label4 + // + this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(686, 25); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(67, 17); + this.label4.TabIndex = 6; + this.label4.Text = "Password:"; + // + // textUserFrom + // + this.textUserFrom.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.textUserFrom.Font = new System.Drawing.Font("Microsoft YaHei UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.textUserFrom.Location = new System.Drawing.Point(606, 22); + this.textUserFrom.Name = "textUserFrom"; + this.textUserFrom.Size = new System.Drawing.Size(74, 21); + this.textUserFrom.TabIndex = 5; + this.textUserFrom.Text = "demo"; + this.textUserFrom.TextChanged += new System.EventHandler(this.textbox_TextChanged); + // + // label3 + // + this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(560, 25); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(38, 17); + this.label3.TabIndex = 4; + this.label3.Text = "User:"; + // + // textDBFrom + // + this.textDBFrom.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.textDBFrom.Font = new System.Drawing.Font("Microsoft YaHei UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.textDBFrom.Location = new System.Drawing.Point(459, 22); + this.textDBFrom.Name = "textDBFrom"; + this.textDBFrom.Size = new System.Drawing.Size(95, 21); + this.textDBFrom.TabIndex = 3; + this.textDBFrom.Text = "T02_0630_FIC"; + this.textDBFrom.TextChanged += new System.EventHandler(this.textbox_TextChanged); + // + // label2 + // + this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(422, 25); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(28, 17); + this.label2.TabIndex = 2; + this.label2.Text = "DB:"; + // + // textServerFrom + // + this.textServerFrom.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.textServerFrom.Font = new System.Drawing.Font("Microsoft YaHei UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.textServerFrom.Location = new System.Drawing.Point(105, 22); + this.textServerFrom.Name = "textServerFrom"; + this.textServerFrom.Size = new System.Drawing.Size(311, 21); + this.textServerFrom.TabIndex = 1; + this.textServerFrom.Text = "192.168.25.106"; + this.textServerFrom.TextChanged += new System.EventHandler(this.textbox_TextChanged); + // + // label1 + // + this.label1.Location = new System.Drawing.Point(6, 25); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(90, 17); + this.label1.TabIndex = 0; + this.label1.Text = "Connect from:"; + this.label1.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // groupBox2 + // + this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left))); + this.groupBox2.Controls.Add(this.listView1); + this.groupBox2.Controls.Add(this.buttonReloadTables); + this.groupBox2.Location = new System.Drawing.Point(12, 109); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(295, 402); + this.groupBox2.TabIndex = 1; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "Check Tables"; + // + // listView1 + // + this.listView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.columnHeader1, + this.columnHeader2}); + this.listView1.Location = new System.Drawing.Point(6, 29); + this.listView1.Name = "listView1"; + this.listView1.Size = new System.Drawing.Size(283, 364); + this.listView1.TabIndex = 1; + this.listView1.UseCompatibleStateImageBehavior = false; + this.listView1.View = System.Windows.Forms.View.Details; + // + // columnHeader1 + // + this.columnHeader1.Text = "Table"; + this.columnHeader1.Width = 200; + // + // columnHeader2 + // + this.columnHeader2.Text = ""; + // + // buttonReloadTables + // + this.buttonReloadTables.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonReloadTables.Font = new System.Drawing.Font("Microsoft YaHei UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.buttonReloadTables.Location = new System.Drawing.Point(228, 0); + this.buttonReloadTables.Name = "buttonReloadTables"; + this.buttonReloadTables.Size = new System.Drawing.Size(55, 23); + this.buttonReloadTables.TabIndex = 0; + this.buttonReloadTables.Text = "Load"; + this.buttonReloadTables.UseVisualStyleBackColor = true; + this.buttonReloadTables.Click += new System.EventHandler(this.buttonReloadTables_Click); + // + // buttonMigrator + // + this.buttonMigrator.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.buttonMigrator.Font = new System.Drawing.Font("Microsoft YaHei UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonMigrator.Location = new System.Drawing.Point(316, 481); + this.buttonMigrator.Name = "buttonMigrator"; + this.buttonMigrator.Size = new System.Drawing.Size(605, 30); + this.buttonMigrator.TabIndex = 3; + this.buttonMigrator.Text = "Copy tables"; + this.buttonMigrator.UseVisualStyleBackColor = true; + this.buttonMigrator.Click += new System.EventHandler(this.buttonMigrator_Click); + // + // textMessage + // + this.textMessage.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.textMessage.Location = new System.Drawing.Point(316, 109); + this.textMessage.Multiline = true; + this.textMessage.Name = "textMessage"; + this.textMessage.ReadOnly = true; + this.textMessage.ScrollBars = System.Windows.Forms.ScrollBars.Both; + this.textMessage.Size = new System.Drawing.Size(605, 366); + this.textMessage.TabIndex = 2; + // + // progressBar1 + // + this.progressBar1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.progressBar1.Location = new System.Drawing.Point(316, 455); + this.progressBar1.Name = "progressBar1"; + this.progressBar1.Size = new System.Drawing.Size(605, 20); + this.progressBar1.TabIndex = 4; + this.progressBar1.Visible = false; + // + // panel1 + // + this.panel1.Controls.Add(this.progressBar1); + this.panel1.Controls.Add(this.groupBox1); + this.panel1.Controls.Add(this.textMessage); + this.panel1.Controls.Add(this.groupBox2); + this.panel1.Controls.Add(this.buttonMigrator); + this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel1.Location = new System.Drawing.Point(0, 0); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(933, 523); + this.panel1.TabIndex = 5; + // + // MainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; + this.ClientSize = new System.Drawing.Size(933, 523); + this.Controls.Add(this.panel1); + this.DoubleBuffered = true; + this.Font = new System.Drawing.Font("Microsoft YaHei UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.MinimumSize = new System.Drawing.Size(690, 270); + this.Name = "MainForm"; + this.Text = "Migrator - Foresight Intelligence Center"; + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.groupBox2.ResumeLayout(false); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBox1; + public System.Windows.Forms.TextBox textDBFrom; + private System.Windows.Forms.Label label2; + public System.Windows.Forms.TextBox textServerFrom; + private System.Windows.Forms.Label label1; + public System.Windows.Forms.TextBox textUserFrom; + private System.Windows.Forms.Label label3; + public System.Windows.Forms.TextBox textPassFrom; + private System.Windows.Forms.Label label4; + public System.Windows.Forms.TextBox textServerTo; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Label label6; + public System.Windows.Forms.TextBox textDBTo; + public System.Windows.Forms.TextBox textUserTo; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Label label8; + public System.Windows.Forms.TextBox textPassTo; + private System.Windows.Forms.Button buttonTestFrom; + private System.Windows.Forms.Button buttonTestTo; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.Button buttonReloadTables; + private System.Windows.Forms.Button buttonMigrator; + private System.Windows.Forms.TextBox textMessage; + private System.Windows.Forms.ListView listView1; + private System.Windows.Forms.ColumnHeader columnHeader1; + private System.Windows.Forms.ColumnHeader columnHeader2; + private System.Windows.Forms.ProgressBar progressBar1; + private System.Windows.Forms.Panel panel1; + } +} + diff --git a/FICMigrator/MainForm.cs b/FICMigrator/MainForm.cs new file mode 100644 index 0000000..9fa4d95 --- /dev/null +++ b/FICMigrator/MainForm.cs @@ -0,0 +1,432 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Data.SqlClient; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace FICMigrator +{ + public partial class MainForm : Form + { + private string _connFromString; + private string _connToString; + private bool _isFromTested; + private bool _isToTested; + + public MainForm() + { + InitializeComponent(); + } + + private void textbox_TextChanged(object sender, EventArgs e) + { + _isFromTested = false; + } + private void textboxTo_TextChanged(object sender, EventArgs e) + { + _isToTested = false; + } + + private string SafeString(string str) + { + if (string.IsNullOrEmpty(str)) + return str; + return str.Replace(';', '_'); + } + + private void GetConnFromString() + { + _connFromString = string.Format("Data Source={0};Initial Catalog={1};Integrated Security=false;User ID={2};Password={3}", + SafeString(textServerFrom.Text), + SafeString(textDBFrom.Text), + SafeString(textUserFrom.Text), + SafeString(textPassFrom.Text)); + } + + private void GetConnToString() + { + _connToString = string.Format("Data Source={0};Initial Catalog={1};Integrated Security=false;User ID={2};Password={3}", + SafeString(textServerTo.Text), + SafeString(textDBTo.Text), + SafeString(textUserTo.Text), + SafeString(textPassTo.Text)); + } + + private void EnableUI(bool flag) + { + this.panel1.Enabled = flag; + this.Cursor = flag ? Cursors.Default : Cursors.AppStarting; + this.progressBar1.Visible = false; + } + + private void buttonTestFrom_Click(object sender, EventArgs e) + { + EnableUI(false); + new Thread(new ThreadStart(async delegate + { + var result = await Task.Run(new Func(TestFromConnection)); + if (result) + { + this.BeginInvoke(new Action(delegate + { + MessageBox.Show(this, "Test successfully.", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); + })); + } + this.BeginInvoke(new Action(delegate + { + EnableUI(true); + })); + })).Start(); + } + + private void buttonTestTo_Click(object sender, EventArgs e) + { + EnableUI(false); + new Thread(new ThreadStart(async delegate + { + var result = await Task.Run(new Func(TestToConnection)); + if (result) + { + this.BeginInvoke(new Action(delegate + { + MessageBox.Show(this, "Test successfully.", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); + })); + } + this.BeginInvoke(new Action(delegate + { + EnableUI(true); + })); + })).Start(); + } + + private void buttonReloadTables_Click(object sender, EventArgs e) + { + listView1.Items.Clear(); + EnableUI(false); + new Thread(LoadTables).Start(); + } + + private void buttonMigrator_Click(object sender, EventArgs e) + { + EnableUI(false); + textMessage.Text = ""; + progressBar1.Visible = true; + progressBar1.Value = 0; + progressBar1.Maximum = Definitions.TABLES.Length; + + new Thread(MigrateTables).Start(); + } + + + + + private bool TestFromConnection() + { + try + { + GetConnFromString(); + + using (var conn = new SqlConnection(_connFromString)) + { + conn.Open(); + } + _isFromTested = true; + } + catch (Exception ex) + { + this.BeginInvoke(new Action(o => + { + MessageBox.Show(this, "Error occurs:\n" + o, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + }), ex); + + return false; + } + + return true; + } + + private bool TestToConnection() + { + try + { + GetConnToString(); + + using (var conn = new SqlConnection(_connToString)) + { + conn.Open(); + } + _isToTested = true; + } + catch (Exception ex) + { + this.BeginInvoke(new Action(o => + { + MessageBox.Show(this, "Error occurs:\n" + o, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + }), ex); + + return false; + } + + return true; + } + + private void LoadTables() + { + if (!_isFromTested) + { + this.BeginInvoke(new Action(delegate + { + MessageBox.Show(this, "Please test connection first.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); + EnableUI(true); + })); + return; + } + + try + { + var list = new List(); + + using (var conn = new SqlConnection(_connFromString)) + { + conn.Open(); + + foreach (var tb in Definitions.TABLES) + { + var cmd = conn.CreateCommand(); + cmd.CommandText = "select 1 from sys.objects where object_id=object_id(@tb) and type='U'"; + cmd.Parameters.AddWithValue("@tb", tb); + + var o = cmd.ExecuteScalar(); + var notexist = (o == null || o == DBNull.Value); + + list.Add(new ListViewItem(new[] { tb, notexist ? "×" : "" })); + } + } + + var arr = list.ToArray(); + this.BeginInvoke(new Action(delegate + { + this.listView1.Items.AddRange(arr); + })); + + } + catch (Exception ex) + { + this.BeginInvoke(new Action(o => + { + MessageBox.Show(this, "Error occurs:\n" + o, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + }), ex); + } + finally + { + this.BeginInvoke(new Action(delegate + { + EnableUI(true); + })); + } + } + + private void MigrateTables() + { + var result = TestFromConnection(); + if (!result) + { + return; + } + result = TestToConnection(); + if (!result) + { + return; + } + + if (!_isFromTested || !_isToTested) + { + this.BeginInvoke(new Action(delegate + { + MessageBox.Show(this, "Please test all connections first.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); + EnableUI(true); + })); + return; + } + + try + { + var exclude_tables = Properties.Settings.Default.ExcludeTables.Split(','); + + // init structure + var fieldsDict = new Dictionary(); + using (var conn = new SqlConnection(_connToString)) + { + conn.Open(); + + //using (var cmd = conn.CreateCommand()) + //{ + // cmd.CommandText = Properties.Resources.Create; + // cmd.CommandType = CommandType.Text; + // cmd.ExecuteNonQuery(); + //} + + var truncate = new StringBuilder(); + foreach (var tb in Definitions.TABLES) + { + if (exclude_tables.Any(s => string.Compare(s, tb, true) == 0)) + { + this.BeginInvoke(new Action(o => + { + textMessage.Text += string.Format("[{0:HH:mm:ss}] - {1}\r\n\r\n", DateTime.Now, o); + }), string.Format("Exclude truncate table \"{0}\"", tb)); + continue; + } + + using (var cmd = conn.CreateCommand()) + { + cmd.CommandText = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.columns WHERE TABLE_NAME=@pn"; + cmd.Parameters.AddWithValue("@pn", tb); + + using (var reader = cmd.ExecuteReader()) + { + var fields = new List(); + while (reader.Read()) + { + fields.Add(reader["COLUMN_NAME"].ToString()); + } + + fieldsDict[tb] = fields.ToArray(); + } + } + truncate.AppendLine("truncate table " + tb); + } + + using (var cmd = conn.CreateCommand()) + { + cmd.CommandText = truncate.ToString(); + cmd.CommandType = CommandType.Text; + cmd.ExecuteNonQuery(); + } + } + + // copy data + this.BeginInvoke(new Action(delegate + { + progressBar1.Style = ProgressBarStyle.Blocks; + })); + + var bulk = new SqlBulkCopy(_connToString); + bulk.BatchSize = 1000; + bulk.BulkCopyTimeout = 600; + + var i = 0; + foreach (var tb in Definitions.TABLES) + { + if (exclude_tables.Any(s => string.Compare(s, tb, true) == 0)) + { + this.BeginInvoke(new Action(o => + { + textMessage.Text += string.Format("[{0:HH:mm:ss}] - {1}\r\n\r\n", DateTime.Now, o); + }), string.Format("Exclude table \"{0}\"", tb)); + continue; + } + + using (var conn = new SqlConnection(_connFromString)) + { + conn.Open(); + using (var cmd = conn.CreateCommand()) + { + var fields = fieldsDict[tb]; + + cmd.CommandText = string.Format("select [{0}] from [{1}]", string.Join("],[", fields), tb); + + try + { +#if READER + var reader = cmd.ExecuteReader(); + bulk.DestinationTableName = tb; + bulk.WriteToServer(reader); +#else + var ds = new DataSet(); + using (var adapter = new SqlDataAdapter(cmd)) + { + adapter.Fill(ds); + } + bulk.DestinationTableName = tb; + var table = ds.Tables[0]; + bulk.ColumnMappings.Clear(); + //foreach (DataColumn col in table.Columns) + foreach (var field in fields) + { + //bulk.ColumnMappings.Add(col.ColumnName, col.ColumnName.ToUpper()); + bulk.ColumnMappings.Add(field, field); + } + bulk.WriteToServer(table); +#endif + this.BeginInvoke(new Action(o => + { + textMessage.Text += string.Format("[{0:HH:mm:ss}] table \"{1}\" copied.\r\n\r\n", DateTime.Now, o); + }), tb); + } + catch (Exception ex) + { + this.BeginInvoke(new Action((o1, o2) => + { + textMessage.Text += string.Format("[{0:HH:mm:ss}] table \"{1}\" - {2}\r\n\r\n", DateTime.Now, o2, o1); + }), ex, tb); + } + finally + { + this.BeginInvoke(new Action(o => + { + progressBar1.Value = o; + }), ++i); + + } + } + } + } + bulk.Close(); + + // change the system params + using (var conn = new SqlConnection(_connToString)) + { + conn.Open(); + + using (var cmd = conn.CreateCommand()) + { + cmd.CommandText = "update SYSTEMPARAMS set PARAMVALUE=@v where PARAMNAME='ExtDBName'"; + cmd.Parameters.AddWithValue("@v", textDBTo.Text + "EXT"); //Properties.Settings.Default.ExtDBName + cmd.CommandType = CommandType.Text; + cmd.ExecuteNonQuery(); + } + } + + + this.BeginInvoke(new Action(delegate + { + MessageBox.Show(this, "All done.", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); + })); + } + catch (Exception ex) + { + this.BeginInvoke(new Action(o => + { + textMessage.Text = "Error occurs:\r\n" + o; + MessageBox.Show(this, "Error occurs, please see the detail.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + }), ex); + } + finally + { + this.BeginInvoke(new Action(delegate + { + EnableUI(true); + })); + } + } + + } + +} diff --git a/FICMigrator/MainForm.resx b/FICMigrator/MainForm.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FICMigrator/MainForm.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/FICMigrator/Program.cs b/FICMigrator/Program.cs new file mode 100644 index 0000000..d45df0b --- /dev/null +++ b/FICMigrator/Program.cs @@ -0,0 +1,59 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.Data.SqlClient; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace FICMigrator +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { +#if TEST + //var path = @"C:\Users\cl\Documents\Tencent Files\272001610\FileRecv\"; + //var bs = System.IO.File.ReadAllBytes(path + "HttpHandler.lua.dream"); + //var result = DecryptAES(bs); + //System.IO.File.WriteAllText(path + "HttpHandler.lua", result); +#endif + + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + var frm = new MainForm(); + + frm.textServerFrom.Text = @"FIIRONSQL01\IRONINTEL"; + frm.textDBFrom.Text = "IronIntel001_FIC"; + frm.textUserFrom.Text = "cc"; + frm.textPassFrom.Text = "$hortPuma96"; + + frm.textServerTo.Text = @"FIIRONSQL01\IRONINTEL"; + frm.textDBTo.Text = "IRONINTEL_09302016_TEST1_FIC"; + frm.textUserTo.Text = "cc"; + frm.textPassTo.Text = "$hortPuma96"; + Application.Run(frm); + } + +#if TEST + static string DecryptAES(byte[] to) + { + var keys = Encoding.UTF8.GetBytes("HAO_HAO_JIA=+=MI"); + var r = new System.Security.Cryptography.RijndaelManaged + { + Key = keys, + Mode = System.Security.Cryptography.CipherMode.ECB, + Padding = System.Security.Cryptography.PaddingMode.None + }; + var trans = r.CreateDecryptor(); + var result = trans.TransformFinalBlock(to, 0, to.Length); + return Encoding.UTF8.GetString(result); + } +#endif + } +} diff --git a/FICMigrator/Properties/AssemblyInfo.cs b/FICMigrator/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..5aecf40 --- /dev/null +++ b/FICMigrator/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("FICMigrator")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("FICMigrator")] +[assembly: AssemblyCopyright("Copyright © 2017")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("6fa9cae8-f5e8-4536-b141-4a7a9f2ade05")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/FICMigrator/Properties/Resources.Designer.cs b/FICMigrator/Properties/Resources.Designer.cs new file mode 100644 index 0000000..66cfa0d --- /dev/null +++ b/FICMigrator/Properties/Resources.Designer.cs @@ -0,0 +1,77 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace FICMigrator.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("FICMigrator.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to /****** Object: UserDefinedDataType [dbo].[Description] Script Date: 2017/1/5 15:14:17 ******/ + ///IF NOT EXISTS (SELECT * FROM sys.types st JOIN sys.schemas ss ON st.schema_id = ss.schema_id WHERE st.name = N'Description' AND ss.name = N'dbo') + ///CREATE TYPE [dbo].[Description] FROM [nvarchar](200) NULL + /// + ////****** Object: UserDefinedDataType [dbo].[GUID] Script Date: 2017/1/5 15:14:17 ******/ + ///IF NOT EXISTS (SELECT * FROM sys.types st JOIN sys.schemas ss ON st.schema_id = ss.schema_id WHERE st.name = N' [rest of string was truncated]";. + /// + internal static string Create { + get { + return ResourceManager.GetString("Create", resourceCulture); + } + } + } +} diff --git a/FICMigrator/Properties/Resources.resx b/FICMigrator/Properties/Resources.resx new file mode 100644 index 0000000..c57cde5 --- /dev/null +++ b/FICMigrator/Properties/Resources.resx @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\Create.sql;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-16 + + \ No newline at end of file diff --git a/FICMigrator/Properties/Settings.Designer.cs b/FICMigrator/Properties/Settings.Designer.cs new file mode 100644 index 0000000..0a5f470 --- /dev/null +++ b/FICMigrator/Properties/Settings.Designer.cs @@ -0,0 +1,35 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace FICMigrator.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + + [global::System.Configuration.ApplicationScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("EXPORTLOG")] + public string ExcludeTables { + get { + return ((string)(this["ExcludeTables"])); + } + } + } +} diff --git a/FICMigrator/Properties/Settings.settings b/FICMigrator/Properties/Settings.settings new file mode 100644 index 0000000..a1cff25 --- /dev/null +++ b/FICMigrator/Properties/Settings.settings @@ -0,0 +1,9 @@ + + + + + + EXPORTLOG + + + \ No newline at end of file diff --git a/FICMigrator/Resources/Create.sql b/FICMigrator/Resources/Create.sql new file mode 100644 index 0000000000000000000000000000000000000000..89ec8e59606baef2693678d114efdad58ab8b0d0 GIT binary patch literal 141042 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 GTK*rUb}^Lz literal 0 HcmV?d00001 diff --git a/IronIntelContractor/CacheManager.cs b/IronIntelContractor/CacheManager.cs new file mode 100644 index 0000000..77d8482 --- /dev/null +++ b/IronIntelContractor/CacheManager.cs @@ -0,0 +1,160 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Foresight.Cache; +using Foresight.Cache.AspNet; +using Foresight.Cache.Redis; + +namespace IronIntel.Contractor +{ + public static class CacheManager + { + public static void Dispose() + { + if (_Client != null) + { + _Client.Dispose(); + _Client = null; + } + } + + private static CacheClient _Client = null; + private static object _sycobj = new object(); + + private static FIRedisCacheClient CreateRedisClient(string[] servers) + { + if ((servers == null) || (servers.Length == 0)) + { + return null; + } + List ls = new List(); + foreach (string srv in servers) + { + try + { + RedisNode node = CreateRedisNode(srv); + ls.Add(node); + } + catch (Exception ex) + { + ContractorHost.Instance.WriteLog("Error", typeof(CacheManager).FullName + ".CreateRedisClient", "Create RedisNode failed: " + srv, ex.ToString(), string.Empty); + } + } + if (ls.Count == 0) + { + return null; + } + else + { + return new FIRedisCacheClient("IRONINTEL_" + ContractorHost.Instance.CustomerID.ToUpper(), ls); + } + } + + private static RedisNode CreateRedisNode(string server) + { + string[] address = server.Split(new char[] { ':' }); + int port = -1; + if (!int.TryParse(address[1], out port)) + { + port = -1; + } + int weight = 100; + if (!int.TryParse(address[2], out weight)) + { + weight = 100; + } + RedisNode node = new RedisNode(address[0], port, weight); + return node; + } + + private static void InitCacheClient() + { + FIRedisCacheClient fc = null; + try + { + fc = CreateRedisClient(ContractorHost.Instance.RedisServersAddress); + } + catch (Exception ex) + { + ContractorHost.Instance.WriteLog("Error", typeof(CacheManager).FullName + ".InitCacheClient", "Create Redis client failed", ex.ToString(),string.Empty); + } + if (fc != null) + { + _Client = fc; + return; + } + else + { + _Client = new AspNetCacheManager("IRONINTEL_" + ContractorHost.Instance.CustomerID.ToUpper()); + } + } + + private static CacheClient Client + { + get + { + if (_Client == null) + { + lock (_sycobj) + { + if (_Client == null) + { + InitCacheClient(); + } + } + } + return _Client; + } + } + + public static void Remove(string key) + { + if (Client != null) + { + try + { + Client.Remove(key); + } + catch + { } + } + } + + public static void SetValue(string key, byte[] buffer, TimeSpan expire) + { + if (buffer == null) + { + Remove(key); + } + else if (Client != null) + { + try + { + Client.SetValue(key, buffer, expire); + } + catch + { } + } + } + + public static byte[] GetValue(string key) + { + if (Client != null) + { + try + { + return Client.GetValue(key); + } + catch + { + return null; + } + } + else + { + return null; + } + } + } +} diff --git a/IronIntelContractor/ContractorHost.cs b/IronIntelContractor/ContractorHost.cs new file mode 100644 index 0000000..79085b4 --- /dev/null +++ b/IronIntelContractor/ContractorHost.cs @@ -0,0 +1,269 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net.Mail; +using System.Configuration; +using System.Text; +using System.Data; +using System.Data.SqlClient; +using Foresight.Data; +using IronIntel.DataModel; +using IronIntel.DataModel.Admin.Customers; +using IronIntel.DataModel.Admin.Users; +using IronIntel.Services; +using Foresight.Services.Log; +using Foresight.Services.Mail; +using IronIntel.DataModel.Admin; +using IronIntel.DataModel.Admin.Machines; + +namespace IronIntel.Contractor +{ + /// + /// Ironintel contractor站点宿主。目前contractor站点仍然是每个公司一个站点 + /// + public class ContractorHost : IIronIntelHost + { + public static ContractorHost Instance { get; private set; } + + public static void Init() + { + Instance = new ContractorHost(); + IronIntelHostEnvironment.InitHost(Instance); + } + + private const string APPNAME = "IronIntelCustomerSite"; + + private CustomerManager _CustomerManager = null; + private LoginManager _LoginManager = null; + private LogWriter _LogWriter = null; + private SystemParamProvider _MasterSystemParams = null; + private MachineClassManager _MachineClassManager = null; + private MachineManager _MachineManager = null; + + public string DataDbConnectionString { get; private set; } + public string FICDbConnectionString { get; private set; } + public CustomerInfo Customer { get; private set; } + + public DataModel.Contractor.ContractorSystemParams ContractorSystemParams { get; private set; } + private string AdminDbConnectionString = string.Empty; + private string MasterDbConnectionString = string.Empty; + private string MasterDbConnectionString2 = string.Empty;//指向新的数据库服务器 + + public string CustomerID { get; private set; } + private string MasterServiceAddress = string.Empty; + private string FICSysDbName = string.Empty; + + private string ForesightServiceAppName = string.Empty; + private string ForesightServiceAddress = string.Empty; + public string[] RedisServersAddress { get; private set; } + + private ContractorHost() + { + SqlConnectionStringBuilder sb = new SqlConnectionStringBuilder(ConfigurationManager.AppSettings["DbConntionString"]); + try + { + sb.Password = SystemUtility.DecryptString(sb.Password); + } + catch + { + } + DataDbConnectionString = sb.ToString(); + LoadLocalParams(); + InitMasterManager(); + CreateDbObjects(); + + _MachineManager = new MachineManager(AdminDbConnectionString); + _MachineClassManager = new MachineClassManager(AdminDbConnectionString); + + Customer = GetCustomerInfo(CustomerID); + ContractorSystemParams = new DataModel.Contractor.ContractorSystemParams(); + ContractorSystemParams.Init(Customer, DataDbConnectionString, FICDbConnectionString); + MasterDbConnectionString2 = _CustomerManager.GetCustomerIronIntelDbConnectionString2(CustomerID); + } + + private void LoadLocalParams() + { + const string PARAM_MASTER_SERVICE_ADDRESS = "MasterServiceAddress"; + const string PARAM_COMPANYID = "CompanyID"; + const string PARAM_FICSYSDB = "FICSysDBName"; + + + FISqlConnection db = new FISqlConnection(DataDbConnectionString); + DataTable tb = db.GetDataTableBySQL("select PARAMNAME,PARAMVALUE from SYSPARAMS"); + foreach (DataRow dr in tb.Rows) + { + string pname = dr["PARAMNAME"].ToString(); + string pvalue = FIDbAccess.GetFieldString(dr["PARAMVALUE"], string.Empty); + if (string.Compare(pname, PARAM_COMPANYID, true) == 0) + { + CustomerID = pvalue; + } + else if (string.Compare(pname, PARAM_MASTER_SERVICE_ADDRESS, true) == 0) + { + string[] uris = pvalue.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); + MasterServiceAddress = uris[0]; + } + else if (string.Compare(pname, PARAM_FICSYSDB, true) == 0) + { + FICSysDbName = pvalue; + SqlConnectionStringBuilder sb = new SqlConnectionStringBuilder(DataDbConnectionString); + sb.InitialCatalog = FICSysDbName; + FICDbConnectionString = sb.ConnectionString; + } + } + } + + private void CreateDbObjects() + { + try + { + IronIntel.Services.Database.Contractor.ContractorDbCreator cd = new Services.Database.Contractor.ContractorDbCreator(DataDbConnectionString); + cd.Create(); + + FI.FIC.Database.FIC.FICDbInitializer ficdb = new FI.FIC.Database.FIC.FICDbInitializer(FICDbConnectionString); + ficdb.RunIronIntel(); + } + catch (Exception ex) + { + WriteLog(CustomerID, GetType().FullName + ".CreateDbObjects()", "Init db objects failed: " + ex.Message, ex.ToString(), string.Empty); + } + } + + private void InitMasterManager() + { + IronSysServiceClient client = new IronSysServiceClient(MasterServiceAddress); + client.AppName = APPNAME; + AdminDbConnectionString = client.GetAdminDbConnectionString(); + + FISqlConnection db = new FISqlConnection(AdminDbConnectionString); + string masterdb = FIDbAccess.GetFieldString(db.GetRC1BySQL("select PARAMVALUE from SYSPARAMS where PARAMNAME='MASTER_DB_NAME'"), string.Empty); + SqlConnectionStringBuilder sb = new SqlConnectionStringBuilder(AdminDbConnectionString); + sb.InitialCatalog = masterdb; + MasterDbConnectionString = sb.ConnectionString; + + _CustomerManager = new CustomerManager(MasterDbConnectionString); + _LoginManager = new LoginManager(MasterDbConnectionString); + + _MasterSystemParams = new SystemParamProvider(MasterDbConnectionString); + + ForesightServiceAppName = _MasterSystemParams.ForesightServiceAppName; + ForesightServiceAddress = _MasterSystemParams.ForesightServiceAddress; + + string str = _MasterSystemParams.RedisServersAddress; + if(string.IsNullOrWhiteSpace(str)) + { + RedisServersAddress = new string[0]; + } + else + { + RedisServersAddress = str.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); + } + + _LogWriter = new LogWriter(ForesightServiceAddress); + _LogWriter.AppName = ForesightServiceAppName; + } + + public CustomerManager GetCustomerManager() + { + return _CustomerManager; + } + + public LoginManager GetLoginManager() + { + return _LoginManager; + } + + public long SendEmail(string customerid, MailMessage msg) + { + return SendEmail(customerid, APPNAME, msg); + } + + public long SendEmail(string customerid,string mailtype, MailMessage msg) + { + try + { + MailSender mail = new MailSender(ForesightServiceAddress); + mail.AppName = ForesightServiceAppName; + return mail.SendMail(ForesightServiceAppName, customerid, mailtype, msg); + } + catch (Exception ex) + { + WriteLog(customerid, "Error", GetType().FullName + ".SendEmail", "Add mail to mailservice failed: " + ex.Message, ex.ToString(), string.Empty); + throw; + } + } + + public void WriteLog(string logtype, string source, string message, string detail, string extmsg) + { + _LogWriter.WriteLog(ForesightServiceAppName, CustomerInfo.FORESIGHT, SystemUtility.HostName, APPNAME, logtype, source, message, detail, extmsg); + } + + public void WriteLog(string customerid, string logtype, string source, string message, string detail, string extmsg) + { + _LogWriter.WriteLog(ForesightServiceAppName, customerid, SystemUtility.HostName, APPNAME, logtype, source, message, detail, extmsg); + } + + public string GetResourceLock(string resourceid, int locksecond) + { + return _LogWriter.GetResourceLock(ForesightServiceAppName, resourceid, locksecond); + } + + public void ReleaseLock(string lockid) + { + _LogWriter.ReleaseLock(ForesightServiceAppName, lockid); + } + + public CustomerInfo GetCustomerInfo(string custid) + { + if (Customer != null) + { + if (string.Compare(custid, Customer.ID, true) == 0) + { + return Customer; + } + } + return _CustomerManager.GetCustomerByID(custid); + } + + public DataModel.LicenseInfo GetLicense() + { + return _CustomerManager.GetLicense(CustomerID); + } + + public string GetIronIntelDbConnectionString(string custid) + { + if (string.Compare(custid, CustomerID, true) == 0) + { + return DataDbConnectionString; + } + return _CustomerManager.GetCustomerIronIntelDbConnectionString(custid); + } + + public T GetContractorManager() where T : DataModel.Contractor.ContractorBusinessBase, new() + { + T rst = new T(); + rst.Init(Customer, DataDbConnectionString, FICDbConnectionString); + return rst; + } + + public IronIntel.DataModel.Contractor.Users.UserManager GetUserManager() + { + return GetContractorManager(); + } + + public SystemParamProvider GetSystemParamsProvider() + { + return _MasterSystemParams; + } + + public MachineClassManager GetMachineClassManager() + { + return _MachineClassManager; + } + + public MachineManager GetMachineManager() + { + return _MachineManager; + } + } +} diff --git a/IronIntelContractor/FIC/FICHost.cs b/IronIntelContractor/FIC/FICHost.cs new file mode 100644 index 0000000..ff8e55b --- /dev/null +++ b/IronIntelContractor/FIC/FICHost.cs @@ -0,0 +1,528 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Data; +using System.Net.Mail; +using System.IO; +using System.Xml; +using Newtonsoft.Json; +using Foresight.Data; +using Foresight.Security.License; +using System.Web; +using System.Runtime.Serialization.Formatters.Binary; +using FI.FIC; +using IronIntel.DataModel.Contractor.Users; +using FI.FIC.Contracts.DataObjects.Enumeration; +using IronIntel.DataModel; +using IronIntel.Contractor.Site; + +namespace IronIntel.Contractor.FIC +{ + public class FICHost : IFICHost + { + static readonly Guid FIC_MODULE_ID = new Guid("1c6dfe25-347d-4889-ab75-73ade9190d27"); + const string FIC_MODULE_NAME = "Foresight Intelligence Center"; + const string FIC_MODULE_VERSION = "3.0"; + + public string FICDbConnectionString + { + get + { + return ContractorHost.Instance.FICDbConnectionString; + } + } + + public string FrsDbConnectionString + { + get + { + return string.Empty; + } + } + public bool FICInstalled + { + get + { + return true; + } + } + + public bool FRSInstalled + { + get + { + return false; + } + } + + public static void Init() + { + FICHostEnvironment.SetHost(new FICHost()); + } + + public byte[] GetCacheData(string key, bool ignoreExpired, ref DateTime createTime) + { + byte[] buffer = CacheManager.GetValue(key); + if (buffer == null) + { + return null; + } + byte[] tmp = Foresight.Security.SecurityHelper.Decompress(buffer); + FICCacheObject fc = new FICCacheObject(); + fc.FromBuffer(tmp); + createTime = fc.CreateTime; + return fc.Data; + } + + public DataTable GetCacheDataTable(string key, bool ignoreExpired, ref DateTime createTime) + { + byte[] buffer = GetCacheData(key, ignoreExpired, ref createTime); + if (buffer == null) + { + return null; + } + //FIDataTable tb = new FIDataTable(); + //tb.FillFromBuffer(buffer); + //return FIDbAccess.ConvertDataTable(tb); + return Deserialize(buffer) as DataTable; + } + + public FICCompanyInfo GetCompanyInfo() + { + var cp = ContractorHost.Instance.Customer; + FICCompanyInfo ficcp = new FICCompanyInfo(); + ficcp.ID = cp.ID; + ficcp.Name = cp.Name; + + return ficcp; + } + + public CompanyLic GetLicense() + { + var lic = ContractorHost.Instance.GetLicense(); + if (lic == null) + { + return null; + } + CompanyLic ci = new CompanyLic(); + ci.CompanyID = ContractorHost.Instance.Customer.ID; + ci.CompanyName = ContractorHost.Instance.Customer.Name; + + Foresight.Security.License.LicenseInfo li = new Foresight.Security.License.LicenseInfo(); + ci.Licenses.Add(li); + li.CompanyID = ci.CompanyID; + li.CompanyName = ci.CompanyName; + li.Expiration = lic.ExpireDate; + li.ID = Guid.Empty; + li.StartDate = lic.StartDate; + li.ModuleID = FIC_MODULE_ID; + li.ModuleName = FIC_MODULE_NAME; + li.Version = FIC_MODULE_VERSION; + + foreach (var item in lic.Items) + { + var prop = ConvertLicenseItem(item); + if (prop != null) + { + li.AddtionalPropertes.Add(prop); + } + } + + return ci; + } + + private LicenseAddtionalPropertyObj ConvertLicenseItem(DataModel.LicenseItem item) + { + if (item == null) + return null; + switch (item.Key) + { + case "ColumnLineCombChart": + return new LicenseAddtionalPropertyObj { Key = "ColumnLineCombChart", Value = item.Value, Description = item.Description }; + case "ExportChartToXPS": + return new LicenseAddtionalPropertyObj { Key = "ExportChartToXPS", Value = item.Value, Description = item.Description }; + case "FreeChart": + return new LicenseAddtionalPropertyObj { Key = "FreeChart", Value = item.Value, Description = item.Description }; + case "DrilldownToURL": + return new LicenseAddtionalPropertyObj { Key = "DrilldownToURL", Value = item.Value, Description = item.Description }; + case "MaxCharts": + return new LicenseAddtionalPropertyObj { Key = "MaxCharts", Value = item.Value, Description = item.Description }; + case "MaxDataTables": + return new LicenseAddtionalPropertyObj { Key = "MaxDataTables", Value = item.Value, Description = item.Description }; + case "PrintChart": + return new LicenseAddtionalPropertyObj { Key = "PrintChart", Value = item.Value, Description = item.Description }; + case "ScatterChart": + return new LicenseAddtionalPropertyObj { Key = "ScatterChart", Value = item.Value, Description = item.Description }; + case "Snapshot": + return new LicenseAddtionalPropertyObj { Key = "Snapshot", Value = item.Value, Description = item.Description }; + case "SQLGenerator": + return new LicenseAddtionalPropertyObj { Key = "SQLGenerator", Value = item.Value, Description = item.Description }; + //case "MainStyle": + //case "MaxAdminCount": + //case "MaxLogins": + //case "MaxNormalUerCount": + //case "MaxReadOnlyUserCount": + } + return null; + } + + public string GetResourceLock(string resourceid, int locksecond) + { + return ContractorHost.Instance.GetResourceLock(resourceid, locksecond); + } + + private static FICUserInfo ConvertToFICUserInfo(IronIntel.DataModel.Contractor.Users.UserInfo ui) + { + var user = new FICUserInfo + { + ID = ui.ID, + IID = ui.UID, + Enabled = ui.Active, + DisplayName = ui.Name, + Mobile = ui.Mobile, + BusinessPhone = ui.BusinessPhone, + }; + switch (ui.UserType) + { + case UserTypes.Common: + user.UserType = FICUserTypes.Common; + break; + case UserTypes.Admin: + user.UserType = FICUserTypes.Admin; + break; + case UserTypes.Readonly: + user.UserType = FICUserTypes.Readonly; + break; + case UserTypes.SupperAdmin: + user.UserType = FICUserTypes.SuperAdmin; + break; + default: + user.UserType = FICUserTypes.Readonly; + break; + } + return user; + } + + public FICUserInfo GetUserByIID(string useriid) + { + var um = ContractorHost.Instance.GetUserManager(); + var ui = um.GetUserByIID(useriid); + if (ui == null) + { + return null; + } + return ConvertToFICUserInfo(ui); + } + + public FICUserInfo GetUserByLoginSessionID(string sessionid) + { + var um = ContractorHost.Instance.GetUserManager(); + + UserInfo ui = um.GetUserByLoginSessionID(sessionid); + if (ui == null) + { + return null; + } + return ConvertToFICUserInfo(ui); + } + + public FICUserInfo GetUserByUserID(string userId) + { + var um = ContractorHost.Instance.GetUserManager(); + + UserInfo ui = um.GetUserByID(userId); + if (ui == null) + { + return null; + } + return ConvertToFICUserInfo(ui); + } + + public FICUserInfo[] GetUsers() + { + var um = ContractorHost.Instance.GetUserManager(); + UserInfo[] users = um.GetSelfUsers(); + List ls = new List(users.Length); + foreach (UserInfo ui in users) + { + ls.Add(ConvertToFICUserInfo(ui)); + } + return ls.ToArray(); + } + + public string GetUserEmail(string useriid) + { + var um = ContractorHost.Instance.GetUserManager(); + UserInfo ui = um.GetUserByIID(useriid); + if (ui == null) + { + return null; + } + else + { + return ui.ID; + } + } + + public void PostMessage(int category, string msg) + { + return; + } + + public void ReleaseResourceLock(string lockid) + { + ContractorHost.Instance.ReleaseLock(lockid); + } + + public void RemoveCache(string key) + { + CacheManager.Remove(key); + } + + public void SendMail(MailMessage message) + { + try + { + ContractorHost.Instance.SendEmail(ContractorHost.Instance.CustomerID, "FIC", message); + } + catch (Exception ex) + { + ContractorHost.Instance.WriteLog("Error", this.GetType().FullName + ".SendMail(MailMessage)", "Add fic mail to mail service failed", ex.ToString(), string.Empty); + } + } + + public void SetCacheData(string key, byte[] buffer, int expirationsecond, bool slidingExpiration, DateTime createTime) + { + if (buffer == null) + { + RemoveCache(key); + return; + } + FICCacheObject fc = new FICCacheObject(); + fc.Data = buffer; + fc.CreateTime = createTime; + + byte[] tmp = Foresight.Security.SecurityHelper.Compress(fc.ToBuffer()); + CacheManager.SetValue(key, tmp, TimeSpan.FromSeconds(expirationsecond)); + } + + public void SetCacheDataTable(string key, DataTable dt, int expirationsecond, bool slidingExpiration, DateTime createTime) + { + if (dt == null) + { + RemoveCache(key); + } + else + { + byte[] buffer = Serialize(dt, createTime); + SetCacheData(key, buffer, expirationsecond, slidingExpiration, createTime); + } + } + + public void SubscribeMessage(int category, Action> action) + { + return; + } + + public void WriteLog(string logType, string category, string source, string message, string detail) + { + ContractorHost.Instance.WriteLog(logType, source, message, detail,category); + } + + public List GetUserGroupIDByUserIID(string userIID) + { + var grps = ContractorHost.Instance.GetUserManager().GetGroupsByUserIID(userIID); + List ls = new List(grps.Length); + foreach(var grp in grps) + { + ls.Add(grp.ID); + } + return ls; + } + + public FICUserInfo[] GetUsers(bool hasAdmin) + { + if (!hasAdmin) + { + return GetUsers(); + } + + var um = ContractorHost.Instance.GetUserManager(); + + UserInfo[] localusers = um.GetSelfUsers(); + UserInfo[] foresightusers = um.GetForesightUsers(); + UserInfo[] users = localusers.Union(foresightusers).ToArray(); + List ls = new List(users.Length); + foreach (UserInfo ui in users) + { + ls.Add(ConvertToFICUserInfo(ui)); + } + return ls.ToArray(); + } + + public LoginContext GetCurrentLoginContext(HttpContext context) + { + string session = Site.IronIntelBasePage.GetLoginSessionID(context.Request); + if (string.IsNullOrWhiteSpace(session)) + { + return null; + } + + LoginContext lc = new LoginContext(); + lc.SessionID = session; + lc.User = GetUserByLoginSessionID(session); + lc.LanguageID = GetLgID(context); + return lc; + } + + private string GetLgID(HttpContext context) + { + var language = context.Request.Cookies[IronIntelBasePage.LANGUAGECOOKIENAME]; + if (language != null) + { + return language.Value; + } + return ResLanguage.ClientCurrentLanguage; + } + + public string ProductEdition + { + get + { + return "General"; + } + } + + public string FIExternalDBConnectionString + { + get + { + return string.Empty; + } + } + + public SpecialDatabaseConnectionInfo[] GetSpecialDatabaseConnections() + { + throw new NotImplementedException(); + } + + public string GetStyleDefines(string useriid) + { + throw new NotImplementedException(); + //StringBuilder s = new StringBuilder(); + //s.Append(@""); + //s.Append(""); + //s.Append("<Background>#ff00ff</Background><Foreground>#222222</Foreground>"); + //s.Append("<Background>#333333</Background><Foreground>#444444</Foreground>#555555"); + //s.Append("<Background>#666666</Background><Foreground>#777777</Foreground>"); + //s.Append(""); + //return s.ToString(); + //// Services.CustUIStyle uistyle = SystemParams.GetUIStyle(useriid); + + // StringBuilder s = new StringBuilder(); + // s.Append(@""); + // s.Append(""); + // s.Append("<Background></Background><Foreground>#000000</Foreground>"); + // s.Append("<Background>" + uistyle.ChartTitleBackgroundColor + "</Background><Foreground></Foreground>" + uistyle.ChartBorderColor + ""); + // //s.Append("<Background>#666666</Background><Foreground>#777777</Foreground>"); + // s.Append(""); + // return s.ToString(); + } + public Dictionary GetAdditionalParameter() + { + Dictionary dic = new Dictionary(); + dic.Add("ConnectorToken", ContractorHost.Instance.ContractorSystemParams.GetFICStringParam("ConnectorToken")); + dic.Add("ConnectorServer", ContractorHost.Instance.ContractorSystemParams.GetFICStringParam("ConnectorServer")); + dic.Add("LdapAgentID", ContractorHost.Instance.ContractorSystemParams.GetFICStringParam("LdapAgentID")); + dic.Add("LdapAgentToken", ContractorHost.Instance.ContractorSystemParams.GetFICStringParam("LdapAgentToken")); + dic.Add("CanUseConnectorLDAP", ContractorHost.Instance.ContractorSystemParams.GetFICStringParam("CanUseConnectorLDAP")); + + return dic; + } + + public FICUserInfo[] GetSimpleUsers(bool hasAdmin) + { + var users = GetUsers(hasAdmin); + List ls = new List(); + foreach (var user in users) + { + var us = new FICUserInfo(); + us.IID = user.IID; + us.ID = user.ID; + us.DisplayName = user.DisplayName; + ls.Add(us); + } + return ls.ToArray(); + } + + class FICCacheObject + { + public byte[] Data = null; + public DateTime CreateTime = DateTime.Now; + + public byte[] ToBuffer() + { + byte[] rst = new byte[Data.Length + 8]; + byte[] bf1 = BitConverter.GetBytes(CreateTime.Ticks); + Buffer.BlockCopy(bf1, 0, rst, 0, 8); + Buffer.BlockCopy(Data, 0, rst, 8, Data.Length); + + return rst; + } + + public void FromBuffer(byte[] buffer) + { + long l = BitConverter.ToInt64(buffer, 0); + CreateTime = new DateTime(l); + Data = new byte[buffer.Length - 8]; + Buffer.BlockCopy(buffer, 8, Data, 0, buffer.Length - 8); + } + } + + #region - (De)Serialize - + + private static byte[] Serialize(object obj, DateTime createtime) + { + if (obj == null) + { + return null; + } + var cacheObj = new RedisCacheObject + { + CreateTime = createtime, + Data = obj + }; + byte[] data; + using (var ms = new MemoryStream()) + { + new BinaryFormatter().Serialize(ms, cacheObj); + data = ms.ToArray(); + } + return data; + } + + private static object Deserialize(byte[] buffer) + { + using (var ms = new MemoryStream(buffer, false)) + { + return new BinaryFormatter().Deserialize(ms); + } + } + + + + #endregion + + + [Serializable] + class RedisCacheObject + { + public DateTime CreateTime { get; set; } + public object Data { get; set; } + } + + } + +} diff --git a/IronIntelContractor/IronIntelContractor.csproj b/IronIntelContractor/IronIntelContractor.csproj new file mode 100644 index 0000000..d62e4e9 --- /dev/null +++ b/IronIntelContractor/IronIntelContractor.csproj @@ -0,0 +1,118 @@ + + + + + Debug + AnyCPU + {66F769E6-9708-4924-A9D8-BA8AE92B94D5} + Library + Properties + IronIntel.Contractor + IronIntelContractor + v4.7.1 + 512 + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + + + LHBIS.snk + + + + ..\Reflib\FIASPNETCache.dll + + + ..\Reflib\FICacheManager.Redis.dll + + + ..\Reflib\FICachManager.dll + + + ..\Reflib\FIC\FICBLC.dll + + + ..\Reflib\FIC\FICIntf.dll + + + ..\Reflib\FIC\FICIntfAdv.dll + + + ..\Reflib\FIC\FICModels.dll + + + ..\Reflib\FICore.dll + + + ..\Reflib\FICoreDbCreator.dll + + + ..\Reflib\FIWinLib.dll + + + ..\Reflib\ForesightServicesClient.dll + + + ..\Reflib\iisyslib.dll + + + ..\Reflib\irondbobjlib.dll + + + False + ..\Reflib\Newtonsoft.Json.dll + + + ..\Reflib\StackExchange.Redis.StrongName.dll + + + + + + + + + + + + + + + + + + + ASPXCodeBehind + + + + + + {b0d49bbd-b287-44f0-aaaf-33833532ce4c} + DataModel + + + + + + + + \ No newline at end of file diff --git a/IronIntelContractor/LHBIS.snk b/IronIntelContractor/LHBIS.snk new file mode 100644 index 0000000000000000000000000000000000000000..bb71a518ae18e6b1c7a4e4057c21ed4835d06325 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50096Q7aUpkzAcz{f1?NoVA^#YGG&FB;24!K zA}o<$oj}Pmr@nu)WLKLdhvJ&Zz!$`=k+xr`J+?c@()h@$k}R$hnW0rV^$C5Kum4$; z+XTM@92|Mej@SPaq73zx8+M~_zKRrSnG1f+bK!}MsPdeo+l~XUVGwiq@v#SySMFdkPZSmM)V=d*k?r+p$x3g}z^aMtH5 z))e(^i$yr10bjIN;av5@vTp{hMS-@N`&@K&y+J3R7)$h)5p6~*L0EWQmC7p{P`Eza z(qfoFG3H#W${6KjY!rS+)Z>DHWbci0L_zed;w@XjZlNG0ZfEDu z{ZfVGta?zX3SCX10hVT&Hk1jmM#r~{F7y9!6a`DZ4^m-b#zVUAF3i+uEom-IIuQSG zu@?e^D|w$%+}lvRY`|SDV7Tr=A=()Q2<1YHeNvvM(ZWqE-ojNJrSOhAUUG=qUXE2k zJW|#B&Kx((}^bv(1b`^)vK&u1vBGrEkJZB)R z`Y=PluLp4MAwrjFP#nGR7g}$Y5w^u;;;Kmbh!8LT^Q=q+od-+AB#5Km=RHg+Zhb*K io9yj01-4rzdKT^W^o@#D#4ZRMJwq_OGP_&tu^g1TCKPi3 literal 0 HcmV?d00001 diff --git a/IronIntelContractor/Properties/AssemblyInfo.cs b/IronIntelContractor/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..eb3c051 --- /dev/null +++ b/IronIntelContractor/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("IronIntelContractor")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Foresight Intelligence")] +[assembly: AssemblyProduct("IronIntelContractor")] +[assembly: AssemblyCopyright("Copyright © Foresight Intelligence 2018")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("66f769e6-9708-4924-a9d8-ba8ae92b94d5")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("3.0.0.0")] +[assembly: AssemblyFileVersion("3.18.1011.0")] diff --git a/IronIntelContractor/Site/IronIntelBasePage.cs b/IronIntelContractor/Site/IronIntelBasePage.cs new file mode 100644 index 0000000..6e40c97 --- /dev/null +++ b/IronIntelContractor/Site/IronIntelBasePage.cs @@ -0,0 +1,436 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Net; +using System.Configuration; +using System.Web; +using Foresight.ServiceModel; +using Foresight.Security; +using IronIntel.Services; +using IronIntel.Services.Users; +using IronIntel.Services.Customers; + +namespace IronIntel.Contractor.Site +{ + public class IronIntelBasePage : System.Web.UI.Page + { + public const string LOGINSESSION_COOKIENAME = "iiabc_"; + public const string LANGUAGECOOKIENAME = LOGINSESSION_COOKIENAME + "language"; + public const string APPNAME = "iron-desktop"; + public const string CLIENT_TIMEOFFSET_COOKIENAME = "clienttimeoffset"; + + private static int _LOCAL_TIMEOFFSET = 10000; + + private static string _HostName = null; + + private static string _Branch = string.Empty; + private static string _AboutUrl = string.Empty; + private static string _Copyrights = string.Empty; + private static string _PageTitle = string.Empty; + private static string _ShowTermofuse = string.Empty; + + public static string LocalHostName + { + get + { + if (_HostName == null) + { + try + { + _HostName = Dns.GetHostName(); + } + catch + { + _HostName = string.Empty; + } + } + return _HostName; + } + } + + public static int LocalTimeOffset + { + get + { + if (_LOCAL_TIMEOFFSET == 10000) + { + DateTime dt = DateTime.Now; + DateTime dt1 = dt.ToUniversalTime(); + TimeSpan sp = dt1 - dt; + _LOCAL_TIMEOFFSET = Convert.ToInt32(sp.TotalMinutes); + } + return _LOCAL_TIMEOFFSET; + } + } + + private static readonly byte[] KEY = new byte[] { 219, 239, 201, 20, 173, 133, 64, 29, 33, 71, 49, 117, 208, 115, 79, 169, 1, 126, 201, 229, 115, 35, 62, 102, 71, 16, 71, 220, 44, 95, 186, 223 }; + private static readonly byte[] IV = new byte[] { 255, 180, 99, 244, 147, 37, 175, 243, 193, 52, 167, 82, 143, 199, 242, 171 }; + + public static string EncryptString(string s) + { + if (string.IsNullOrWhiteSpace(s)) + { + return string.Empty; + } + byte[] buf = Encoding.UTF8.GetBytes(s); + byte[] tmp = SecurityHelper.AesEncrypt(buf, KEY, IV); + return Convert.ToBase64String(tmp); + } + + public static string DecryptString(string s) + { + if (string.IsNullOrWhiteSpace(s)) + { + return string.Empty; + } + byte[] tmp = Convert.FromBase64String(s); + byte[] buf = SecurityHelper.AesDecrypt(tmp, KEY, IV); + return Encoding.UTF8.GetString(buf); + } + + public virtual string GetIronSystemServiceAddress() + { + return ConfigurationManager.AppSettings["syssvcaddress"]; + } + + public virtual IronSysServiceClient GetSystemServiceClient() + { + LoginSession session = null; + try + { + session = GetCurrentLoginSession(); + } + catch + { + } + IronSysServiceClient ic = new IronSysServiceClient(GetIronSystemServiceAddress()); + if (session != null) + { + ic.AppName = session.AppName; + ic.LoginSessionID = session.SessionID; + ic.CurrentUserIID = session.User.UID; + } + return ic; + } + + public virtual CustomerProvider GetCustomerProvider() + { + LoginSession session = null; + try + { + session = GetCurrentLoginSession(); + } + catch + { + } + CustomerProvider ic = new CustomerProvider(GetIronSystemServiceAddress()); + if (session != null) + { + ic.AppName = session.AppName; + ic.LoginSessionID = session.SessionID; + ic.CurrentUserIID = session.User.UID; + } + return ic; + } + + public virtual LoginProvider GetLoginProvider() + { + LoginSession session = null; + try + { + session = GetCurrentLoginSession(); + } + catch + { + } + LoginProvider ic = new LoginProvider(GetIronSystemServiceAddress()); + if (session != null) + { + ic.AppName = session.AppName; + ic.LoginSessionID = session.SessionID; + ic.CurrentUserIID = session.User.UID; + } + return ic; + } + + private string GetServerParam(string key) + { + IronSysServiceClient ic = new IronSysServiceClient(GetIronSystemServiceAddress()); + StringKeyValue[] kvs = ic.GetServerParams(); + foreach (StringKeyValue kv in kvs) + { + if (string.Compare(kv.Key, key, true) == 0) + { + return kv.Value; + } + } + return string.Empty; + } + + public string Branch + { + get + { + if (string.IsNullOrWhiteSpace(_Branch)) + { + _Branch = GetServerParam("Branch"); + } + return _Branch; + } + } + + public string AboutUrl + { + get + { + if (string.IsNullOrEmpty(_AboutUrl)) + { + _AboutUrl = GetServerParam("AboutUrl"); + } + return _AboutUrl; + } + } + + public string Copyrights + { + get + { + if (string.IsNullOrEmpty(_Copyrights)) + { + _Copyrights = GetServerParam("Copyrights"); + } + return _Copyrights; + } + } + + + public string PageTitle + { + get + { + if (string.IsNullOrEmpty(_PageTitle)) + { + _PageTitle = GetServerParam("PageTitle"); + } + return _PageTitle; + } + } + + public bool ShowTermofuse + { + get + { + if (string.IsNullOrEmpty(_ShowTermofuse)) + { + _ShowTermofuse = GetServerParam("ShowTermofuse"); + } + return string.Compare(_ShowTermofuse, "True", true) == 0 || string.Compare(_ShowTermofuse, "Yes", true) == 0 || string.Compare(_ShowTermofuse, "1", true) == 0; + } + } + + public static string GetLoginSessionID(HttpRequest request) + { + HttpCookie cookie = request.Cookies[LOGINSESSION_COOKIENAME]; + if (cookie == null) + { + return string.Empty; + } + if (string.IsNullOrWhiteSpace(cookie.Value)) + { + return string.Empty; + } + return DecryptString(cookie.Value); + } + + public LoginSession GetCurrentLoginSession() + { + string sessionid = GetLoginSessionID(Request); + if (string.IsNullOrWhiteSpace(sessionid)) + { + return null; + } + try + { + LoginProvider ic = new LoginProvider(GetIronSystemServiceAddress()); + return ic.GetLoginSession(sessionid); + } + catch + { + return null; + } + } + + protected void RedirectToLoginPage() + { + Response.Redirect(LoginPageUrl); + } + + protected string LoginPageUrl + { + get + { + IronSysServiceClient ic = new IronSysServiceClient(GetIronSystemServiceAddress()); + return ic.GetPortalLoginUrl(); + } + } + + /// + /// 当用户登录成功后,跳转到用户的默认主界面, 也即是各公司的主界面 + /// + /// + protected void RedirectToUsersDefaultEntryPage(UserInfo user) + { + Response.Redirect(GetUserDefaultEntryPageUrl(user), true); + } + + protected string GetUserDefaultEntryPageUrl(UserInfo user) + { + IronSysServiceClient ic = new IronSysServiceClient(GetIronSystemServiceAddress()); + return ic.GetCompanyPortalEntryUrl(user.CompanyID); + } + + protected void ClearLoginSessionCookie() + { + HttpCookie cookie = new HttpCookie(LOGINSESSION_COOKIENAME); + cookie.Value = string.Empty; + cookie.Expires = DateTime.Now.AddDays(-3); + Response.Cookies.Add(cookie); + } + + protected void SetLoginSessionCookie(string sessionid) + { + HttpCookie cookie = new HttpCookie(LOGINSESSION_COOKIENAME); + cookie.Value = EncryptString(sessionid); + + string path = ConfigurationManager.AppSettings["sessioncookiepath"]; + if (!string.IsNullOrWhiteSpace(path)) + { + cookie.Path = path; + } + string domain = ConfigurationManager.AppSettings["sessioncookiedomain"]; + if (!string.IsNullOrWhiteSpace(domain)) + { + cookie.Domain = domain; + } + Response.Cookies.Add(cookie); + } + + protected void SetClientTimeOffset(int offset) + { + HttpCookie cookie = new HttpCookie(CLIENT_TIMEOFFSET_COOKIENAME); + cookie.Value = offset.ToString(); + cookie.Expires = DateTime.Now.AddYears(1); + Response.Cookies.Add(cookie); + } + + protected int GetClientTimeOffset() + { + HttpCookie cookie = Request.Cookies[CLIENT_TIMEOFFSET_COOKIENAME]; + if (cookie == null) + { + return LocalTimeOffset; + } + if (string.IsNullOrWhiteSpace(cookie.Value)) + { + return LocalTimeOffset; + } + int n = 0; + if (int.TryParse(cookie.Value, out n)) + { + return n; + } + else + { + return LocalTimeOffset; + } + } + + public static DateTime UtcTimeToClientTime(DateTime dt, int clienttimeoffset) + { + return dt.AddMinutes(-1 * clienttimeoffset); + } + + public static Int64 GetSiteFileDateTime(string url) + { + string fn = HttpContext.Current.Server.MapPath(url); + if (System.IO.File.Exists(fn)) + { + try + { + return System.IO.File.GetLastWriteTimeUtc(fn).Ticks; + } + catch + { + return 0; + } + } + else + { + return 0; + } + } + + /// + /// 用于构造js/css或图片文件的url,在其最后加上版本标识,解决浏览器缓存问题 + /// + /// + /// + public static string GetFileUrlWithVersion(string url) + { + string fn = HttpContext.Current.Server.MapPath(url); + if (System.IO.File.Exists(fn)) + { + try + { + Int64 n = System.IO.File.GetLastWriteTimeUtc(fn).Ticks; + return url + "?sn=" + n.ToString(); + } + catch + { + return url; + } + } + else + { + return url; + } + } + + public static string ReadTextFromStream(System.IO.Stream stream) + { + using (System.IO.StreamReader sr = new System.IO.StreamReader(stream)) + { + return sr.ReadToEnd(); + } + } + + public static string GetUserHostAddress(HttpRequest request) + { + const string CLIENT_IP = "client-ip"; + if (request == null) + { + return string.Empty; + } + + string rst = request.Headers[CLIENT_IP]; + if (string.IsNullOrWhiteSpace(rst)) + { + rst = request.UserHostAddress; + } + if (rst == null) + { + rst = string.Empty; + } + return rst; + } + + protected string UserHostAddress + { + get + { + return GetUserHostAddress(Request); + } + } + } +} diff --git a/IronIntelContractor/Site/IronIntelHttpHandlerBase.cs b/IronIntelContractor/Site/IronIntelHttpHandlerBase.cs new file mode 100644 index 0000000..f1c8ea1 --- /dev/null +++ b/IronIntelContractor/Site/IronIntelHttpHandlerBase.cs @@ -0,0 +1,151 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Configuration; +using System.Web; +using Foresight.Security; +using IronIntel.Services; +using IronIntel.Services.Users; +using IronIntel.Services.Customers; + +namespace IronIntel.Contractor.Site +{ + public class IronIntelHttpHandlerBase : IDisposable + { + public static string LocalHostName + { + get { return IronIntelBasePage.LocalHostName; } + } + + public HttpContext Context { get; private set; } + protected LoginSession LoginSession { get; private set; } + + protected int ClientTimeOffset { get; private set; } + + public IronIntelHttpHandlerBase(HttpContext context) + { + Context = context; + try + { + LoginSession = GetCurrentLoginSession(); + } + catch + { + LoginSession = null; + } + ClientTimeOffset = GetClientTimeOffset(); + } + + public virtual string GetIronSystemServiceAddress() + { + return ConfigurationManager.AppSettings["syssvcaddress"]; + } + + public virtual IronSysServiceClient GetSystemServiceClient() + { + IronSysServiceClient ic = new IronSysServiceClient(GetIronSystemServiceAddress()); + if (LoginSession != null) + { + ic.AppName = LoginSession.AppName; + ic.LoginSessionID = LoginSession.SessionID; + ic.CurrentUserIID = LoginSession.User.UID; + } + return ic; + } + + public virtual CustomerProvider GetCustomerProvider() + { + CustomerProvider ic = new CustomerProvider(GetIronSystemServiceAddress()); + if (LoginSession != null) + { + ic.AppName = LoginSession.AppName; + ic.LoginSessionID = LoginSession.SessionID; + ic.CurrentUserIID = LoginSession.User.UID; + } + return ic; + } + + public LoginSession GetCurrentLoginSession() + { + HttpCookie cookie = Context.Request.Cookies[IronIntelBasePage.LOGINSESSION_COOKIENAME]; + if (cookie == null) + { + return null; + } + if (string.IsNullOrWhiteSpace(cookie.Value)) + { + return null; + } + string sessionid = IronIntelBasePage.DecryptString(cookie.Value); + try + { + LoginProvider ic = new LoginProvider(GetIronSystemServiceAddress()); + return ic.GetLoginSession(sessionid); + } + catch + { + return null; + } + } + + private int GetClientTimeOffset() + { + HttpCookie cookie = Context.Request.Cookies[IronIntelBasePage.CLIENT_TIMEOFFSET_COOKIENAME]; + if (cookie == null) + { + return IronIntelBasePage.LocalTimeOffset; + } + if (string.IsNullOrWhiteSpace(cookie.Value)) + { + return IronIntelBasePage.LocalTimeOffset; + } + int n = 0; + if (int.TryParse(cookie.Value, out n)) + { + return n; + } + else + { + return IronIntelBasePage.LocalTimeOffset; + } + } + + public static string ReadTextFromStream(System.IO.Stream stream) + { + using (System.IO.StreamReader sr = new System.IO.StreamReader(stream)) + { + return sr.ReadToEnd(); + } + } + + public virtual void ProcessRequest() + { + + } + + private bool disposed = false; + protected void Dispose(bool disposed) + { + Context = null; + LoginSession = null; + } + + public void Dispose() + { + if (!disposed) + { + Dispose(true); + disposed = true; + } + } + + public string UserHostAddress + { + get + { + return IronIntelBasePage.GetUserHostAddress(Context.Request); + } + } + } +} diff --git a/IronIntelContractorBusiness/App.config b/IronIntelContractorBusiness/App.config new file mode 100644 index 0000000..e3dea46 --- /dev/null +++ b/IronIntelContractorBusiness/App.config @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/IronIntelContractorBusiness/Attachment/AttachmentItem.cs b/IronIntelContractorBusiness/Attachment/AttachmentItem.cs new file mode 100644 index 0000000..5c5d8d5 --- /dev/null +++ b/IronIntelContractorBusiness/Attachment/AttachmentItem.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Attachment +{ + public class AttachmentItem + { + public long ID { get; set; } + public string StringID { get; set; }//为了兼容旧数据库中的ATTACHES.ATTACHID字段,旧数据库中的表由Workorder和MaintanceLog在使用 + public string FileName { get; set; } + public string Source { get; set; } + public string SourceID { get; set; } + public string AddedByUserIID { get; set; } + public string AddedByUserName { get; set; } + public string Notes { get; set; } + public DateTime AddedOn { get; set; } + public string AddedOnStr { get { return AddedOn.ToString(); } } + public byte[] FileData { get; set; } + } +} diff --git a/IronIntelContractorBusiness/AttachmentsManagement.cs b/IronIntelContractorBusiness/AttachmentsManagement.cs new file mode 100644 index 0000000..c89b1d5 --- /dev/null +++ b/IronIntelContractorBusiness/AttachmentsManagement.cs @@ -0,0 +1,181 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Data; +using System.Threading.Tasks; +using Foresight.ServiceModel; +using Newtonsoft.Json; +using Foresight.Data; +using IronIntel.Contractor.Users; +using IronIntel.Contractor.Attachment; +using Foresight.Fleet.Services.Attachment; + +namespace IronIntel.Contractor +{ + public class AttachmentsManagement + { + public static StringKeyValue[] GetAttachList(string refID, string source) + { + string SQL = @"SELECT ATTACHID,FILENAME,ADDEDBY,ADDEDON_UTC + FROM ATTACHES WHERE REFID={0} and SOURCE={1}"; + var db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(SQL, refID, source); + + var users = Users.UserManagement.GetAllAvailableUsers(); + return ConvertToSKarray(dt, users); + } + + public static StringKeyValue GetAttachByAttachID(string attachID) + { + string SQL = @"SELECT ATTACHID,FILENAME,ADDEDBY,ADDEDON_UTC + FROM ATTACHES WHERE ATTACHID={0}"; + var db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(SQL, attachID); + if (dt.Rows.Count > 0) + { + var user = Users.UserManagement.GetUserByIID(FIDbAccess.GetFieldString(dt.Rows[0]["ADDEDBY"], string.Empty)); + StringKeyValue[] skarray = ConvertToSKarray(dt, new UserInfo[] { user }); + if (skarray.Length > 0) + return skarray[0]; + } + return new StringKeyValue(); + } + + public static byte[] GetAttachFileData(string attachID, out string fileName) + { + string SQL = "select FILENAME,ATTACHDATA from ATTACHES where ATTACHID={0}"; + var db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(SQL, attachID); + byte[] fileData = Foresight.Data.FIDbAccess.GetFieldBytes(dt.Rows[0]["ATTACHDATA"]); + fileName = Foresight.Data.FIDbAccess.GetFieldString(dt.Rows[0]["FILENAME"], ""); + return fileData; + } + + public static void SaveAttach(string refid, string username, string[] attachids, string source) + { + if (attachids != null) + { + foreach (string attaid in attachids) + { + string sql = "update ATTACHES set REFID={1},ADDEDBY={2},SOURCE={3} where ATTACHID={0}"; + var db = SystemParams.GetDbInstance(); + db.ExecSQL(sql, attaid, refid, username, source); + } + } + } + + public static string AddAttachment(string fileName, byte[] fileData) + { + string attachID = Guid.NewGuid().ToString().ToUpper(); + string sql = "insert into ATTACHES (ATTACHID,FILENAME,ATTACHDATA,ADDEDON_UTC) values({0},{1},{2},getutcdate())"; + var db = SystemParams.GetDbInstance(); + db.ExecSQL(sql, attachID, fileName, fileData); + + DeleteTimeoutTempAttach(); + return attachID; + } + + /// + /// 根据附件ID删除附件,主要用于页面上单独删除某一附件 + /// + /// + public static void DeleteAttachment(string attachid) + { + string sql = "DELETE FROM ATTACHES WHERE ATTACHID={0}"; + var db = SystemParams.GetDbInstance(); + + DeleteTimeoutTempAttach(); + db.ExecSQL(sql, attachid); + } + + /// + /// + /// + /// + public void DeleteAttachments(string[] refids) + { + if (refids.Length > 0) + { + string publicsolutionIDs = string.Empty; + foreach (string s in refids) + { + publicsolutionIDs += "'" + s + "',"; + } + if (!string.IsNullOrEmpty(publicsolutionIDs)) + { + publicsolutionIDs = publicsolutionIDs.Substring(0, publicsolutionIDs.Length - 1); + } + string deletepublic = string.Format("delete from ATTACHES where REFID in ({0})", publicsolutionIDs); + var db = SystemParams.GetDbInstance(); + db.ExecSQL(deletepublic); + } + } + + private static StringKeyValue[] ConvertToSKarray(DataTable dt, IEnumerable users) + { + List sklist = new List(); + StringKeyValue sk = null; + foreach (DataRow row in dt.Rows) + { + sk = new StringKeyValue(); + sk.Key = FIDbAccess.GetFieldString(row["ATTACHID"], string.Empty); + sk.Tag1 = FIDbAccess.GetFieldString(row["FILENAME"], string.Empty); + + string addBy = FIDbAccess.GetFieldString(row["ADDEDBY"], string.Empty); + if (users != null) + { + Guid uiid; + if (Guid.TryParse(addBy, out uiid)) + { + var user = users.FirstOrDefault((u) => string.Compare(u.IID, addBy, true) == 0); + if (user != null) + addBy = user.DisplayName; + else + addBy = ""; + } + } + string createInfo = " Add by " + addBy; + sk.Tag2 = createInfo; + DateTime time = FIDbAccess.GetFieldDateTime(row["ADDEDON_UTC"], DateTime.MinValue); + time = time.ToLocalTime(); + sk.Tag3 = time.ToString(); + sklist.Add(sk); + } + return sklist.OrderBy(s => s.Tag3).ToArray(); + } + + private static void DeleteTimeoutTempAttach() + { + string sql = "DELETE from ATTACHES where REFID IS NULL AND DATEDIFF(HOUR,ADDEDON_UTC,GETUTCDATE())>23"; + var db = SystemParams.GetDbInstance(); + db.ExecSQL(sql); + } + + public static AttachmentItem GetAttachment(string sessionid, string custid, long attid) + { + if (string.IsNullOrEmpty(custid)) + custid = SystemParams.CompanyID; + Foresight.Fleet.Services.Attachment.AttachmentInfo att = FleetServiceClientHelper.CreateClient(custid, sessionid).GetAttachment(custid, attid); + AttachmentItem item = new AttachmentItem(); + Helper.CloneProperty(item, att); + return item; + } + + public static AttachmentItem GetAttachmentLegacy(string sessionid, string custid, string attid) + { + if (string.IsNullOrEmpty(custid)) + custid = SystemParams.CompanyID; + Foresight.Fleet.Services.Attachment.AttachmentInfo att = FleetServiceClientHelper.CreateClient(custid, sessionid).GetAttachmentLegacy(custid, attid); + AttachmentItem item = new AttachmentItem(); + Helper.CloneProperty(item, att); + return item; + } + } + + public class AttachmentType + { + public const string MaintenanceLog = "MaintenanceLog"; + public const string WorkOrder = "WorkOrder"; + } +} diff --git a/IronIntelContractorBusiness/BusinessBase.cs b/IronIntelContractorBusiness/BusinessBase.cs new file mode 100644 index 0000000..4b54454 --- /dev/null +++ b/IronIntelContractorBusiness/BusinessBase.cs @@ -0,0 +1,108 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Data; +using Foresight.Data; + +namespace IronIntel.Contractor +{ + /// + /// + /// + public class BusinessBase + { + public static string NewID() + { + return Guid.NewGuid().ToString().ToUpper(); + } + + public static decimal? NegativeToNull(decimal v) + { + if (v < 0) + { + return null; + } + else + { + return v; + } + } + + public static double? NegativeToNull(double v) + { + if (v < 0) + { + return null; + } + else + { + return v; + } + } + + public static int? NegativeToNull(int v) + { + if (v < 0) + { + return null; + } + else + { + return v; + } + } + + public string DbConnectionString { get; private set; } + public BusinessBase(string dbstr) + { + DbConnectionString = dbstr; + } + + public static void ExecSQL(FIDbAccess db,int retrytimes,string sql, params object[] values) + { + int n = 0; + while (true) + { + n++; + try + { + db.ExecSQL(sql, values); + return; + } + catch + { + if (n >= retrytimes) + { + throw; + } + } + System.Threading.Thread.Sleep(100); + } + } + + protected void ExecSQL(string sql, params object[] values) + { + FISqlConnection db = new FISqlConnection(DbConnectionString); + db.ExecSQL(sql, values); + } + + protected DataTable GetDataTableBySQL(string sql, params object[] values) + { + FISqlConnection db = new FISqlConnection(DbConnectionString); + db.CommandTimeout = 120; + return db.GetDataTableBySQL(sql, values); + } + + protected object GetRC1BySQL(string sql, params object[] values) + { + FISqlConnection db = new FISqlConnection(DbConnectionString); + return db.GetRC1BySQL(sql, values); + } + + protected FISqlTransaction BeginTransaction() + { + return new FISqlTransaction(DbConnectionString); + } + } +} diff --git a/IronIntelContractorBusiness/CacheManager.cs b/IronIntelContractorBusiness/CacheManager.cs new file mode 100644 index 0000000..6470aaa --- /dev/null +++ b/IronIntelContractorBusiness/CacheManager.cs @@ -0,0 +1,161 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Foresight.Cache; +using Foresight.Cache.AspNet; +using Foresight.Cache.Redis; + +namespace IronIntel.Contractor +{ + public static class CacheManager + { + public static void Dispose() + { + if (_Client != null) + { + _Client.Dispose(); + _Client = null; + } + } + + private static CacheClient _Client = null; + private static object _sycobj = new object(); + + private static FIRedisCacheClient CreateRedisClient() + { + string[] servers = FleetServiceClientHelper.CreateClient().GetRedisServers(); + if ((servers == null) || (servers.Length == 0)) + { + return null; + } + List ls = new List(); + foreach (string srv in servers) + { + try + { + RedisNode node = CreateRedisNode(srv); + ls.Add(node); + } + catch (Exception ex) + { + SystemParams.WriteLog("Error", typeof(CacheManager).FullName + ".CreateRedisClient", "Create RedisNode failed: " + srv, ex.ToString()); + } + } + if (ls.Count == 0) + { + return null; + } + else + { + return new FIRedisCacheClient("IRONINTEL_" + SystemParams.CompanyID.ToUpper(), ls); + } + } + + private static RedisNode CreateRedisNode(string server) + { + string[] address = server.Split(new char[] { ':' }); + int port = -1; + if (!int.TryParse(address[1], out port)) + { + port = -1; + } + int weight = 100; + if (!int.TryParse(address[2], out weight)) + { + weight = 100; + } + RedisNode node = new RedisNode(address[0], port, weight); + return node; + } + + private static void InitCacheClient() + { + FIRedisCacheClient fc = null; + try + { + fc = CreateRedisClient(); + } + catch (Exception ex) + { + SystemParams.WriteLog("Error", typeof(CacheManager).FullName + ".InitCacheClient", "Create Redis client failed", ex.ToString()); + } + if (fc != null) + { + _Client = fc; + return; + } + else + { + _Client = new AspNetCacheManager("IRONINTEL_" + SystemParams.CompanyID.ToUpper()); + } + } + + private static CacheClient Client + { + get + { + if (_Client == null) + { + lock (_sycobj) + { + if (_Client == null) + { + InitCacheClient(); + } + } + } + return _Client; + } + } + + public static void Remove(string key) + { + if (Client != null) + { + try + { + Client.Remove(key); + } + catch + { } + } + } + + public static void SetValue(string key, byte[] buffer, TimeSpan expire) + { + if (buffer == null) + { + Remove(key); + } + else if (Client != null) + { + try + { + Client.SetValue(key, buffer, expire); + } + catch + { } + } + } + + public static byte[] GetValue(string key) + { + if (Client != null) + { + try + { + return Client.GetValue(key); + } + catch + { + return null; + } + } + else + { + return null; + } + } + } +} diff --git a/IronIntelContractorBusiness/Contact/ContactInfo.cs b/IronIntelContractorBusiness/Contact/ContactInfo.cs new file mode 100644 index 0000000..c787623 --- /dev/null +++ b/IronIntelContractorBusiness/Contact/ContactInfo.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Contact +{ + public class ContactInfo + { + public string ContactID { get; set; } + public string ContactName { get; set; } + public string UserIID { get; set; } + public string UserName { get; set; } + public string ContactType { get; set; } + public string EmailAddress { get; set; } + public string TextAddress { get; set; } + public string Notes { get; set; } + public bool Text { get; set; } + public bool Email { get; set; } + } + +} diff --git a/IronIntelContractorBusiness/Contact/ContactManagement.cs b/IronIntelContractorBusiness/Contact/ContactManagement.cs new file mode 100644 index 0000000..8235378 --- /dev/null +++ b/IronIntelContractorBusiness/Contact/ContactManagement.cs @@ -0,0 +1,292 @@ +using Foresight.Data; +using Foresight.ServiceModel; +using IronIntel.Contractor.Machines; +using IronIntel.Contractor.Maintenance; +using IronIntel.Contractor.MapView; +using IronIntel.Contractor.Users; +using IronIntel.Services.Business.Admin; +using IronIntel.Services.Customers; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Contact +{ + public class ContactManagement + { + public static ContactInfo[] GetContacts(string sessionid, FISqlConnection db = null) + { + const string SQL = "select CONTACTID,CONTACTNAME,USERIID,NOTES,CONTACTTYPE,EMAILADDRESS,TEXTADDRESS from CONTACT"; + + List list = new List(); + if (db == null) + db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(SQL); + if (dt.Rows.Count > 0) + { + UserInfo[] users = UserManagement.GetUsers(); + foreach (DataRow dr in dt.Rows) + { + ContactInfo ci = ConvertToContactInfo(dr); + if (!string.IsNullOrWhiteSpace(ci.UserIID)) + { + UserInfo ui = users.FirstOrDefault(m => m.IID == ci.UserIID); + if (ui != null) + ci.UserName = ui.DisplayName; + } + list.Add(ci); + } + } + return list.ToArray(); + } + + + public static void SaveContact(ContactInfo ci, string useriid) + { + const string SQL = @"if exists(select 1 from CONTACT where CONTACTID={0}) update CONTACT set CONTACTNAME={1},USERIID={2},NOTES={3},LASTUPDATEDBY={4}, + LASTUPDATEDON = GETUTCDATE(),RECVER = ISNULL(RECVER,0) + 1,CONTACTTYPE={5},EMAILADDRESS={6},TEXTADDRESS={7} where CONTACTID={0} else insert CONTACT(CONTACTID,CONTACTNAME,USERIID, NOTES, ADDEDBY, + ADDEDON,LASTUPDATEDBY,LASTUPDATEDON,RECVER,CONTACTTYPE,EMAILADDRESS,TEXTADDRESS) values({0},{1},{2},{3},{4},GETUTCDATE(),{4},GETUTCDATE(),1,{5},{6},{7})"; + + const string SQL_C = "select COUNT(1) from CONTACT where CONTACTID!={0} and CONTACTNAME={1}"; + + FISqlConnection db = SystemParams.GetDbInstance(); + object obj = db.GetRC1BySQL(SQL_C, ci.ContactID, ci.ContactName); + if (Convert.ToInt32(obj) > 0) + { + throw new Exception("The contact name must be unique."); + } + + db.ExecSQL(SQL, ci.ContactID, ci.ContactName, ci.UserIID, ci.Notes, useriid, ci.ContactType, ci.EmailAddress, ci.TextAddress); + + } + + public static void DeleteContact(string contactid) + { + const string SQL = @"delete from CONTACT where CONTACTID={0} + delete from RELATIONSHIP where PRIMARYID = {0} and (RELATIONSHIPTYPEID='MachineContact' or RELATIONSHIPTYPEID='ContactJobsite') "; + FISqlConnection db = SystemParams.GetDbInstance(); + db.ExecSQL(SQL, contactid); + } + + public static MaintenanceMachineInfo[] GetContactMachinesByID(string contactid) + { + const string SQL = @"select a.RELATEDID as MACHINEID,b.MACHINENAME,b.MACHINENAME2,b.VIN,b.MAKEID,b.MODELID,b.TYPEID,b.HIDE,ISNULL(b.ENGINEHOURS,0) as ENGINEHOURS, + ISNULL(b.ODOMETER,0) as ODOMETER,ISNULL(b.ODOMETERUOM,'Mile') AS ODOMETERUOM from RELATIONSHIP a,MACHINES b + where a.RELATEDID=b.MACHINEID and a.RELATIONSHIPTYPEID='MachineContact' and a.REMOVED<>1 and a.PRIMARYID={0}"; + + FISqlConnection db = SystemParams.GetDbInstance(); + DataTable tb = db.GetDataTableBySQL(SQL, contactid); + if (tb.Rows.Count == 0) + { + return new MaintenanceMachineInfo[0]; + } + MachineManagement.RefreshBaseData(); + MachineMake[] makes = MachineManagement.GetMachineMakes(); + MachineModel[] models = MachineManagement.GetMachineModels(); + MachineType[] types = MachineManagement.GetMachineTypes(); + List ls = new List(); + foreach (DataRow dr in tb.Rows) + { + MaintenanceMachineInfo mi = MaintenanceManagement.ConvertToMaintenanceMachineInfo(dr, makes, models, types); + ls.Add(mi); + } + return ls.ToArray(); + + } + + public static void SaveContactMachines(string contactid, string contractorid, string[] machineids) + { + const string SQL_R = "update RELATIONSHIP set REMOVEDON=GETUTCDATE(),REMOVED=1 where RELATIONSHIPTYPEID='MachineContact' and REMOVED<>1 and PRIMARYID={0}"; + const string SQL = @"if exists(select 1 from RELATIONSHIP where RELATIONSHIPTYPEID='MachineContact' and PRIMARYID={0} and RELATEDID={1}) update RELATIONSHIP + set REMOVEDON=null,REMOVED=0 where RELATIONSHIPTYPEID='MachineContact' and PRIMARYID={0} and RELATEDID={1} else insert into RELATIONSHIP + (RELATIONSHIPID,RELATIONSHIPTYPEID,CONTRACTORID,PRIMARYID,RELATEDID,ADDEDON) values({3},'MachineContact',{2},{0},{1},GETUTCDATE())"; + + FISqlConnection db = SystemParams.GetDbInstance(); + db.ExecSQL(SQL_R, contactid); + + foreach (var mid in machineids) + { + db.ExecSQL(SQL, contactid, mid, contractorid, Guid.NewGuid().ToString()); + } + } + + public static void SaveMachineContacts(FISqlConnection db, string machineid, string contractorid, string[] contactids) + { + const string SQL_R = "update RELATIONSHIP set REMOVEDON=GETUTCDATE(),REMOVED=1 where RELATIONSHIPTYPEID='MachineContact' and REMOVED<>1 and RELATEDID={0}"; + const string SQL = @"if exists(select 1 from RELATIONSHIP where RELATIONSHIPTYPEID='MachineContact' and RELATEDID={0} and PRIMARYID={1}) update RELATIONSHIP + set REMOVEDON=null,REMOVED=0 where RELATIONSHIPTYPEID='MachineContact' and RELATEDID={0} and PRIMARYID={1} else insert into RELATIONSHIP + (RELATIONSHIPID,RELATIONSHIPTYPEID,CONTRACTORID,RELATEDID,PRIMARYID,ADDEDON) values({3},'MachineContact',{2},{0},{1},GETUTCDATE())"; + if (db == null) + db = SystemParams.GetDbInstance(); + db.ExecSQL(SQL_R, machineid); + + foreach (var cid in contactids) + { + db.ExecSQL(SQL, machineid, cid, contractorid, Guid.NewGuid().ToString()); + } + } + + + private static ContactInfo ConvertToContactInfo(DataRow dr) + { + ContactInfo ci = new ContactInfo(); + ci.ContactID = FIDbAccess.GetFieldString(dr["CONTACTID"], string.Empty); + ci.ContactName = FIDbAccess.GetFieldString(dr["CONTACTNAME"], string.Empty); + ci.UserIID = FIDbAccess.GetFieldString(dr["USERIID"], string.Empty); + ci.Notes = FIDbAccess.GetFieldString(dr["NOTES"], string.Empty); + ci.ContactType = FIDbAccess.GetFieldString(dr["CONTACTTYPE"], string.Empty); + ci.EmailAddress = FIDbAccess.GetFieldString(dr["EMAILADDRESS"], string.Empty); + ci.TextAddress = FIDbAccess.GetFieldString(dr["TEXTADDRESS"], string.Empty); + return ci; + } + + + + public static JobSiteViewItem[] GetContactJobsitesByID(string contactid) + { + const string SQL = @"select a.RELATEDID as JOBSITEID,JOBSITENAME,LATITUDE,LONGITUDE,RADIUS,RADUIS_UOM,b.CONTRACTORID,COLOR,NOTES,STARTDATE,ENDDATE,POLYGON,BASEONMACHINEID from RELATIONSHIP a,JOBSITES b + where a.RELATIONSHIPTYPEID='ContactJobsite' and a.REMOVED<>1 and a.RELATEDID=b.JOBSITEID and a.PRIMARYID={0}"; + + FISqlConnection db = SystemParams.GetDbInstance(); + DataTable tb = db.GetDataTableBySQL(SQL, contactid); + if (tb.Rows.Count == 0) + { + return new JobSiteViewItem[0]; + } + List ls = new List(); + foreach (DataRow dr in tb.Rows) + { + JobSiteViewItem js = ConvertToJobSiteViewItem(dr); + ls.Add(js); + } + return ls.ToArray(); + + } + + public static void SaveContactJobsites(string contactid, string contractorid, string[] jobsiteids) + { + const string SQL_R = "update RELATIONSHIP set REMOVEDON=GETUTCDATE(),REMOVED=1 where RELATIONSHIPTYPEID='ContactJobsite' and REMOVED<>1 and PRIMARYID={0}"; + const string SQL = @"if exists(select 1 from RELATIONSHIP where RELATIONSHIPTYPEID='ContactJobsite' and PRIMARYID={0} and RELATEDID={1}) update RELATIONSHIP + set REMOVEDON=null,REMOVED=0 where RELATIONSHIPTYPEID='ContactJobsite' and PRIMARYID={0} and RELATEDID={1} else insert into RELATIONSHIP + (RELATIONSHIPID,RELATIONSHIPTYPEID,CONTRACTORID,PRIMARYID,RELATEDID,ADDEDON) values({3},'ContactJobsite',{2},{0},{1},GETUTCDATE())"; + + FISqlConnection db = SystemParams.GetDbInstance(); + db.ExecSQL(SQL_R, contactid); + + foreach (var mid in jobsiteids) + { + db.ExecSQL(SQL, contactid, mid, contractorid, Guid.NewGuid().ToString()); + } + } + private static JobSiteViewItem ConvertToJobSiteViewItem(DataRow dr) + { + JobSiteViewItem js = new JobSiteViewItem(); + long JobSiteId = FIDbAccess.GetFieldInt(dr["JOBSITEID"], 0); + js.ID = FIDbAccess.GetFieldInt(dr["JOBSITEID"], 0); + js.Name = FIDbAccess.GetFieldString(dr["JOBSITENAME"], string.Empty); + js.Latitude = FIDbAccess.GetFieldDouble(dr["LATITUDE"], 0); + js.Longitude = FIDbAccess.GetFieldDouble(dr["LONGITUDE"], 0); + js.Radius = FIDbAccess.GetFieldDouble(dr["RADIUS"], 0); + js.Radius_UOM = FIDbAccess.GetFieldString(dr["RADUIS_UOM"], string.Empty); + if (string.IsNullOrWhiteSpace(js.Radius_UOM)) + js.Radius_UOM = "Mile"; + js.ContractorID = FIDbAccess.GetFieldString(dr["CONTRACTORID"], string.Empty); + //js.ColorString = FIDbAccess.GetFieldString(dr["COLOR"], string.Empty); + //System.Drawing.Color color = System.Drawing.Color.Orange; + //try + //{ + // color = System.Drawing.ColorTranslator.FromHtml(js.ColorString); + //} + //catch + //{ + //} + //js.Color = new IIColor() { Alpha = color.A, Red = color.R, Green = color.G, Blue = color.B }; + + js.Notes = FIDbAccess.GetFieldString(dr["NOTES"], string.Empty); + js.StartDate = FIDbAccess.GetFieldDateTime(dr["STARTDATE"], DateTime.MinValue); + js.EndDate = FIDbAccess.GetFieldDateTime(dr["ENDDATE"], DateTime.MinValue); + js.BaseOnMachineID = FIDbAccess.GetFieldInt(dr["BASEONMACHINEID"], 0); + return js; + } + + /// + /// 获取机器Contact和机器的对应关系 + /// + /// + public static Dictionary> GetContactMachines(FISqlConnection db) + { + const string SQL_C = "select PRIMARYID,RELATEDID from RELATIONSHIP where RELATIONSHIPTYPEID='MachineContact' and REMOVED<>1"; + + Dictionary> result = new Dictionary>(); + if (db == null) + db = SystemParams.GetDbInstance(); + DataTable tb = db.GetDataTableBySQL(SQL_C); + + foreach (DataRow dr in tb.Rows) + { + int machineid = FIDbAccess.GetFieldInt(dr["RELATEDID"], 0); + string contactid = FIDbAccess.GetFieldString(dr["PRIMARYID"], ""); + if (!result.ContainsKey(machineid)) + result[machineid] = new List(); + result[machineid].Add(contactid); + } + return result; + } + + /// + /// 获取机器对应的ContactID + /// + /// + public static string[] GetContactByMachineID(FISqlConnection db, long machineid) + { + const string SQL_C = "select PRIMARYID from RELATIONSHIP where RELATIONSHIPTYPEID='MachineContact' and REMOVED<>1 and RELATEDID={0}"; + + Dictionary> result = new Dictionary>(); + if (db == null) + db = SystemParams.GetDbInstance(); + DataTable tb = db.GetDataTableBySQL(SQL_C, machineid); + if (tb.Rows.Count <= 0) + return new string[0]; + + List list = new List(); + foreach (DataRow dr in tb.Rows) + { + string contactid = FIDbAccess.GetFieldString(dr["PRIMARYID"], ""); + list.Add(contactid); + } + return list.ToArray(); + } + + + public static ContactInfo[] GetContactByAssetID(long assetid, string companyid) + { + const string SQL = @"select CONTACTID,CONTACTNAME,USERIID,NOTES,CONTACTTYPE,EMAILADDRESS,TEXTADDRESS from CONTACT where + CONTACTID in(select PRIMARYID from RELATIONSHIP where RELATIONSHIPTYPEID='MachineContact' and REMOVED<>1 and RELATEDID={0} union all + select rs.PRIMARYID from RELATIONSHIP rs left join JOBSITEMACHINES jm on rs.RELATEDID=jm.JOBSITEID where rs.RELATIONSHIPTYPEID='ContactJobsite' and rs.REMOVED<>1 and jm.MACHINEID={0})"; + + FISqlConnection db = null; + if (string.IsNullOrWhiteSpace(companyid)) + db = SystemParams.GetDbInstance(); + else + { + string connetionstring = SystemParams.GetDbStringByCompany(companyid); + db = new FISqlConnection(connetionstring); + } + + List list = new List(); + DataTable dt = db.GetDataTableBySQL(SQL, assetid); + if (dt.Rows.Count > 0) + { + foreach (DataRow dr in dt.Rows) + { + ContactInfo ci = ConvertToContactInfo(dr); + list.Add(ci); + } + } + return list.ToArray(); + } + } +} diff --git a/IronIntelContractorBusiness/Device/GpsDeviceItem.cs b/IronIntelContractorBusiness/Device/GpsDeviceItem.cs new file mode 100644 index 0000000..651a3cf --- /dev/null +++ b/IronIntelContractorBusiness/Device/GpsDeviceItem.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Device +{ + public class GpsDeviceItem + { + public long ID { get; set; } + public string SN { get; set; } + public string Source { get; set; } + public string SourceName { get; set; } + public string DeviceType { get; set; } + public int Status { get; set; } + public bool Active { get; set; } + public string ContractorID { get; set; } + public string Contractor { get; set; } + public string InvoiceNumber { get; set; } + public DateTime AddDate { get; set; } + public string AddDateStr { get { return AddDate == DateTime.MinValue ? "" : AddDate.ToShortDateString(); } } + public DateTime? InvoiceDate { get; set; } + public string InvoiceDateStr { get { return InvoiceDate == null ? "" : InvoiceDate.Value.ToShortDateString(); } } + public DateTime? ServiceStartDate { get; set; } + public string ServiceStartDateStr { get { return ServiceStartDate == null ? "" : ServiceStartDate.Value.ToShortDateString(); } } + public string Notes { get; set; } + } +} diff --git a/IronIntelContractorBusiness/ExportExcel/ConvertFormat.cs b/IronIntelContractorBusiness/ExportExcel/ConvertFormat.cs new file mode 100644 index 0000000..11b068e --- /dev/null +++ b/IronIntelContractorBusiness/ExportExcel/ConvertFormat.cs @@ -0,0 +1,220 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; + +namespace IronIntel.Contractor +{ + public class ConvertFormat + { + /// + /// 本函数将c#格式转换为excel格式,在转换时只允许一个格式中出现{0}或{0:xxx}之类的一次,多余的抛弃。 + /// + /// + /// + public static string ConvertFormatFromCSharpToExcel(string csharpFormat, CellDataType DataType) + { + if (string.IsNullOrEmpty(csharpFormat)) return ""; + + #region 验证格式是否合格。 + switch (DataType) + { + case CellDataType.Bool: + if (!string.IsNullOrEmpty(csharpFormat)) + { + string[] fors = csharpFormat.Split(';'); + csharpFormat = "\"" + string.Join("\";\"", fors.ToArray()) + "\""; + if (fors.Length == 2) + { + csharpFormat = csharpFormat + ";" + "\"" + fors[1] + "\""; + } + } + break; + case CellDataType.Date: + try + { + string.Format(csharpFormat, DateTime.Now); + } + catch + { + csharpFormat = ""; + } + break; + case CellDataType.Guid: + break; + case CellDataType.Integer: + try + { + string.Format(csharpFormat, 1234); + } + catch + { + csharpFormat = ""; + } + break; + case CellDataType.Float: + try + { + string.Format(csharpFormat, 1234.567890); + } + catch + { + csharpFormat = ""; + } + break; + default: + break; + } + #endregion + + string cshxp = csharpFormat; + string excelFormat = ""; + string pattern = @"\{0\}|\{0:[^\}]+\}"; + Regex reg = new Regex(pattern); + MatchCollection mc = reg.Matches(csharpFormat); + if (mc.Count > 0) + { + //将多余的格式串去掉。 + for (int i = 1; i < mc.Count; i++) + { + cshxp = cshxp.Replace(mc[i].Value, ""); + } + + if (string.Equals(mc[0].Value, "{0}", StringComparison.OrdinalIgnoreCase)) + { + int first = cshxp.IndexOf(mc[0].Value); + + //当格式为{0}时,设置FIC需要的默认格式。 + string ft = "General"; + if (DataType == CellDataType.Float) + { + ft = "0.00"; + } + else if (DataType == CellDataType.Integer) + { + ft = "0"; + } + else if (DataType == CellDataType.Date) + { + ft = "MM-dd-yyyy"; + } + else if (DataType == CellDataType.Bool) + { + ft = "True\";\"False\";\"False"; + } + + excelFormat = "\"" + cshxp.Substring(0, first) + "\"" + ft + "\"" + cshxp.Substring(first + 3) + "\""; + } + else + { + int first = cshxp.IndexOf(mc[0].Value); + string format = mc[0].Value.Replace("{0:", ""); + format = format.Replace("}", ""); + + string[] strs = format.Split(';'); + string preText = cshxp.Substring(0, first); + string postText = cshxp.Substring(first + mc[0].Value.Length); + + string str2 = ""; + foreach (string str in strs) + { + str2 = str; + if (DataType == CellDataType.Date) + { + str2 = ConvertSpecialDateFormat(str); + } + if (string.IsNullOrEmpty(excelFormat)) + { + excelFormat = "\"" + preText + "\"" + str2 + "\"" + postText + "\""; + } + else + { + string tmpFormat = "\"" + preText + "\"" + str2 + "\"" + postText + "\""; + excelFormat = excelFormat + ";" + tmpFormat; + } + } + } + } + else + { + excelFormat = cshxp; + } + + return excelFormat; + } + + private static string ConvertSpecialDateFormat(string format) + { + string result = format; + //AM/PM:tt + result = result.Replace("tt", "AM/PM"); + + //fff: + string pattern = @"\.f+"; + Regex reg = new Regex(pattern); + MatchCollection mc = reg.Matches(result); + foreach (Match mt in mc) + { + if (mt.Value == null) continue; + + string x0 = ""; + int num = mt.Value.Substring(1).Length; + while (num > 0) + { + x0 += "0"; + num--; + } + result = result.Replace(mt.Value, "." + x0); + } + + return result; + } + + private static bool CheckIfCSharpFormatIsValid(string format) + { + bool result = false; + try + { + FormatDouble(format); + return true; ; + } + catch { } + + try + { + FormatDateTime(format); + return true; ; + } + catch { } + + return result; + } + + private static void FormatDouble(string format) + { + double x = 12345.7890; + try + { + string.Format(format, x); + } + catch + { + x.ToString(format); + } + } + + private static void FormatDateTime(string format) + { + DateTime now = DateTime.Now; + try + { + string.Format(format, now); + } + catch + { + now.ToString(format); + } + } + } +} diff --git a/IronIntelContractorBusiness/ExportExcel/ExcelXlsx.cs b/IronIntelContractorBusiness/ExportExcel/ExcelXlsx.cs new file mode 100644 index 0000000..0fedac1 --- /dev/null +++ b/IronIntelContractorBusiness/ExportExcel/ExcelXlsx.cs @@ -0,0 +1,844 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.IO; + +using DocumentFormat.OpenXml.Packaging; +using Ap = DocumentFormat.OpenXml.ExtendedProperties; +using Vt = DocumentFormat.OpenXml.VariantTypes; +using DocumentFormat.OpenXml; +using DocumentFormat.OpenXml.Spreadsheet; +using A = DocumentFormat.OpenXml.Drawing; +using System.Security.Cryptography; + +namespace IronIntel.Contractor +{ + internal class ExcelXlsx + { + public ExcelXlsx() { } + + private Dictionary _fontIndexCache = new Dictionary(); + private Dictionary _fillIndexCache = new Dictionary(); + private Dictionary _borderIndexCache = new Dictionary(); + private Dictionary _formatIndexCache = new Dictionary(); + + // Creates a SpreadsheetDocument. + public void CreatePackage(MemoryStream ms, COpenXmlExcelSheet edata) + { + using (SpreadsheetDocument package = SpreadsheetDocument.Create(ms, SpreadsheetDocumentType.Workbook)) + { + CExcelSheet excelSheetData = ConvertData(edata); + CreateParts(package, excelSheetData); + } + } + + private CExcelSheet ConvertData(COpenXmlExcelSheet openXmlData) + { + CExcelSheet excelSheetData = new CExcelSheet(); + + //保存每列宽度。 + foreach (double width in openXmlData.WidthList) + { + excelSheetData.WidthList.Add(width); + } + + //保存每行高度。 + foreach (KeyValuePair kvp in openXmlData.RowHeightList) + { + excelSheetData.RowHeightList.Add(kvp.Key, kvp.Value); + } + + CExcelCellData excellData = null; + + //生成特定样式数据,并生成shared strings列表,合并单元格列表。 + int orderIndex = 0; + foreach (List rowData in openXmlData.DataMatrix) + { + List excelRowData = new List(); + foreach (IOpenXmlExcelStyleAndData cellData in rowData) + { + excellData = new CExcelCellData(); + excelRowData.Add(excellData); + + excellData.ApplyNumberFormat = DocumentFormat.OpenXml.BooleanValue.FromBoolean(true); + excellData.CAlignment = cellData.CAlignment; + excellData.CBorder = cellData.CBorder; + excellData.CFill = cellData.CFill; + excellData.CFont = cellData.CFont; + + if (cellData.FormatType == CellFormatType.CSharp) + { + bool b = false; + if (cellData.FormatCode != null && cellData.FormatCode.Contains("{0:MMM-yyyy}")) + { + b = true; + } + excellData.FormatCode = ConvertFormat.ConvertFormatFromCSharpToExcel(cellData.FormatCode, cellData.DataType); + if (cellData.DataType == CellDataType.String || cellData.DataType == CellDataType.Integer) + { + if (b) + { + if (cellData.Value != null && cellData.Value.ToString().Length != 6) + { + excellData.FormatCode = ""; + } + } + } + } + if (string.IsNullOrEmpty(excellData.FormatCode)) + { + excellData.Value = orderIndex; + orderIndex++; + excelSheetData.SharedStrings.Add(cellData.Value == null ? "" : cellData.Value.ToString()); + excellData.DataType = CellValues.SharedString; + excellData.FormatCode = ""; + excellData.NumberFormatId = 49U; + } + else + { + switch (cellData.DataType) + { + case CellDataType.Bool: + try + { + + int v = 0;// Convert.ToInt16(cellData.Value); + if (cellData.Value == null || cellData.Value.ToString() == "0" || + string.Equals(cellData.Value.ToString(), "false", StringComparison.OrdinalIgnoreCase)) + { + v = 0; + } + else + { + v = 1; + } + + excellData.Value = v; + excellData.DataType = CellValues.Number; + } + catch { } + break; + case CellDataType.Date: + try + { + excellData.Value = Convert.ToDateTime(cellData.Value).ToOADate(); + excellData.DataType = CellValues.Number; + } + catch { } + break; + case CellDataType.Float: + case CellDataType.Integer: + excellData.Value = cellData.Value; + excellData.DataType = CellValues.Number; + break; + default: + //excellData.Value = orderIndex; + //orderIndex++; + //excelSheetData.SharedStrings.Add(cellData.Value == null ? "" : cellData.Value.ToString()); + //excellData.DataType = CellValues.SharedString; + excellData.Value = (cellData.Value == null ? "" : cellData.Value.ToString()); + excellData.DataType = CellValues.String; + excellData.FormatCode = ""; + excellData.NumberFormatId = 49U; + break; + } + } + + #region 合并单元格还没处理好。 + if (!string.IsNullOrEmpty(cellData.MergedCellsPosition)) + { + excelSheetData.MergeCellReferenceList.Add(cellData.MergedCellsPosition); + } + #endregion + } + excelSheetData.DataMatrix.Add(excelRowData); + } + + return excelSheetData; + } + + // Adds child parts and generates content of the specified part. + private void CreateParts(SpreadsheetDocument document, CExcelSheet excelSheetData) + { + WorkbookPart workbookPart = document.AddWorkbookPart(); + GenerateWorkbookPart1Content(workbookPart); + + WorkbookStylesPart workbookStylesPart = workbookPart.AddNewPart("rId3"); + GenerateWorkbookStylesPart1Content(workbookStylesPart); + + WorksheetPart worksheetPart = workbookPart.AddNewPart("rId1"); + GenerateWorksheetPart1Content(worksheetPart); + + #region columns + Columns columns = GenerateColumns(excelSheetData.WidthList); + worksheetPart.Worksheet.Append(columns); + #endregion + + #region sheet data + SheetData sheetData = GenerateSheetData(workbookStylesPart.Stylesheet, excelSheetData); + worksheetPart.Worksheet.Append(sheetData); + #endregion + + #region sheet merge cells + if (excelSheetData.MergeCellReferenceList.Count > 0) + { + MergeCells mergeCells = GenerateMergeCell(excelSheetData.MergeCellReferenceList); + worksheetPart.Worksheet.Append(mergeCells); + } + #endregion + + #region sheet shared strings + if (excelSheetData.SharedStrings.Count > 0) + { + SharedStringTablePart sharedStringTablePart = workbookPart.AddNewPart("rId4"); + GenerateSharedStringTablePart1Content(sharedStringTablePart, excelSheetData.SharedStrings); + } + #endregion + } + + // Generates content of workbookPart1. + private void GenerateWorkbookPart1Content(WorkbookPart workbookPart1) + { + Workbook workbook1 = new Workbook(); + workbook1.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships"); + FileVersion fileVersion1 = new FileVersion() { ApplicationName = "xl", LastEdited = "4", LowestEdited = "4", BuildVersion = "4505" }; + WorkbookProperties workbookProperties1 = new WorkbookProperties() { DefaultThemeVersion = (UInt32Value)124226U }; + + BookViews bookViews1 = new BookViews(); + WorkbookView workbookView1 = new WorkbookView() { XWindow = 120, YWindow = 120, WindowWidth = (UInt32Value)21495U, WindowHeight = (UInt32Value)9570U }; + + bookViews1.Append(workbookView1); + + Sheets sheets1 = new Sheets(); + Sheet sheet1 = new Sheet() { Name = "Sheet1", SheetId = (UInt32Value)1U, Id = "rId1" }; + + sheets1.Append(sheet1); + CalculationProperties calculationProperties1 = new CalculationProperties() { CalculationId = (UInt32Value)125725U }; + FileRecoveryProperties fileRecoveryProperties1 = new FileRecoveryProperties() { RepairLoad = true }; + + workbook1.Append(fileVersion1); + workbook1.Append(workbookProperties1); + workbook1.Append(bookViews1); + workbook1.Append(sheets1); + workbook1.Append(calculationProperties1); + workbook1.Append(fileRecoveryProperties1); + + workbookPart1.Workbook = workbook1; + } + + // Generates content of worksheetPart1. + private void GenerateWorksheetPart1Content(WorksheetPart worksheetPart1) + { + Worksheet worksheet1 = new Worksheet(); + worksheet1.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships"); + + #region sheet dimension + //SheetDimension sheetDimension1 = new SheetDimension();// { Reference = "A1:H3" }; + //worksheet1.Append(sheetDimension1); + #endregion + + #region sheet views + SheetViews sheetViews1 = new SheetViews(); + + SheetView sheetView1 = new SheetView() { TabSelected = true, WorkbookViewId = (UInt32Value)0U }; + Selection selection1 = new Selection() { ActiveCell = "A1", SequenceOfReferences = new ListValue() { InnerText = "A1" } }; + + sheetView1.Append(selection1); + sheetViews1.Append(sheetView1); + worksheet1.Append(sheetViews1); + #endregion + + #region sheet format properties + SheetFormatProperties sheetFormatProperties1 = new SheetFormatProperties() { DefaultRowHeight = 18D, CustomHeight = true }; + worksheet1.Append(sheetFormatProperties1); + #endregion + + #region columns 外部加入。 + //Columns columns = GenerateColumns(widthList); + //worksheet1.Append(columns); + #endregion + + #region sheet data 外部加入。 + //SheetData sheetData = GenerateSheetData(); + //worksheet1.Append(sheetData); + #endregion + + #region merge cells + #endregion + + //PhoneticProperties phoneticProperties1 = new PhoneticProperties() { FontId = (UInt32Value)1U, Type = PhoneticValues.NoConversion }; + //PageMargins pageMargins1 = new PageMargins() { Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D }; + //PageSetup pageSetup1 = new PageSetup() { PaperSize = (UInt32Value)9U, Orientation = OrientationValues.Portrait, HorizontalDpi = (UInt32Value)200U, VerticalDpi = (UInt32Value)200U }; + + //worksheet1.Append(phoneticProperties1); + //worksheet1.Append(pageMargins1); + //worksheet1.Append(pageSetup1); + + worksheetPart1.Worksheet = worksheet1; + } + + private Columns GenerateColumns(List columnProperties) + { + Columns columns = new Columns(); + Column column = null; + UInt32Value col = 0; + double gain = 127.0 / 750.0; + foreach (DoubleValue dv in columnProperties) + { + col++; + column = new Column() { Min = col, Max = col, Width = dv * gain, CustomWidth = true, BestFit = true }; + columns.Append(column); + } + + return columns; + } + + private Row GenerateRow(int rowIndex, List cellsInRow, int styleIndex) + { + if (rowIndex < 0) return null; + + Row row = new Row() { RowIndex = (UInt32)rowIndex }; + + if (styleIndex >= 0) + { + row.StyleIndex = (UInt32)styleIndex; + } + + if (cellsInRow.Count > 0) + { + row.Spans = new ListValue() { InnerText = "1:" + cellsInRow.Count }; + } + + foreach (Cell cell in cellsInRow) + { + row.Append(cell); + } + + return row; + } + + private Cell GenerateCell(Stylesheet styleSheet, CExcelCellData cellData) + { + Cell cell = new Cell(); + CellValue cellValue = new CellValue(); + if (styleSheet == null) + { + cell.DataType = CellValues.String; + cellValue.Text = cellData.Value == null ? "" : cellData.Value.ToString(); + cell.Append(cellValue); + return cell; + } + + UInt32Value fontId = CreateFonts(styleSheet, cellData.CFont); + UInt32Value fillId = CreateFills(styleSheet, cellData.CFill); + UInt32Value borderId = CreateBorders(styleSheet, cellData.CBorder); + + cell.StyleIndex = CreateCellFormat(styleSheet, fontId, fillId, borderId, cellData); + + if (cellData.DataType != null && cellData.DataType.HasValue) + { + cell.DataType = cellData.DataType; + } + + cellValue.Text = cellData.Value == null ? "" : cellData.Value.ToString(); + cell.Append(cellValue); + + return cell; + } + + private string GetFontsHashString(CellFont cellFont) + { + StringBuilder sb = new StringBuilder(); + if (cellFont != null) + { + sb.AppendLine(string.IsNullOrEmpty(cellFont.FontName) ? "" : cellFont.FontName); + if (cellFont.FontSize != null && cellFont.FontSize.HasValue) + { + sb.AppendLine(cellFont.FontSize.Value.ToString()); + } + if (cellFont.ForeColor != null) + { + sb.AppendLine(cellFont.ForeColor.ToArgb().ToString()); + } + if (cellFont.IsBold != null && cellFont.IsBold.HasValue) + { + sb.AppendLine(cellFont.IsBold.Value.ToString()); + } + } + + string result = GetHashString(sb.ToString()); + return result; + } + + private string GetFillHashString(CellFill fill) + { + StringBuilder sb = new StringBuilder(); + if (fill != null) + { + if (fill.FillColor != null) + { + sb.AppendLine(fill.FillColor.ToArgb().ToString()); + } + } + + string result = GetHashString(sb.ToString()); + return result; + } + + private string GetBorderHashString(CellBorder border) + { + StringBuilder sb = new StringBuilder(); + if (border != null) + { + if (border.LeftBorder != null) + sb.AppendLine("left"); + if (border.RightBorder != null) + sb.AppendLine("right"); + if (border.TopBorder != null) + sb.AppendLine("top"); + if (border.BottomBorder != null) + sb.AppendLine("bottom"); + if (border.DialogalBorder != null) + sb.AppendLine("dialogal"); + } + + string result = GetHashString(sb.ToString()); + return result; + } + + private string GetFormatHashString(CellFormat cellFormat, string formateCode) + { + StringBuilder sb = new StringBuilder(); + if (cellFormat != null) + { + if (cellFormat.FontId != null && cellFormat.FontId.HasValue) + sb.AppendLine(cellFormat.FontId.Value.ToString()); + if (cellFormat.ApplyFont != null && cellFormat.ApplyFont.HasValue) + sb.AppendLine(cellFormat.ApplyFont.Value.ToString()); + + if (cellFormat.FillId != null && cellFormat.FillId.HasValue) + sb.AppendLine(cellFormat.FillId.Value.ToString()); + if (cellFormat.ApplyFill != null && cellFormat.ApplyFill.HasValue) + sb.AppendLine(cellFormat.ApplyFill.Value.ToString()); + + if (cellFormat.BorderId != null && cellFormat.BorderId.HasValue) + sb.AppendLine(cellFormat.BorderId.Value.ToString()); + if (cellFormat.ApplyBorder != null && cellFormat.ApplyBorder.HasValue) + sb.AppendLine(cellFormat.ApplyBorder.Value.ToString()); + + if (cellFormat.ApplyNumberFormat != null && cellFormat.ApplyNumberFormat.HasValue) + sb.AppendLine(cellFormat.ApplyNumberFormat.Value.ToString()); + if (cellFormat.NumberFormatId != null && cellFormat.NumberFormatId.HasValue) + sb.AppendLine(cellFormat.NumberFormatId.Value.ToString()); + + if (cellFormat.Alignment != null) + { + if (cellFormat.Alignment.Horizontal != null && cellFormat.Alignment.Horizontal.HasValue) + sb.AppendLine(cellFormat.Alignment.Horizontal.Value.ToString()); + if (cellFormat.Alignment.Vertical != null && cellFormat.Alignment.Vertical.HasValue) + sb.AppendLine(cellFormat.Alignment.Vertical.Value.ToString()); + if (cellFormat.ApplyAlignment != null && cellFormat.ApplyAlignment.HasValue) + sb.AppendLine(cellFormat.ApplyAlignment.Value.ToString()); + } + } + + sb.AppendLine(formateCode); + + string result = GetHashString(sb.ToString()); + return result; + } + + private string GetHashString(string str) + { + return str; + byte[] b1 = Encoding.UTF8.GetBytes(str); + //Cryptography.HashCode hc = new LHBIS.Security.Cryptography.HashCode(LHBIS.Security.Cryptography.HashType.htSHA256); + //byte[] b2 = hc.ComputeHash(b1); + //string result = LHBIS.Security.Cryptography.CommonConvert.ToHex(b2); + //return result; + + HashAlgorithm ha = new SHA256Managed(); + byte[] b2 = ha.ComputeHash(b1); + string result = ToHex(b2); + return result; + } + + private static string ToHex(byte[] buffer) + { + if (buffer == null) + return ""; + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < buffer.Length; i++) + { + sb.Append(string.Format("{0:X2}", buffer[i])); + } + return sb.ToString(); + } + + private SheetData GenerateSheetData(Stylesheet styleSheet, CExcelSheet data) + { + SheetData sheetData = new SheetData(); + Row row = null; + Cell cell = null; + List cellList = null; + int rowIndex = 0; + + foreach (List rowData in data.DataMatrix) + { + rowIndex += 1; + cellList = new List(); + foreach (CExcelCellData cellData in rowData) + { + //no style while stylesheet is null + cell = GenerateCell(styleSheet, cellData); + cellList.Add(cell); + } + //初始化行的样式为-1,表示使用缺省样式。 + row = GenerateRow(rowIndex, cellList, -1); + if (data.RowHeightList.ContainsKey(rowIndex)) + { + row.CustomHeight = new BooleanValue(true); + row.Height = new DoubleValue(data.RowHeightList[rowIndex]); + } + + sheetData.Append(row); + } + return sheetData; + } + + private UInt32Value CreateFonts(Stylesheet styleSheet, CellFont cellFont) + { + if (styleSheet == null || cellFont == null) return 0U; + + string key = GetFontsHashString(cellFont); + UInt32Value ui32 = 0; + if (_fontIndexCache.TryGetValue(key, out ui32)) + { + return ui32; + } + + Font font = new Font(); + if (!string.IsNullOrEmpty(cellFont.FontName)) + { + FontName name = new FontName() { Val = cellFont.FontName }; + font.Append(name); + } + if (cellFont.FontSize != null && cellFont.FontSize.HasValue) + { + FontSize size = new FontSize() { Val = cellFont.FontSize.Value }; + font.Append(size); + } + if (cellFont.IsBold != null && cellFont.IsBold.Value) + { + Bold bold = new Bold(); + font.Append(bold); + } + if (cellFont.ForeColor != null) + { + Color color = new Color(); + color.Rgb = new HexBinaryValue(); + color.Rgb.Value = System.Drawing.ColorTranslator.ToHtml( + System.Drawing.Color.FromArgb(cellFont.ForeColor.A, cellFont.ForeColor.R, cellFont.ForeColor.G, cellFont.ForeColor.B)).Replace("#", ""); + font.Append(color); + } + + FontFamilyNumbering fontFamilyNumbering = new FontFamilyNumbering() { Val = 2 }; + font.Append(fontFamilyNumbering); + FontCharSet fontCharSet = new FontCharSet() { Val = 134 }; + font.Append(fontCharSet); + FontScheme fontScheme = new FontScheme() { Val = FontSchemeValues.Minor }; + font.Append(fontScheme); + + if (styleSheet.Fonts == null) + { + styleSheet.Fonts = new Fonts(); + } + styleSheet.Fonts.Append(font); + UInt32Value fontID = styleSheet.Fonts.Count; + _fontIndexCache.Add(key, fontID); + + styleSheet.Fonts.Count++; + return fontID; + } + + private UInt32Value CreateFills(Stylesheet styleSheet, CellFill cellFill) + { + if (styleSheet == null || cellFill == null) return 0U; + + string key = GetFillHashString(cellFill); + UInt32Value ui32 = 0; + if (_fillIndexCache.TryGetValue(key, out ui32)) + { + return ui32; + } + + PatternFill patternFill = new PatternFill(); + if (cellFill != null) + { + patternFill.Append(new ForegroundColor() + { + Rgb = new HexBinaryValue() + { + Value = System.Drawing.ColorTranslator.ToHtml( + System.Drawing.Color.FromArgb(cellFill.FillColor.A, cellFill.FillColor.R, cellFill.FillColor.G, cellFill.FillColor.B)).Replace("#", "") + } + }); + patternFill.PatternType = PatternValues.Solid; + } + else + { + patternFill.PatternType = PatternValues.None; + } + if (styleSheet.Fills == null) + { + styleSheet.Fills = new Fills(); + } + + styleSheet.Fills.Append(new Fill(patternFill)); + UInt32Value fillId = styleSheet.Fills.Count; + _fillIndexCache.Add(key, fillId); + styleSheet.Fills.Count++; + return fillId; + } + + private UInt32Value CreateBorders(Stylesheet styleSheet, CellBorder cellBorder) + { + if (styleSheet == null || cellBorder == null) return 0U; + + string key = GetBorderHashString(cellBorder); + UInt32Value ui32 = 0; + if (_borderIndexCache.TryGetValue(key, out ui32)) + { + return ui32; + } + + Border border = new Border(); + if (cellBorder == null) return 0; + if (cellBorder.LeftBorder != null) + border.Append(cellBorder.LeftBorder); + if (cellBorder.RightBorder != null) + border.Append(cellBorder.RightBorder); + if (cellBorder.TopBorder != null) + border.Append(cellBorder.TopBorder); + if (cellBorder.BottomBorder != null) + border.Append(cellBorder.BottomBorder); + if (cellBorder.DialogalBorder != null) + border.Append(cellBorder.DialogalBorder); + + if (styleSheet.Borders == null) + { + styleSheet.Borders = new Borders(); + } + styleSheet.Borders.Append(border); + UInt32Value borderId = styleSheet.Borders.Count; + _borderIndexCache.Add(key, borderId); + styleSheet.Borders.Count++; + return borderId; + } + + private UInt32Value CreateCellFormat(Stylesheet styleSheet, UInt32Value fontIndex, UInt32Value fillIndex, + UInt32Value borderIndex, CExcelCellData cellData) + { + if (styleSheet == null) return 0U; + + CellFormat cellFormat = new CellFormat(); + if (fontIndex == null) fontIndex = 0; + cellFormat.FontId = fontIndex; + cellFormat.ApplyFont = BooleanValue.FromBoolean(true); + + if (fillIndex == null) fillIndex = 0; + cellFormat.FillId = fillIndex; + cellFormat.ApplyFill = BooleanValue.FromBoolean(true); + + if (borderIndex == null) borderIndex = 0; + cellFormat.BorderId = borderIndex; + cellFormat.ApplyBorder = BooleanValue.FromBoolean(true); + + cellFormat.ApplyNumberFormat = cellData.ApplyNumberFormat; + cellFormat.NumberFormatId = cellData.NumberFormatId; + + if (cellData.CAlignment != null) + { + cellFormat.Append(cellData.CAlignment.Align); + cellFormat.ApplyAlignment = BooleanValue.FromBoolean(true); + } + + string key = GetFormatHashString(cellFormat, cellData.FormatCode); + UInt32Value ui32 = 0; + if (_formatIndexCache.TryGetValue(key, out ui32)) + { + return ui32; + } + + if (!string.IsNullOrEmpty(cellData.FormatCode) && cellData.FormatCode.HasValue) + { + cellFormat.NumberFormatId = CreateFormatId(cellData.FormatCode, styleSheet.NumberingFormats); + } + + styleSheet.CellFormats.Append(cellFormat); + UInt32Value cellFormatId = styleSheet.CellFormats.Count; + _formatIndexCache.Add(key, cellFormatId); + styleSheet.CellFormats.Count++; + return cellFormatId; + } + + private UInt32Value CreateFormatId(string formatCode, NumberingFormats numberingFormats) + { + NumberingFormat nf = numberingFormats.AppendChild(new NumberingFormat()); + numberingFormats.Count++; + nf.FormatCode = formatCode; + nf.NumberFormatId = GetMaxFormatId(numberingFormats); + if (nf.NumberFormatId == 0) + { + nf.NumberFormatId = 176U; + } + else + { + nf.NumberFormatId += 1; + } + return nf.NumberFormatId; + } + + private UInt32Value GetMaxFormatId(NumberingFormats numberingFormats) + { + UInt32Value maxFormatId = 0U; + foreach (NumberingFormat nf in numberingFormats.ChildElements) + { + if (nf.NumberFormatId != null && nf.NumberFormatId.HasValue && nf.NumberFormatId > maxFormatId) + maxFormatId = nf.NumberFormatId; + } + return maxFormatId; + } + + // Generates content of workbookStylesPart1. + private void GenerateWorkbookStylesPart1Content(WorkbookStylesPart workbookStylesPart1) + { + Stylesheet stylesheet = new Stylesheet(); + + #region default fonts + Font font = new Font(); + FontSize fontSize = new FontSize() { Val = 11D }; + Color color = new Color() { Theme = (UInt32Value)1U }; + FontName fontName = new FontName() { Val = "宋体" }; + FontFamilyNumbering fontFamilyNumbering = new FontFamilyNumbering() { Val = 2 }; + FontCharSet fontCharSet = new FontCharSet() { Val = 134 }; + FontScheme fontScheme = new FontScheme() { Val = FontSchemeValues.Minor }; + + font.Append(fontSize); + font.Append(color); + font.Append(fontName); + font.Append(fontFamilyNumbering); + font.Append(fontCharSet); + font.Append(fontScheme); + + if (stylesheet.Fonts == null) stylesheet.Fonts = new Fonts() { Count = 2 }; + stylesheet.Fonts.Append(font); + + Font font2 = new Font(); + FontSize fontSize2 = new FontSize() { Val = 9D }; + FontName fontName2 = new FontName() { Val = "宋体" }; + FontFamilyNumbering fontFamilyNumbering2 = new FontFamilyNumbering() { Val = 2 }; + FontCharSet fontCharSet2 = new FontCharSet() { Val = 134 }; + FontScheme fontScheme2 = new FontScheme() { Val = FontSchemeValues.Minor }; + + font2.Append(fontSize2); + font2.Append(fontName2); + font2.Append(fontFamilyNumbering2); + font2.Append(fontCharSet2); + font2.Append(fontScheme2); + stylesheet.Fonts.Append(font2); + #endregion + + #region default fills + Fill fill = new Fill(); + PatternFill patternFill = new PatternFill() { PatternType = PatternValues.None }; + + fill.Append(patternFill); + + if (stylesheet.Fills == null) stylesheet.Fills = new Fills() { Count = 2 }; + stylesheet.Fills.Append(fill); + + Fill fill2 = new Fill(); + PatternFill patternFill2 = new PatternFill() { PatternType = PatternValues.Gray125 }; + + fill2.Append(patternFill2); + stylesheet.Fills.Append(fill2); + #endregion + + #region default border + Border border = new Border(); + LeftBorder leftBorder = new LeftBorder(); + RightBorder rightBorder = new RightBorder(); + TopBorder topBorder = new TopBorder(); + BottomBorder bottomBorder = new BottomBorder(); + DiagonalBorder diagonalBorder = new DiagonalBorder(); + + border.Append(leftBorder); + border.Append(rightBorder); + border.Append(topBorder); + border.Append(bottomBorder); + border.Append(diagonalBorder); + + if (stylesheet.Borders == null) stylesheet.Borders = new Borders() { Count = 1 }; + stylesheet.Borders.Append(border); + #endregion + + #region cell style format + #endregion + + #region cell numberingformats + stylesheet.NumberingFormats = new NumberingFormats() { Count = (UInt32Value)0U }; + #endregion + + #region cell format 初始化一个cell format,因为cellXfs的索引须从1开始。 + stylesheet.CellFormats = new CellFormats() { Count = 1U }; + CellFormat cf0 = stylesheet.CellFormats.AppendChild(new CellFormat()); + cf0.NumberFormatId = 0; + cf0.FontId = 0; + cf0.BorderId = 0; + cf0.FillId = 0; + #endregion + + #region cell style + #endregion + workbookStylesPart1.Stylesheet = stylesheet; + } + + // Generates content of sharedStringTablePart1. + private void GenerateSharedStringTablePart1Content(SharedStringTablePart sharedStringTablePart1, List cellValues) + { + SharedStringTable sharedStringTable = new SharedStringTable() { Count = UInt32Value.FromUInt32((uint)cellValues.Count), UniqueCount = UInt32Value.FromUInt32((uint)cellValues.Count) }; + + SharedStringItem sharedStringItem = null;// new SharedStringItem(); + Text text = null;// new Text(); + foreach (string str in cellValues) + { + sharedStringItem = new SharedStringItem(); + text = new Text(); + + text.Text = str; + sharedStringItem.Append(text); + sharedStringTable.Append(sharedStringItem); + } + + sharedStringTablePart1.SharedStringTable = sharedStringTable; + } + + private MergeCells GenerateMergeCell(List mergeCellReferenceList) + { + MergeCells mcells = new MergeCells() { Count = UInt32Value.FromUInt32((uint)mergeCellReferenceList.Count) }; + if (mcells == null || mergeCellReferenceList == null || mergeCellReferenceList.Count <= 0) return mcells; + var mergeCells = mergeCellReferenceList.Select((s) => + { + return new MergeCell() { Reference = s }; + }); + + foreach (var o in mergeCells) + { + mcells.Append(o); + } + return mcells; + } + } +} diff --git a/IronIntelContractorBusiness/ExportExcel/ExportToExcel.cs b/IronIntelContractorBusiness/ExportExcel/ExportToExcel.cs new file mode 100644 index 0000000..1a24c8b --- /dev/null +++ b/IronIntelContractorBusiness/ExportExcel/ExportToExcel.cs @@ -0,0 +1,483 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; +using System.IO; +using System.Xml.Linq; +using DocumentFormat.OpenXml.Spreadsheet; +using DocumentFormat.OpenXml; +using System.Text.RegularExpressions; +using System.Data; + +namespace IronIntel.Contractor +{ + internal class ChartFormatedData : IOpenXmlExcelStyleAndData + { + public ChartFormatedData() + { + FormatType = CellFormatType.CSharp; + } + + #region IOpenXmlExcelStyleAndData Members + + public CellAlignment CAlignment { get; set; } + + public CellBorder CBorder { get; set; } + + public CellFill CFill { get; set; } + + public CellFont CFont { get; set; } + + public CellDataType DataType { get; set; } + + public string FormatCode { get; set; } + + public CellFormatType FormatType { get; set; } + + public object Value { get; set; } + + public String MergedCellsPosition { get; set; } + + #endregion + } + + public class ExportToExcel + { + /// + /// 将DataTable的数据导出到Excel + /// + /// + public byte[] CreateExcel(DataTable data, string caption, double[] columnWidths, string[] MergeTitles) + { + COpenXmlExcelSheet osheet = ConvertToOpenXmlObject(data, caption, columnWidths, MergeTitles); + + MemoryStream ms = null; + try + { + ms = new MemoryStream(); + ExcelXlsx xls = new ExcelXlsx(); + xls.CreatePackage(ms, osheet); + ms.Position = 0; + + byte[] bts = new byte[ms.Length]; + int offset = 0; + while (offset < bts.Length) + { + offset += ms.Read(bts, offset, bts.Length - offset); + } + + return bts; + } + catch { } + finally + { + if (ms != null) + ms.Close(); + } + + return null; + } + + private object ConvertIvalidChars(object s) + { + if (s == null) return null; + if (s.GetType() != typeof(string)) return s; + const string invalidCharsMatch = + "(?ims)[\x0\x1\x2\x3\x4\x5\x6\x7\x8\x9\xa\xb\xc\xd\xe\xf" + + "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f\x7f]"; + + //取代其中無效字元, 通通換成空字串 + s = Regex.Replace( + s.ToString(), + invalidCharsMatch, ""); + + return s; + } + + private COpenXmlExcelSheet ConvertToOpenXmlObject(DataTable data, string caption, double[] columnWidths, string[] MergeTitles) + { + try + { + COpenXmlExcelSheet osheet = new COpenXmlExcelSheet(); + + // 设置数据和格式。 + + //所有数据和格式存放在此结构中。 + List> dataMatrix = new List>(); + osheet.DataMatrix = dataMatrix; + + //行数据临时对象。 + List rowData = null; + //单元格数据临时对象。 + ChartFormatedData cellData = null; + + DataRow rdr = null; + DataColumn rdc = null; + + #region 设置宽度。 + + foreach (var w in columnWidths) + { + osheet.WidthList.Add(w); + } + //for (int k = 0; k < dataFromClient.Columns.Count; k++) + //{ + // try + // { + // rdc = dataFromClient.Columns[k]; + // if (rdc.Attributes == null || !rdc.Attributes.ContainsKey("Width")) + // { + // osheet.WidthList.Add(100); + // } + // else + // { + // osheet.WidthList.Add(Convert.ToDouble(rdc.Attributes["Width"])); + // } + // } + // catch + // { + // } + //} + + #endregion + + int rowIndex = 0; + + #region caption + + if (!string.IsNullOrEmpty(caption)) + { + rowData = new List(); + cellData = new ChartFormatedData(); + cellData.CAlignment = new CellAlignment(); + cellData.CAlignment.Align = GetAlignment("center"); + cellData.DataType = CellDataType.String; + cellData.FormatCode = ""; + + cellData.CFont = new CellFont(); + cellData.CFont.FontSize = 14; + + cellData.Value = caption; + cellData.MergedCellsPosition = "A1:" + ConvertColNumber(data.Columns.Count) + "1"; + + rowData.Add(cellData); + rowIndex += 1; + dataMatrix.Add(rowData); + + //设置第一行的高度。 + osheet.RowHeightList.Add(rowIndex, 23); + + //添加一个空行。 + rowData = new List(); + cellData = new ChartFormatedData(); + cellData.MergedCellsPosition = "A2:" + ConvertColNumber(data.Columns.Count) + "2"; + rowData.Add(cellData); + rowIndex += 1; + dataMatrix.Add(rowData); + } + + #endregion + + #region MergeTitles + + if (MergeTitles != null && MergeTitles.Length % 2 == 0) + { + rowData = new List(); + + for (int q = 0; q < data.Columns.Count; q++) + { + cellData = new ChartFormatedData(); + cellData.CAlignment = new CellAlignment(); + cellData.CAlignment.Align = GetAlignment("center"); + cellData.DataType = CellDataType.String; + cellData.FormatCode = ""; + + cellData.CFont = new CellFont(); + cellData.CFont.FontSize = 14; + + rowData.Add(cellData); + } + + for (int i = 0; i < MergeTitles.Length; i += 2) + { + string[] tmp = MergeTitles[i + 1].Split('-'); + if (tmp.Length == 1) continue; + + cellData = (ChartFormatedData)rowData[(Convert.ToInt32(tmp[0]) - 1)]; + cellData.Value = MergeTitles[i]; + cellData.MergedCellsPosition = ConvertColNumber(Convert.ToInt32(tmp[0])) + "3:" + ConvertColNumber(Convert.ToInt32(tmp[1])) + "3"; + } + + rowIndex += 1; + dataMatrix.Add(rowData); + //设置第一行的高度。 + osheet.RowHeightList.Add(rowIndex, 15); + } + + #endregion + + #region header。 + + rowData = new List(); + + for (int q = 0; q < data.Columns.Count; q++) + { + rdc = data.Columns[q]; + cellData = new ChartFormatedData(); + + string alignment = ""; + if (rdc != null) + { + //if (rdc.Attributes != null && rdc.Attributes.ContainsKey("Alignment")) + //{ + // alignment = rdc.Attributes["Alignment"]; + //} + + cellData.CAlignment = new CellAlignment(); + cellData.CAlignment.Align = GetAlignment(alignment); + + cellData.CFont = new CellFont(); + cellData.CFont.IsBold = true; + + cellData.CFill = new CellFill(); + cellData.CFill.FillColor = System.Drawing.Color.Gray; + + cellData.DataType = CellDataType.String; + cellData.FormatCode = ""; + } + + cellData.Value = rdc.ColumnName; + + rowData.Add(cellData); + } + rowIndex += 1; + osheet.RowHeightList.Add(rowIndex, 18); + dataMatrix.Add(rowData); + + #endregion + + #region real data 。 + + for (int k = 0; k <= data.Rows.Count - 1; k++) + { + rdr = data.Rows[k]; + rowData = new List(); + + for (int q = 0; q < data.Columns.Count; q++) + { + rdc = data.Columns[q]; + + string format = ""; + //if (rdc != null) + //{ + //if (rdc.Attributes != null && rdc.Attributes.ContainsKey("DataFormat")) + //{ + // format = (rdc.Attributes["DataFormat"] == null + // ? "" + // : rdc.Attributes["DataFormat"].ToString()); + //} + //} + + cellData = new ChartFormatedData(); + + //将特殊格式值处理成字符串显示。 + if (rdr != null) + { + bool isProcessed = false; + cellData.Value = + ConvertIvalidChars( + ProcessSpecialFormat(rdr[q], format, ref isProcessed)); + if (isProcessed) format = ""; + } + cellData.FormatCode = ProcessFormat(format); + cellData.DataType = + GetDataType((cellData.Value == null ? typeof(string) : cellData.Value.GetType())); + + string alignment = ""; + if (rdc != null) + { + //if (rdc.Attributes != null && rdc.Attributes.ContainsKey("Alignment")) + //{ + // alignment = rdc.Attributes["Alignment"]; + //} + cellData.CAlignment = new CellAlignment(); + cellData.CAlignment.Align = GetAlignment(alignment); + } + + //如果是合计行则以浅灰色显示。 + //if (hasTotalRow && k == dataFromClient.Rows.Count - 1) + //{ + // cellData.CFill = new CellFill(); + // cellData.CFill.FillColor = System.Drawing.Color.LightGray; + //} + + //如果是合计列则以浅灰色显示。 + //if (hasTotalColumn && q == dataFromClient.Columns.Count - 1) + //{ + // cellData.CFill = new CellFill(); + // cellData.CFill.FillColor = System.Drawing.Color.LightGray; + //} + + rowData.Add(cellData); + } + + //rowIndex += 1; + //if (hasTotalRow && k == dataFromClient.Rows.Count - 1) + //{ + // osheet.RowHeightList.Add(rowIndex, totalRowHeight); + //} + //else + //{ + // osheet.RowHeightList.Add(rowIndex, 18); + //} + + dataMatrix.Add(rowData); + } + + #endregion + + return osheet; + } + catch (Exception ex) + { + throw ex; + } + } + + private string ConvertColNumber(int colnum) + { + string zzz = "Z+"; + Regex reg = new Regex(zzz); + string result = ""; + MatchCollection mc = null; + for (int k = 0; k < colnum; k++) + { + mc = reg.Matches(result); + if (mc.Count > 0) + { + //是zzz格式。 + string first = result.Substring(0, mc[0].Index); + if (string.IsNullOrEmpty(first)) + { + result = result.Replace("Z", "A") + "A"; + } + else + { + char c = first[first.Length - 1]; + c = Convert.ToChar(c + 1); + result = c.ToString() + result.Substring(mc[0].Index).Replace("Z", "A"); + } + } + else + { + if (string.IsNullOrEmpty(result)) + { + result = "A"; + } + else + { + char c = result[result.Length - 1]; + c = Convert.ToChar(c + 1); + result = result.Substring(0, result.Length - 1) + c.ToString(); + } + } + } + return result; + } + + private Alignment GetAlignment(string align) + { + Alignment horizon = new Alignment() { Horizontal = HorizontalAlignmentValues.Left, WrapText = true }; + + if (string.Equals(align, "center", StringComparison.OrdinalIgnoreCase)) + { + horizon = new Alignment() { Horizontal = HorizontalAlignmentValues.Center, WrapText = true }; + } + else if (string.Equals(align, "right", StringComparison.OrdinalIgnoreCase)) + { + horizon = new Alignment() { Horizontal = HorizontalAlignmentValues.Right, WrapText = true }; + } + + return horizon; + } + + private CellDataType GetDataType(Type typ) + { + CellDataType result = CellDataType.String; + + switch (Type.GetTypeCode(typ)) + { + case TypeCode.Int16: + case TypeCode.Int32: + case TypeCode.Int64: + case TypeCode.UInt16: + case TypeCode.UInt32: + case TypeCode.UInt64: + result = CellDataType.Integer; + break; + case TypeCode.Decimal: + case TypeCode.Double: + case TypeCode.Single: + result = CellDataType.Float; + break; + case TypeCode.DateTime: + result = CellDataType.Date; + break; + case TypeCode.Boolean: + result = CellDataType.Bool; + break; + default: + break; + } + + return result; + } + + private object ProcessSpecialFormat(object val, string format, ref bool isProcessed) + { + object result = val; + isProcessed = false; + if (val == null || string.IsNullOrEmpty(format.Trim())) return result; + + CellDataType typ = GetDataType(result.GetType()); + + //第一个特殊格式:如果值是6位字符串,格式是"MMM-yyyy",则按日期处理。 + if (typ == CellDataType.String && string.Equals(format.Replace(" ", ""), "{0:MMM-yyyy}")) + { + string str = result.ToString(); + if (str.Length == 6) + { + try + { + result = new DateTime(Convert.ToInt32(str.Substring(0, 4)), Convert.ToInt32(str.Substring(4)), 1); + result = string.Format(format, result); + isProcessed = true; + } + catch { } + } + } + + return result; + } + /// + /// 处理Format格式,使一些特殊符号(如:*、@)可以直接在Excel中看到,而不是解释成Excel中对这些符号的定义 + /// + /// 格式字符串 + /// + private string ProcessFormat(string format) + { + string resultFormat = format; + if (string.IsNullOrEmpty(resultFormat)) return resultFormat; + if (format.IndexOf("*") >= 0) + { + resultFormat = resultFormat.Replace("*", "\"*\""); + } + if (format.IndexOf("@") >= 0) + { + resultFormat = resultFormat.Replace("@", "\"@\""); + } + return resultFormat; + } + } +} diff --git a/IronIntelContractorBusiness/ExportExcel/IOpenXmlExcelStyleAndData.cs b/IronIntelContractorBusiness/ExportExcel/IOpenXmlExcelStyleAndData.cs new file mode 100644 index 0000000..cc355ac --- /dev/null +++ b/IronIntelContractorBusiness/ExportExcel/IOpenXmlExcelStyleAndData.cs @@ -0,0 +1,130 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +using DocumentFormat.OpenXml.Packaging; +using DocumentFormat.OpenXml; +using DocumentFormat.OpenXml.Spreadsheet; + +namespace IronIntel.Contractor +{ + /// + /// 单元格数据类型 + /// + public enum CellDataType + { + String, Bool, Date, Guid, Float, Integer + } + + /// + /// 单元格格式类型 + /// + public enum CellFormatType + { + CSharp, Excel + } + + #region 单元格边界样式 Cell Border + public enum EBorder + { + None, Single, Double + } + public class CellBorder + { + public LeftBorder LeftBorder { get; set; } + public RightBorder RightBorder { get; set; } + public TopBorder TopBorder { get; set; } + public BottomBorder BottomBorder { get; set; } + public DiagonalBorder DialogalBorder { get; set; } + } + #endregion + + /// + /// 单元格对齐方式 + /// + #region cell alignment + public class CellAlignment + { + public Alignment Align { get; set; } + } + #endregion + + /// + /// 单元格填充颜色 + /// + #region cell fill + public class CellFill + { + public System.Drawing.Color FillColor { get; set; } + } + #endregion + + /// + /// 单元格字体 + /// + #region cell font + public class CellFont + { + public string FontName { get; set; } + public DoubleValue FontSize { get; set; } + public BooleanValue IsBold { get; set; } + public System.Drawing.Color ForeColor { get; set; } + } + #endregion + + /// + /// 单元格样式和数据。 + /// + public interface IOpenXmlExcelStyleAndData + { + //单元格数据值 + object Value { get; set; } + + //单元格数据类型 + CellDataType DataType { get; set; } + + //单元格数据颜色 + CellFont CFont { get; set; } + + //单元格数据格式 + CellFormatType FormatType { get; set; } + String FormatCode { get; set; } + + //单元格边界样式 + CellBorder CBorder { get; set; } + + //单元格对齐方式 + CellAlignment CAlignment { get; set; } + + //填充颜色 + CellFill CFill { get; set; } + + //合并单元格需要合并的 + String MergedCellsPosition { get; set; } + } + + /// + /// excel sheet 数据和样式集合。 + /// + public class COpenXmlExcelSheet + { + public List> DataMatrix + { + get; + set; + } + + private List _WidthList = new List(); + public List WidthList + { + get { return _WidthList; } + } + + Dictionary _RowHeightList = new Dictionary(); + public Dictionary RowHeightList + { + get { return _RowHeightList; } + } + } +} diff --git a/IronIntelContractorBusiness/ExportExcel/XlsxObj.cs b/IronIntelContractorBusiness/ExportExcel/XlsxObj.cs new file mode 100644 index 0000000..3de98c0 --- /dev/null +++ b/IronIntelContractorBusiness/ExportExcel/XlsxObj.cs @@ -0,0 +1,73 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +using DocumentFormat.OpenXml.Packaging; +using Ap = DocumentFormat.OpenXml.ExtendedProperties; +using Vt = DocumentFormat.OpenXml.VariantTypes; +using DocumentFormat.OpenXml; +using DocumentFormat.OpenXml.Spreadsheet; +using A = DocumentFormat.OpenXml.Drawing; + +namespace IronIntel.Contractor +{ + internal class CExcelCellData + { + //单元格数据值 + public object Value { get; set; } + + //单元格数据类型 + public EnumValue DataType { get; set; } + + //单元格数据颜色 + public CellFont CFont { get; set; } + + //单元格数据格式 + public UInt32Value NumberFormatId { get; set; } + public BooleanValue ApplyNumberFormat { get; set; } + public StringValue FormatCode { get; set; } + + //单元格边界样式 + public CellBorder CBorder { get; set; } + + //单元格对齐方式 + public CellAlignment CAlignment { get; set; } + + //填充颜色 + public CellFill CFill { get; set; } + } + + internal class CExcelSheet + { + private List> _DataMatrix = new List>(); + public List> DataMatrix + { + get { return _DataMatrix; } + } + + private List _SharedStrings = new List(); + public List SharedStrings + { + get { return _SharedStrings; } + } + + List _MergeCellReferenceList = new List(); + public List MergeCellReferenceList + { + get { return _MergeCellReferenceList; } + } + + List _WidthList = new List(); + public List WidthList + { + get { return _WidthList; } + } + + Dictionary _RowHeightList = new Dictionary(); + public Dictionary RowHeightList + { + get { return _RowHeightList; } + } + } +} diff --git a/IronIntelContractorBusiness/ExportExcelManager.cs b/IronIntelContractorBusiness/ExportExcelManager.cs new file mode 100644 index 0000000..e0ba987 --- /dev/null +++ b/IronIntelContractorBusiness/ExportExcelManager.cs @@ -0,0 +1,292 @@ +using Foresight.Fleet.Services.Asset; +using Foresight.Fleet.Services.User; +using IronIntel.Contractor.Machines; +using IronIntel.Services.Customers; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor +{ + public class ExportExcelManager + { + public static byte[] ExportRentals(string sessionid, string companyid, long machineid, DateTime from, DateTime to, string searchtext, string useriid, string sortPath, bool desc) + { + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + + AssetRentalInfo[] rentalinfos = FleetServiceClientHelper.CreateClient(companyid, sessionid).GetAssetRentals(companyid, searchtext, useriid); + + List ls = new List(); + foreach (AssetRentalInfo ri in rentalinfos) + { + MachineRentalInfo mi = new MachineRentalInfo(); + Helper.CloneProperty(mi, ri); + mi.RentalRate = (decimal)ri.RentalRate; + ls.Add(mi); + } + + var rentals = ls.ToArray(); + if (machineid > 0) + rentals = rentals.Where(m => m.MachineID == machineid).ToArray(); + + rentals = rentals.Where(m => m.RentalDate >= from && m.RentalDate <= to).ToArray(); + + if (!string.IsNullOrEmpty(sortPath)) + { + if (desc) + { + rentals = rentals.OrderByDescending(m => + { + return OrderHandler(m, sortPath); + }).ToArray(); + } + else + { + rentals = rentals.OrderBy(m => + { + return OrderHandler(m, sortPath); + }).ToArray(); + } + } + + ExportToExcel ete = new ExportToExcel(); + + DataTable dt = new DataTable(); + dt.Columns.Add(new DataColumn() { ColumnName = "VIN/SN" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Asset Name" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Outside/Internal" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Rental Vendor" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Rental Rate" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Term" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Term Unit" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Rental Date On" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Project Return Date" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Return Date" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Purchase Order #" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Comments" }); + + foreach (var r in rentals) + { + var dr = dt.NewRow(); + dr[0] = r.VIN; + dr[1] = r.ShowName; + dr[2] = r.Outside; + dr[3] = r.Vendor; + dr[4] = r.RentalRate; + dr[5] = r.Term; + dr[6] = r.TermUnit; + dr[7] = r.RentalDateStr; + dr[8] = r.ProjectReturnDateStr; + dr[9] = r.ReturnDateStr; + dr[10] = r.PONumber; + dr[11] = r.Comments; + dt.Rows.Add(dr); + } + double[] widths = new double[] { 180d, 180d, 180d, 150d, 150d, 150d, 150d, 150d, 150d, 150d, 150d, 200d }; + byte[] data = ete.CreateExcel(dt, null, widths, null); + + return data; + } + + public static byte[] ExportRentalChanges(string sessionid, string companyid, long machineid, long rentalid, DateTime from, DateTime to, string searchtext, string useriid, string sortPath, bool desc) + { + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + + AssetRentalChangeHistoryInfo[] assetrentals = FleetServiceClientHelper.CreateClient(companyid, sessionid).GetAssetRentalChangeHistory(companyid, Convert.ToInt64(rentalid)); + List rentalHistory = new List(); + foreach (AssetRentalChangeHistoryInfo ari in assetrentals) + { + RentalChangeHistoryInfo mri = new RentalChangeHistoryInfo(); + Helper.CloneProperty(mri, ari); + mri.RentalRate = (decimal)ari.RentalRate; + rentalHistory.Add(mri); + } + + if (machineid > 0) + rentalHistory = rentalHistory.Where(m => m.MachineID == machineid).ToList(); + + if (rentalid > 0) + rentalHistory = rentalHistory.Where(m => m.RentalID == rentalid).ToList(); + + rentalHistory = rentalHistory.Where(m => m.RentalDate >= from && m.RentalDate <= to).ToList(); + + if (!string.IsNullOrEmpty(sortPath)) + { + if (desc) + { + rentalHistory = rentalHistory.OrderByDescending(m => + { + return OrderHandler(m, sortPath); + }).ToList(); + } + else + { + rentalHistory = rentalHistory.OrderBy(m => + { + return OrderHandler(m, sortPath); + }).ToList(); + } + } + + ExportToExcel ete = new ExportToExcel(); + + DataTable dt = new DataTable(); + dt.Columns.Add(new DataColumn() { ColumnName = "Rental ID" }); + dt.Columns.Add(new DataColumn() { ColumnName = "User Name" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Last Update Date" }); + //dt.Columns.Add(new DataColumn() { ColumnName = "Operate Type" }); + dt.Columns.Add(new DataColumn() { ColumnName = "VIN/SN" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Asset Name" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Outside/Internal" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Rental Vendor" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Rental Rate" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Term" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Term Unit" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Rental Date On" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Project Return Date" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Return Date" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Purchase Order #" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Comments" }); + + foreach (var r in rentalHistory) + { + var dr = dt.NewRow(); + dr[0] = r.RentalID; + dr[1] = r.LastUpdateUserName; + dr[2] = r.LastUpdateDateStr; + //dr[3] = r.OperateType; + dr[3] = r.VIN; + dr[4] = r.ShowName; + dr[5] = r.Outside; + dr[6] = r.Vendor; + dr[7] = r.RentalRate; + dr[8] = r.Term; + dr[9] = r.TermUnit; + dr[10] = r.RentalDateStr; + dr[11] = r.ProjectReturnDateStr; + dr[12] = r.ReturnDateStr; + dr[13] = r.PONumber; + dr[14] = r.Comments; + dt.Rows.Add(dr); + } + double[] widths = new double[] { 120d, 150d, 150d, 180d, 180d, 180d, 150d, 150d, 150d, 150d, 150d, 150d, 150d, 150d, 200d }; + byte[] data = ete.CreateExcel(dt, null, widths, null); + + return data; + } + + public static byte[] ExportOdometerAdjustHistory(string sessionid, string companyid, long machineid, DateTime from, DateTime to, string sortPath, bool desc) + { + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + AssetOdometerAdjustInfo[] odoHistory = FleetServiceClientHelper.CreateClient(companyid, sessionid).GetOdometerAdjustmentHistory(companyid, machineid, from, to); + if (!string.IsNullOrEmpty(sortPath)) + { + if (desc) + { + odoHistory = odoHistory.OrderByDescending(m => + { + return OrderHandler(m, sortPath); + }).ToArray(); + } + else + { + odoHistory = odoHistory.OrderBy(m => + { + return OrderHandler(m, sortPath); + }).ToArray(); + } + } + + ExportToExcel ete = new ExportToExcel(); + + DataTable dt = new DataTable(); + dt.Columns.Add(new DataColumn() { ColumnName = "User Name" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Adjustment Time" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Odometer Entered" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Odometer UOM" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Odometer Time" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Notes" }); + + foreach (var r in odoHistory) + { + var dr = dt.NewRow(); + dr[0] = r.UserName; + dr[1] = r.AdjustmentLocalTime.ToString("MM/dd/yyyy HH:mm"); + dr[2] = r.Odometer; + dr[3] = r.UOM; + dr[4] = r.OdometerLocalTime.ToString("MM/dd/yyyy HH:mm"); + dr[5] = r.Notes; + dt.Rows.Add(dr); + } + double[] widths = new double[] { 200d, 150d, 150d, 150d, 150d, 300d }; + byte[] data = ete.CreateExcel(dt, null, widths, null); + + return data; + } + + public static byte[] ExportEngineHoursAdjustHistory(string sessionid, string companyid, long machineid, DateTime from, DateTime to, string sortPath, bool desc) + { + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + AssetEngineHoursAdjustInfo[] ehHistory = FleetServiceClientHelper.CreateClient(companyid, sessionid).GetEngineHoursAdjustmentHistory(companyid, machineid, from, to); + if (!string.IsNullOrEmpty(sortPath)) + { + if (desc) + { + ehHistory = ehHistory.OrderByDescending(m => + { + return OrderHandler(m, sortPath); + }).ToArray(); + } + else + { + ehHistory = ehHistory.OrderBy(m => + { + return OrderHandler(m, sortPath); + }).ToArray(); + } + } + + ExportToExcel ete = new ExportToExcel(); + + DataTable dt = new DataTable(); + dt.Columns.Add(new DataColumn() { ColumnName = "User Name" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Adjustment Time" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Engine Hours Entered" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Engine Hours Time" }); + dt.Columns.Add(new DataColumn() { ColumnName = "Notes" }); + + foreach (var r in ehHistory) + { + var dr = dt.NewRow(); + dr[0] = r.UserName; + dr[1] = r.AdjustmentLocalTime.ToString("MM/dd/yyyy HH:mm"); + dr[2] = r.EngineHours; + dr[3] = r.EngineHoursLocalTime.ToString("MM/dd/yyyy HH:mm"); + dr[4] = r.Notes; + dt.Rows.Add(dr); + } + double[] widths = new double[] { 200d, 150d, 150d, 150d, 300d }; + byte[] data = ete.CreateExcel(dt, null, widths, null); + + return data; + } + + + private static object OrderHandler(object obj, string sortPath) + { + Type type = obj.GetType(); + System.Reflection.PropertyInfo propertyInfo = type.GetProperty(sortPath); + if (propertyInfo != null) + return propertyInfo.GetValue(obj, null); + return null; + } + } + +} diff --git a/IronIntelContractorBusiness/FITracker/FITrackerManagement.cs b/IronIntelContractorBusiness/FITracker/FITrackerManagement.cs new file mode 100644 index 0000000..480d7c3 --- /dev/null +++ b/IronIntelContractorBusiness/FITracker/FITrackerManagement.cs @@ -0,0 +1,31 @@ +using Foresight; +using Foresight.Data; +using Foresight.Fleet.Services.FITracker; + +namespace IronIntel.Contractor.FITracker +{ + public class FITrackerManagement + { + public static MobileDeviceInfo[] GetTrackerDevices(string sessionid, string searchtext) + { + TrackerClient client = FleetServiceClientHelper.CreateClient(sessionid); + return client.GetMobileDevices(SystemParams.CompanyID); + } + + public static ChatMessageInfo[] GetMessages(string sessionid, string deviceid, long lastmsgid) + { + TrackerClient client = FleetServiceClientHelper.CreateClient(sessionid); + return client.GetChatMessages(deviceid, SystemParams.CompanyID, lastmsgid); + } + public static ChatMessageInfo PostMessage(string sessionid, string deviceid, string senderiid, string sendername, string msg, int type) + { + TrackerClient client = FleetServiceClientHelper.CreateClient(sessionid); + return client.PostChatMessage(deviceid, senderiid, sendername, msg, type); + } + public static void ChangeAcceptableAccuracy(string sessionid, string deviceid, double accuracy, string note, string userid) + { + TrackerClient client = FleetServiceClientHelper.CreateClient(sessionid); + client.ChangeAcceptableAccuracy(deviceid, accuracy, note, userid); + } + } +} diff --git a/IronIntelContractorBusiness/FilterQ/FilterQManagememt.cs b/IronIntelContractorBusiness/FilterQ/FilterQManagememt.cs new file mode 100644 index 0000000..e22f618 --- /dev/null +++ b/IronIntelContractorBusiness/FilterQ/FilterQManagememt.cs @@ -0,0 +1,236 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Configuration; +using System.Data; +using Foresight.Data; +using IronIntel.Services; +using IronIntel.Services.Customers; + +namespace IronIntel.Contractor.FilterQ +{ + public class FilterQManagememt + { + private static readonly string CLASSNAME = typeof(FilterQManagememt).FullName; + + private static string IronIntelDbString + { + get { return ConfigurationManager.AppSettings["JRE_IronIntelDb"]; } + } + + private static void ChangeViewToTable() + { + const string SQL = @"insert into MACHINETASKS(TaskId,MACHINEID,TASKDESCRIPTION,TASKCOMPLETE,CUSTOMERPO,PRIORITY,SHIPNOTES,CURRENT_JOB,JOBCONTACT,JOBCONTACTNUMBER, + JOBMAILSHIPADDRESS1,JOBMAILSHIPADDRESS2,JOBMAILSHIPADDRESSCITY,JOBMAILSHIPADDRESSSTATE,JOBMAILSHIPADDRESSZIP,ORGANIZATIONMACHINECODE,MANUFACTURERMAKE, + MODEL,SN,CUMULATIVE_HOURS,MACHINETASKHOURCHECK,DIFFTOSERVICE,ESTSERVICENEEDEDBY,ESTSHIPDATE,ORGID,ORGANIZATIONNAME,MACHINETASKTYPEID) + select v.TaskId,v.MACHINEID,v.TASKDESCRIPTION,v.TASKCOMPLETE,v.CUSTOMERPO,v.PRIORITY,v.ShipNotes,v.CURRENT_JOB,v.JOBCONTACT, + v.JobContactNumber,v.JobMailShipAddress1,v.JobMailShipAddress2,v.JobMailShipAddressCity,v.JobMailShipAddressState,v.JobMailShipAddressZip, + v.ORGANIZATIONMACHINECODE,v.MANUFACTURERMAKE,v.MODEL,v.SN,v.Cumulative_Hours,v.MachineTaskHourCheck,v.DIFFTOSERVICE,v.ESTSERVICENEEDEDBY, + v.ESTSHIPDATE,v.ORGID,v.ORGANIZATIONNAME,m.MACHINETASKTYPEID from vwMACHINETASKSNOTIFICATION as v, vwMACHINETASKS as m + where v.taskid=m.TaskId and v.TaskId not in(select TaskId from MACHINETASKS)"; + const string SQL_V = @"update a set MACHINEID=b.MACHINEID,CURRENT_JOB=b.CURRENT_JOB,JOBCONTACT=b.JOBCONTACT,JOBCONTACTNUMBER=b.JOBCONTACTNUMBER,JOBMAILSHIPADDRESS1=b.JOBMAILSHIPADDRESS1, + JOBMAILSHIPADDRESS2=b.JOBMAILSHIPADDRESS2,JOBMAILSHIPADDRESSCITY=b.JOBMAILSHIPADDRESSCITY,JOBMAILSHIPADDRESSSTATE=b.JOBMAILSHIPADDRESSSTATE,JOBMAILSHIPADDRESSZIP=b.JOBMAILSHIPADDRESSZIP, + ORGANIZATIONMACHINECODE=b.ORGANIZATIONMACHINECODE,MANUFACTURERMAKE=b.MANUFACTURERMAKE,MODEL=b.MODEL,SN=b.SN,CUMULATIVE_HOURS=b.CUMULATIVE_HOURS, + MACHINETASKHOURCHECK=b.MACHINETASKHOURCHECK,DIFFTOSERVICE=b.DIFFTOSERVICE,ESTSERVICENEEDEDBY=b.ESTSERVICENEEDEDBY,ESTSHIPDATE=b.ESTSHIPDATE, + ORGID=b.ORGID,ORGANIZATIONNAME=b.ORGANIZATIONNAME,DATALOADEDFROMVIEW=1 + from MACHINETASKS a,vwMACHINETASKSNOTIFICATION b where a.TaskId = b.TaskId and isnull(a.DATALOADEDFROMVIEW,0)=0"; + FISqlConnection db = new FISqlConnection(IronIntelDbString); + db.ExecSQL(SQL); + db.ExecSQL(SQL_V); + } + + public static MachineTasksNotificationInfo[] GetTasksNotofications() + { + const string SQL_1 = @"select TASKID,MACHINEID,CURRENT_JOB,JOBCONTACT,JOBCONTACTNUMBER,JOBMAILSHIPADDRESS1,JOBMAILSHIPADDRESS2,JOBMAILSHIPADDRESSCITY,JOBMAILSHIPADDRESSSTATE,JOBMAILSHIPADDRESSZIP, + ORGANIZATIONMACHINECODE,MANUFACTURERMAKE,MODEL,SN,CUMULATIVE_HOURS,MACHINETASKHOURCHECK,DIFFTOSERVICE,ESTSERVICENEEDEDBY,ESTSHIPDATE,UPSTRACKINGNUMBER,REQUESTJRETOSERVICE, + APPROVEDBY,PRIORITY,CUSTOMERPO,CUSTOMERWO,ALTERNATEMAILSHIPADDRESS1,ALTERNATEMAILSHIPADDRESS2,ALTERNATEMAILSHIPADDRESSCITY,ALTERNATEMAILSHIPADDRESSSTATE,ALTERNATEMAILSHIPADDRESSZIP, + SHIPNOTES,ORGANIZATIONNAME,TASKCOMPLETE, TASKCOMPLETEDHOURS,ALTJOB,ALTJOBSITECONTACT from MACHINETASKS where ESTSHIPDATE is not null"; + const string SQL_2 = SQL_1 + " and ORGID in(select ORGID from ORGANIZATION o where o.CONTRACTORSITEID={0})"; + + ChangeViewToTable(); + var company = SystemParams.CustomerDetail; + FISqlConnection db = new FISqlConnection(IronIntelDbString); + DataTable dt = null; + if (company.IsDealer) + { + dt = db.GetDataTableBySQL(SQL_1 + " order by CURRENT_JOB,JOBCONTACT"); + } + else + { + dt = db.GetDataTableBySQL(SQL_2 + " order by CURRENT_JOB,JOBCONTACT", company.ID); + } + + List list = new List(); + foreach (DataRow dr in dt.Rows) + { + MachineTasksNotificationInfo tt = new MachineTasksNotificationInfo(); + tt.TaskID = FIDbAccess.GetFieldString(dr["TASKID"], string.Empty); + tt.MachineID = FIDbAccess.GetFieldString(dr["MACHINEID"], string.Empty); + tt.CurrentJob = FIDbAccess.GetFieldString(dr["CURRENT_JOB"], string.Empty); + tt.JobContact = FIDbAccess.GetFieldString(dr["JOBCONTACT"], string.Empty); + tt.JobContactNumber = FIDbAccess.GetFieldString(dr["JOBCONTACTNUMBER"], string.Empty); + tt.JobAddress1 = FIDbAccess.GetFieldString(dr["JOBMAILSHIPADDRESS1"], string.Empty); + tt.JobAddress2 = FIDbAccess.GetFieldString(dr["JOBMAILSHIPADDRESS2"], string.Empty); + tt.JobAddressCity = FIDbAccess.GetFieldString(dr["JOBMAILSHIPADDRESSCITY"], string.Empty); + tt.JobAddressState = FIDbAccess.GetFieldString(dr["JOBMAILSHIPADDRESSSTATE"], string.Empty); + tt.JobAddressZip = FIDbAccess.GetFieldString(dr["JOBMAILSHIPADDRESSZIP"], string.Empty); + tt.OrgMachineCode = FIDbAccess.GetFieldString(dr["ORGANIZATIONMACHINECODE"], string.Empty); + tt.ManufactuerMake = FIDbAccess.GetFieldString(dr["MANUFACTURERMAKE"], string.Empty); + tt.Model = FIDbAccess.GetFieldString(dr["MODEL"], string.Empty); + tt.SN = FIDbAccess.GetFieldString(dr["SN"], string.Empty); + tt.CumulativeHours = FIDbAccess.GetFieldDouble(dr["CUMULATIVE_HOURS"], 0); + tt.MachineTaskHourCheck = FIDbAccess.GetFieldInt(dr["MACHINETASKHOURCHECK"], 0); + tt.DiffToService = FIDbAccess.GetFieldDouble(dr["DIFFTOSERVICE"], 0); + tt.ESTServiceNeededBy = FIDbAccess.GetFieldDateTime(dr["ESTSERVICENEEDEDBY"], DateTime.MinValue); + tt.ESTShopDate = FIDbAccess.GetFieldDateTime(dr["ESTSHIPDATE"], DateTime.MinValue); + tt.UPSTrackingNumber = FIDbAccess.GetFieldString(dr["UPSTRACKINGNUMBER"], string.Empty); + tt.RequestJREToService = FIDbAccess.GetFieldInt(dr["REQUESTJRETOSERVICE"], 0) == 1; + string by = FIDbAccess.GetFieldString(dr["APPROVEDBY"], string.Empty); + tt.Approved = (!string.IsNullOrWhiteSpace(by) && by != Guid.Empty.ToString() ? true : false); + tt.Priority = FIDbAccess.GetFieldString(dr["PRIORITY"], string.Empty); + tt.CustomerPO = FIDbAccess.GetFieldString(dr["CUSTOMERPO"], string.Empty); + tt.CustomerWO = FIDbAccess.GetFieldString(dr["CUSTOMERWO"], string.Empty); + tt.AlternateAddress1 = FIDbAccess.GetFieldString(dr["ALTERNATEMAILSHIPADDRESS1"], string.Empty); + tt.AlternateAddress2 = FIDbAccess.GetFieldString(dr["ALTERNATEMAILSHIPADDRESS2"], string.Empty); + tt.AlternateAddressCity = FIDbAccess.GetFieldString(dr["ALTERNATEMAILSHIPADDRESSCITY"], string.Empty); + tt.AlternateAddressState = FIDbAccess.GetFieldString(dr["ALTERNATEMAILSHIPADDRESSSTATE"], string.Empty); + tt.AlternateAddressZip = FIDbAccess.GetFieldString(dr["ALTERNATEMAILSHIPADDRESSZIP"], string.Empty); + tt.ShipNotes = FIDbAccess.GetFieldString(dr["SHIPNOTES"], string.Empty); + tt.OrganizationName = FIDbAccess.GetFieldString(dr["ORGANIZATIONNAME"], string.Empty); + tt.TaskComplete = FIDbAccess.GetFieldInt(dr["TASKCOMPLETE"], 0) == 1; + tt.TaskCompletedHours = FIDbAccess.GetFieldDouble(dr["TASKCOMPLETEDHOURS"], 0); + tt.AltJob = FIDbAccess.GetFieldString(dr["ALTJOB"], string.Empty); + tt.AltJobSiteContact = FIDbAccess.GetFieldString(dr["ALTJOBSITECONTACT"], string.Empty); + list.Add(tt); + } + return list.ToArray(); + } + + public static void SaveMachineTasks(MachineTasksNotificationInfo[] tasks, string useriid) + { + var company = SystemParams.CustomerDetail; + if (company.IsContractor) + { + SaveByContractor(tasks, useriid); + } + else + { + SaveByDealer(tasks, useriid); + } + } + + private static void SaveTaskHistory(FIDbTransaction tran, string taskid) + { + const string SQL_H = @"insert into MACHINETASKS_HISTORY(TaskId,MACHINEID,MACHINETASKTYPEID,TASKDESCRIPTION,TASKDATE,TASKCOMPLETE,NOTIFICATIONSENT,TASKCOMPLETEDATE + ,LASTUPDATEDATE,CUSTOMERPO,PRIORITY,SHIPDATE,SHIPNOTES,ALTERNATIVESHIPCONTACT,OVERRIDEJOBID,ALTERNATEMAILSHIPADDRESS1 + ,ALTERNATEMAILSHIPADDRESS2 ,ALTERNATEMAILSHIPADDRESSSTATE,ALTERNATEMAILSHIPADDRESSZIP,ALTERNATEMAILSHIPADDRESSCITY,APPROVEDBY + ,CUSTOMERWO ,ALTERNATESHIPCONTACTNUMBER ,REQUESTDEALERTOSERVICE ,SHIPTRACKINGNO,SHIPTRACKINGSTATUS,UPSTRACKINGNUMBER ,REQUESTJRETOSERVICE + ,CURRENT_JOB ,JOBCONTACT,JOBCONTACTNUMBER,JOBMAILSHIPADDRESS1 ,JOBMAILSHIPADDRESS2,JOBMAILSHIPADDRESSCITY,JOBMAILSHIPADDRESSSTATE + ,JOBMAILSHIPADDRESSZIP,ORGANIZATIONMACHINECODE ,MANUFACTURERMAKE,MODEL,SN,CUMULATIVE_HOURS ,MACHINETASKHOURCHECK ,DIFFTOSERVICE + ,ESTSERVICENEEDEDBY,ESTSHIPDATE,LASTUPDATEDON ,LASTUPDATEDBY,RECVER,APPROVEDDATETIME,INSERTDATE,TASKCOMPLETEDHOURS,ORGID,ORGANIZATIONNAME,DATALOADEDFROMVIEW + ,ALTJOB,ALTJOBSITECONTACT) + select TaskId,MACHINEID,MACHINETASKTYPEID,TASKDESCRIPTION,TASKDATE,TASKCOMPLETE,NOTIFICATIONSENT,TASKCOMPLETEDATE + ,LASTUPDATEDATE,CUSTOMERPO,PRIORITY,SHIPDATE,SHIPNOTES,ALTERNATIVESHIPCONTACT,OVERRIDEJOBID,ALTERNATEMAILSHIPADDRESS1 + ,ALTERNATEMAILSHIPADDRESS2 ,ALTERNATEMAILSHIPADDRESSSTATE,ALTERNATEMAILSHIPADDRESSZIP,ALTERNATEMAILSHIPADDRESSCITY,APPROVEDBY + ,CUSTOMERWO ,ALTERNATESHIPCONTACTNUMBER ,REQUESTDEALERTOSERVICE ,SHIPTRACKINGNO,SHIPTRACKINGSTATUS,UPSTRACKINGNUMBER ,REQUESTJRETOSERVICE + ,CURRENT_JOB ,JOBCONTACT,JOBCONTACTNUMBER,JOBMAILSHIPADDRESS1 ,JOBMAILSHIPADDRESS2,JOBMAILSHIPADDRESSCITY,JOBMAILSHIPADDRESSSTATE + ,JOBMAILSHIPADDRESSZIP,ORGANIZATIONMACHINECODE ,MANUFACTURERMAKE,MODEL,SN,CUMULATIVE_HOURS ,MACHINETASKHOURCHECK ,DIFFTOSERVICE + ,ESTSERVICENEEDEDBY,ESTSHIPDATE,LASTUPDATEDON ,LASTUPDATEDBY,RECVER,APPROVEDDATETIME,GETUTCDATE(),TASKCOMPLETEDHOURS,ORGID,ORGANIZATIONNAME,DATALOADEDFROMVIEW + ,ALTJOB,ALTJOBSITECONTACT + from MACHINETASKS where TaskId={0}"; + tran.ExecSQL(SQL_H, taskid); + } + + + private static void SaveByDealer(MachineTasksNotificationInfo[] tasks, string useriid) + { + const string SQL_D = @"update MACHINETASKS set REQUESTJRETOSERVICE={0},LASTUPDATEDBY={1},PRIORITY={2},CUSTOMERPO={3},CUSTOMERWO={4},ALTERNATEMAILSHIPADDRESS1={5}, + ALTERNATEMAILSHIPADDRESS2 ={6},ALTERNATEMAILSHIPADDRESSCITY ={7},ALTERNATEMAILSHIPADDRESSSTATE ={8},ALTERNATEMAILSHIPADDRESSZIP ={9},SHIPNOTES ={10}, LASTUPDATEDON = GETUTCDATE(), + RECVER = isnull(RECVER, 0) + 1,UPSTRACKINGNUMBER ={11},TASKCOMPLETE ={12},TASKCOMPLETEDHOURS ={13},JOBMAILSHIPADDRESS1 ={14},JOBMAILSHIPADDRESS2 ={15}, + JOBMAILSHIPADDRESSCITY ={16},JOBMAILSHIPADDRESSSTATE ={17},JOBMAILSHIPADDRESSZIP ={18},ORGANIZATIONMACHINECODE ={19},MANUFACTURERMAKE ={20},MODEL ={21}, + CUMULATIVE_HOURS ={22},MACHINETASKHOURCHECK ={23},DIFFTOSERVICE ={24},ESTSERVICENEEDEDBY ={25},ESTSHIPDATE ={26},JOBCONTACTNUMBER ={27},JOBCONTACT={28},ORGANIZATIONNAME={29}, + ALTJOB={31},ALTJOBSITECONTACT={32},APPROVEDBY={33} where TaskId = {30}"; + foreach (MachineTasksNotificationInfo ts in tasks) + { + try + { + using (FISqlTransaction tran = new FISqlTransaction(IronIntelDbString)) + { + SaveTaskHistory(tran, ts.TaskID); + tran.ExecSQL(SQL_D, ts.RequestJREToService, useriid, ts.Priority, ts.CustomerPO, ts.CustomerWO, ts.AlternateAddress1, ts.AlternateAddress2, ts.AlternateAddressCity, ts.AlternateAddressState, + ts.AlternateAddressZip, ts.ShipNotes, ts.UPSTrackingNumber, ts.TaskComplete, ts.TaskCompletedHours, ts.JobAddress1, ts.JobAddress2, ts.JobAddressCity, ts.JobAddressState, ts.JobAddressZip, + ts.OrgMachineCode, ts.ManufactuerMake, ts.Model, ts.CumulativeHours, ts.MachineTaskHourCheck, ts.DiffToService, ts.ESTServiceNeededBy, ts.ESTShopDate, ts.JobContactNumber, ts.JobContact, + ts.OrganizationName, ts.TaskID, ts.AltJob, ts.AltJobSiteContact, ts.Approved ? useriid : Guid.Empty.ToString()); + tran.Commit(); + } + } + catch (Exception ex) + { + StringBuilder sb = new StringBuilder(); + sb.AppendLine(ts.ToString()); + sb.AppendLine(); + sb.AppendLine(ex.ToString()); + SystemParams.WriteLog("Error", CLASSNAME + ".SaveByDealer", ex.Message, sb.ToString()); + throw; + } + } + + } + private static void SaveByContractor(MachineTasksNotificationInfo[] tasks, string useriid) + { + const string SQL_C1 = @"update MACHINETASKS set REQUESTJRETOSERVICE ={0},LASTUPDATEDBY ={1},PRIORITY ={2},CUSTOMERPO={3},CUSTOMERWO={4},ALTERNATEMAILSHIPADDRESS1={5}, + ALTERNATEMAILSHIPADDRESS2={6},ALTERNATEMAILSHIPADDRESSCITY={7},ALTERNATEMAILSHIPADDRESSSTATE ={8}, ALTERNATEMAILSHIPADDRESSZIP ={9},SHIPNOTES ={10},LASTUPDATEDON=GETUTCDATE(), + RECVER=isnull(RECVER,0)+1,APPROVEDBY=NULL,APPROVEDDATETIME=NULL,ALTJOB={12},ALTJOBSITECONTACT={13},TASKCOMPLETEDHOURS={14} where TaskId={11}"; + const string SQL_C2 = @"update MACHINETASKS set REQUESTJRETOSERVICE={0},LASTUPDATEDBY={1},PRIORITY={2},CUSTOMERPO={3},CUSTOMERWO={4},ALTERNATEMAILSHIPADDRESS1={5},ALTERNATEMAILSHIPADDRESS2={6}, + ALTERNATEMAILSHIPADDRESSCITY={7},ALTERNATEMAILSHIPADDRESSSTATE={8},ALTERNATEMAILSHIPADDRESSZIP={9},SHIPNOTES={10}, LASTUPDATEDON=GETUTCDATE(), RECVER=isnull(RECVER,0)+1,APPROVEDBY={1}, + APPROVEDDATETIME=GETUTCDATE() ,ALTJOB={12},ALTJOBSITECONTACT={13},TASKCOMPLETEDHOURS={14} where TaskId={11}"; + const string SQL_C3 = @"update MACHINETASKS set REQUESTJRETOSERVICE={0},LASTUPDATEDBY={1},PRIORITY={2},CUSTOMERPO={3},CUSTOMERWO={4},ALTERNATEMAILSHIPADDRESS1={5}, + ALTERNATEMAILSHIPADDRESS2={6},ALTERNATEMAILSHIPADDRESSCITY={7},ALTERNATEMAILSHIPADDRESSSTATE={8},ALTERNATEMAILSHIPADDRESSZIP={9},SHIPNOTES={10}, LASTUPDATEDON=GETUTCDATE(), + RECVER=isnull(RECVER,0)+1,ALTJOB={12},ALTJOBSITECONTACT={13},TASKCOMPLETEDHOURS={14} where TaskId={11}"; + const string SQL_sel = "select APPROVEDBY from MACHINETASKS where TaskId={0}"; + + FISqlConnection db = new FISqlConnection(IronIntelDbString); + foreach (MachineTasksNotificationInfo ts in tasks) + { + try + { + string approvedby = FIDbAccess.GetFieldString(db.GetRC1BySQL(SQL_sel, ts.TaskID), string.Empty); + using (FISqlTransaction tran = new FISqlTransaction(IronIntelDbString)) + { + SaveTaskHistory(tran, ts.TaskID); + if (ts.Approved) + { + if (string.IsNullOrWhiteSpace(approvedby)) + { + tran.ExecSQL(SQL_C2, ts.RequestJREToService, useriid, ts.Priority, ts.CustomerPO, ts.CustomerWO, ts.AlternateAddress1, ts.AlternateAddress2, ts.AlternateAddressCity, ts.AlternateAddressState, + ts.AlternateAddressZip, ts.ShipNotes, ts.TaskID, ts.AltJob, ts.AltJobSiteContact, ts.TaskCompletedHours); + } + else + { + tran.ExecSQL(SQL_C3, ts.RequestJREToService, useriid, ts.Priority, ts.CustomerPO, ts.CustomerWO, ts.AlternateAddress1, ts.AlternateAddress2, ts.AlternateAddressCity, ts.AlternateAddressState, + ts.AlternateAddressZip, ts.ShipNotes, ts.TaskID, ts.AltJob, ts.AltJobSiteContact, ts.TaskCompletedHours); + } + } + else + { + tran.ExecSQL(SQL_C1, ts.RequestJREToService, useriid, ts.Priority, ts.CustomerPO, ts.CustomerWO, ts.AlternateAddress1, ts.AlternateAddress2, ts.AlternateAddressCity, ts.AlternateAddressState, + ts.AlternateAddressZip, ts.ShipNotes, ts.TaskID, ts.AltJob, ts.AltJobSiteContact, ts.TaskCompletedHours); + } + tran.Commit(); + } + } + catch (Exception ex) + { + StringBuilder sb = new StringBuilder(); + sb.AppendLine(ts.ToString()); + sb.AppendLine(); + sb.AppendLine(ex.ToString()); + SystemParams.WriteLog("Error", CLASSNAME + ".SaveByContractor", ex.Message, sb.ToString()); + throw; + } + } + } + + } +} diff --git a/IronIntelContractorBusiness/FilterQ/MachineTasksNotificationInfo.cs b/IronIntelContractorBusiness/FilterQ/MachineTasksNotificationInfo.cs new file mode 100644 index 0000000..3679712 --- /dev/null +++ b/IronIntelContractorBusiness/FilterQ/MachineTasksNotificationInfo.cs @@ -0,0 +1,96 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Xml; +using System.Threading.Tasks; +using Foresight; + +namespace IronIntel.Contractor.FilterQ +{ + public class MachineTasksNotificationInfo + { + public string TaskID { get; set; } + public string MachineID { get; set; } + public string CurrentJob { get; set; } + public string JobContact { get; set; } + public string JobContactNumber { get; set; } + public string JobAddress1 { get; set; } + public string JobAddress2 { get; set; } + public string JobAddressCity { get; set; } + public string JobAddressState { get; set; } + public string JobAddressZip { get; set; } + public string OrgMachineCode { get; set; } + public string ManufactuerMake { get; set; } + public string Model { get; set; } + public string SN { get; set; } + public double CumulativeHours { get; set; } + public int MachineTaskHourCheck { get; set; } + public double DiffToService { get; set; } + public DateTime ESTServiceNeededBy { get; set; } + public DateTime ESTShopDate { get; set; } + public string UPSTrackingNumber { get; set; } + public bool RequestJREToService { get; set; } + public bool Approved { get; set; } + public string Priority { get; set; } + public string CustomerPO { get; set; } + public string CustomerWO { get; set; } + public string AlternateAddress1 { get; set; } + public string AlternateAddress2 { get; set; } + public string AlternateAddressCity { get; set; } + public string AlternateAddressState { get; set; } + public string AlternateAddressZip { get; set; } + public string ShipNotes { get; set; } + public string OrganizationName { get; set; } + + public bool TaskComplete { get; set; } + public double TaskCompletedHours { get; set; } + + public string AltJob { get; set; } + public string AltJobSiteContact { get; set; } + + public override string ToString() + { + XmlDocument doc = XmlHelper.CreateXmlDocument(); + XmlHelper.AppendChildNode(doc.DocumentElement, "TaskID", TaskID); + XmlHelper.AppendChildNode(doc.DocumentElement, "MachineID", MachineID); + XmlHelper.AppendChildNode(doc.DocumentElement, "CurrentJob", CurrentJob); + XmlHelper.AppendChildNode(doc.DocumentElement, "JobContact", JobContact); + XmlHelper.AppendChildNode(doc.DocumentElement, "JobContactNumber", JobContactNumber); + XmlHelper.AppendChildNode(doc.DocumentElement, "JobAddress1", JobAddress1); + XmlHelper.AppendChildNode(doc.DocumentElement, "JobAddress2", JobAddress2); + XmlHelper.AppendChildNode(doc.DocumentElement, "JobAddressCity", JobAddressCity); + XmlHelper.AppendChildNode(doc.DocumentElement, "JobAddressState", JobAddressState); + XmlHelper.AppendChildNode(doc.DocumentElement, "JobAddressZip", JobAddressZip); + XmlHelper.AppendChildNode(doc.DocumentElement, "OrgMachineCode", OrgMachineCode); + XmlHelper.AppendChildNode(doc.DocumentElement, "ManufactuerMake", ManufactuerMake); + XmlHelper.AppendChildNode(doc.DocumentElement, "Model", Model); + XmlHelper.AppendChildNode(doc.DocumentElement, "SN", SN); + XmlHelper.AppendChildNode(doc.DocumentElement, "CumulativeHours", CumulativeHours.ToString()); + XmlHelper.AppendChildNode(doc.DocumentElement, "MachineTaskHourCheck", MachineTaskHourCheck.ToString()); + XmlHelper.AppendChildNode(doc.DocumentElement, "DiffToService", DiffToService.ToString()); + XmlHelper.AppendChildNode(doc.DocumentElement, "ESTServiceNeededBy", ESTServiceNeededBy.ToString()); + XmlHelper.AppendChildNode(doc.DocumentElement, "ESTShopDate", ESTShopDate.ToString()); + XmlHelper.AppendChildNode(doc.DocumentElement, "UPSTrackingNumber", UPSTrackingNumber); + XmlHelper.AppendChildNode(doc.DocumentElement, "RequestJREToService", RequestJREToService ? "True" : "False"); + XmlHelper.AppendChildNode(doc.DocumentElement, "Approved", Approved ? "True" : "False"); + XmlHelper.AppendChildNode(doc.DocumentElement, "Priority", Priority); + XmlHelper.AppendChildNode(doc.DocumentElement, "CustomerPO", CustomerPO); + XmlHelper.AppendChildNode(doc.DocumentElement, "CustomerWO", CustomerWO); + XmlHelper.AppendChildNode(doc.DocumentElement, "AlternateAddress1", AlternateAddress1); + XmlHelper.AppendChildNode(doc.DocumentElement, "AlternateAddress2", AlternateAddress2); + XmlHelper.AppendChildNode(doc.DocumentElement, "AlternateAddressCity", AlternateAddressCity); + XmlHelper.AppendChildNode(doc.DocumentElement, "AlternateAddressState", AlternateAddressState); + XmlHelper.AppendChildNode(doc.DocumentElement, "AlternateAddressZip", AlternateAddressZip); + XmlHelper.AppendChildNode(doc.DocumentElement, "ShipNotes", ShipNotes); + XmlHelper.AppendChildNode(doc.DocumentElement, "OrganizationName", OrganizationName); + XmlHelper.AppendChildNode(doc.DocumentElement, "TaskComplete", TaskComplete ? "True" : "False"); + XmlHelper.AppendChildNode(doc.DocumentElement, "TaskCompletedHours", TaskCompletedHours.ToString()); + XmlHelper.AppendChildNode(doc.DocumentElement, "AltJob", AltJob); + XmlHelper.AppendChildNode(doc.DocumentElement, "AltJobSiteContact", AltJobSiteContact); + return doc.InnerXml; + } + + + } +} diff --git a/IronIntelContractorBusiness/FleetServiceClientHelper.cs b/IronIntelContractorBusiness/FleetServiceClientHelper.cs new file mode 100644 index 0000000..cda6696 --- /dev/null +++ b/IronIntelContractorBusiness/FleetServiceClientHelper.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Configuration; +using Foresight.Fleet.Services; + +namespace IronIntel.Contractor +{ + public static class FleetServiceClientHelper + { + private static string[] FleetAssetServiceAddresses = null; + + static FleetServiceClientHelper() + { + string addresses = ConfigurationManager.AppSettings["FleetAssetServiceAddress"]; + if (!string.IsNullOrWhiteSpace(addresses)) + { + FleetAssetServiceAddresses = addresses.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); + } + else + { + FleetAssetServiceAddresses = new string[0]; + } + } + + public static T CreateClient(string workingcompanyid, string sessionid) where T : RemoteClientBase + { + object[] args = new object[1]; + args[0] = FleetAssetServiceAddresses; + + T client = (T)Activator.CreateInstance(typeof(T), args); + client.AppName = SystemParams.APPNAME; + client.WorkingCompanyID = string.IsNullOrWhiteSpace(workingcompanyid) ? SystemParams.CompanyID : workingcompanyid; + client.SessionID = sessionid; + return client; + } + + public static T CreateClient(string sessionid) where T : RemoteClientBase + { + return CreateClient(string.Empty, sessionid); + } + + public static T CreateClient() where T : RemoteClientBase + { + return CreateClient(string.Empty, string.Empty); + } + } +} diff --git a/IronIntelContractorBusiness/Helper.cs b/IronIntelContractorBusiness/Helper.cs new file mode 100644 index 0000000..ed01949 --- /dev/null +++ b/IronIntelContractorBusiness/Helper.cs @@ -0,0 +1,92 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor +{ + public class Helper + { + public static readonly DateTime DBMinDateTime = new DateTime(1900, 01, 01); + + public static bool IsTrue(string s) + { + const string YES = "Yes"; + const string TRUE = "True"; + const string ONE = "1"; + + return (string.Compare(s, YES, true) == 0) || (string.Compare(s, TRUE, true) == 0) || (string.Compare(s, ONE) == 0); + } + + public static bool Contains(string text, string val) + { + if (!string.IsNullOrWhiteSpace(text)) + { + return text.IndexOf(val, StringComparison.OrdinalIgnoreCase) >= 0; + } + else + { + return false; + } + } + + public static void CloneProperty(object objDes, object objSrc) + { + if (objDes == null || objSrc == null) + return; + PropertyInfo[] pisDes = objDes.GetType().GetProperties(); + Type tSrc = objSrc.GetType(); + foreach (PropertyInfo piDes in pisDes) + { + if (!piDes.CanWrite) + continue; + PropertyInfo piSrc = tSrc.GetProperty(piDes.Name, piDes.PropertyType); + if (piSrc == null || !piSrc.CanRead) + continue; + try + { + piDes.SetValue(objDes, piSrc.GetValue(objSrc, null), null); + } + catch (Exception e) + { + e.ToString(); + } + } + } + + public static object DateValueToNull(DateTime date) + { + if (date <= DBMinDateTime) + return null; + else + return date; + } + + public static object DateValueToNullOrBigHour(DateTime date) + { + if (date <= DBMinDateTime) + return null; + else + return date.AddDays(1).AddSeconds(-1); + } + + public static object NumberValueToNull(int value) + { + if (value < 0) + return null; + else + return value; + } + + public static object NumberValueToNull(double value) + { + if (value < 0) + return null; + else + return value; + } + + } +} diff --git a/IronIntelContractorBusiness/Host/ClientModels.cs b/IronIntelContractorBusiness/Host/ClientModels.cs new file mode 100644 index 0000000..65913a0 --- /dev/null +++ b/IronIntelContractorBusiness/Host/ClientModels.cs @@ -0,0 +1,69 @@ +using FI.FIC; +using FI.FIC.Contracts.DataObjects.Enumeration; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor +{ + #region - Client Models - + + public class UserInfoItem : FICUserInfo + { + public string Source { get; set; } + public int IsTempPassword { get; set; } + public DateTime PWDExpiration { get; set; } + public int UserMode { get; set; } + public int UserCatalog { get; set; } + public static UserInfoItem From(FICUserInfo user) + { + return new UserInfoItem + { + IID = user.IID, + ID = user.ID, + DisplayName = user.DisplayName, + Email = user.Email, + Enabled = user.Enabled, + Mobile = user.Mobile, + UserType = user.UserType, + BusinessPhone = user.BusinessPhone, + DefaultMobileWspIID = user.DefaultMobileWspIID, + DefaultWspIID = user.DefaultWspIID, + Notes = user.Notes + }; + } + } + + public class UserManagementItem + { + public string IID { get; set; } + public string ID { get; set; } + public string Password { get; set; } + public string DisplayName { get; set; } + public string Email { get; set; } + public string Mobile { get; set; } + public string BusinessPhone { get; set; } + public FICUserTypes UserType { get; set; } + public string UserLevel { get; set; } + public bool Enabled { get; set; } + public string Active { get; set; } + public int UserMode { get; set; } + public string Groups { get; set; } + public string DefaultWspIID { get; set; } + public string DefaultMobileWspIID { get; set; } + + public string[] GroupIIDs { get; set; } + } + + public class UserGroupManagementItem + { + public string IID { get; set; } + public string Name { get; set; } + public string Description { get; set; } + public string[] UserIIDs { get; set; } + } + + #endregion +} diff --git a/IronIntelContractorBusiness/Host/Common.cs b/IronIntelContractorBusiness/Host/Common.cs new file mode 100644 index 0000000..c14bcd5 --- /dev/null +++ b/IronIntelContractorBusiness/Host/Common.cs @@ -0,0 +1,116 @@ +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Web; + +namespace IronIntel.Contractor +{ + public class Common + { + public Common() + { + } + + private static string _LoginSessionCookieName; + public static string LoginSessionCookieName + { + get + { + if (_LoginSessionCookieName == null) + { + _LoginSessionCookieName = Site.IronIntelBasePage.LOGINSESSION_COOKIENAME; + } + return _LoginSessionCookieName; + } + } + + private static string _LanguageCookieName; + public static string LanguageCookieName + { + get + { + if (_LanguageCookieName == null) + { + _LanguageCookieName = LoginSessionCookieName + "language"; + } + return _LanguageCookieName; + } + } + + private static string _RememberCookieName; + public static string RememberCookieName + { + get + { + if (_RememberCookieName == null) + { + _RememberCookieName = LoginSessionCookieName + "RemberUser"; + } + return _RememberCookieName; + } + } + + private static string _FrsPeriodCookieName; + public static string FrsPeriodCookieName + { + get + { + if (_FrsPeriodCookieName == null) + { + _FrsPeriodCookieName = LoginSessionCookieName + "Period"; + } + return _FrsPeriodCookieName; + } + } + + private static string _FrsThemeCookieName; + public static string FrsThemeCookieName + { + get + { + if (_FrsThemeCookieName == null) + { + _FrsThemeCookieName = LoginSessionCookieName + "FrsTheme"; + } + return _FrsThemeCookieName; + } + } + + /// + /// 此方法只有FIC的的页面,其他页面也是会出错 + /// + /// + /// + public static string GenerateUrl(string file) + { + string url; + System.Web.UI.Page page = HttpContext.Current.Handler as System.Web.UI.Page; + if (page != null) + { + // Use page instance. + url = page.ResolveUrl("~/") + "fic/" + file; + } + else + { + // avoid duplicate operation + url = HttpContext.Current.Request.ApplicationPath + "/fic/" + file; + } + try + { + var path = System.IO.Path.Combine(HttpContext.Current.Request.PhysicalApplicationPath, "fic/" + file); + if (System.IO.File.Exists(path)) + { + url += "?t=" + System.IO.File.GetLastWriteTimeUtc(path).Ticks; + } + } + catch (Exception) + { + // cant read file + } + return url; + } + } +} diff --git a/IronIntelContractorBusiness/Host/HostRequesEntry.cs b/IronIntelContractorBusiness/Host/HostRequesEntry.cs new file mode 100644 index 0000000..d4310b0 --- /dev/null +++ b/IronIntelContractorBusiness/Host/HostRequesEntry.cs @@ -0,0 +1,69 @@ +using FI.FIC; +using FI.FIC.Contracts; +using FI.FIC.Contracts.DataObjects; +using FI.FIC.Contracts.DataObjects.Enumeration; +using FI.FIC.DataProviders.HelpClass; +using FI.FIC.Models; +using Foresight; +using IronIntel.Contractor.Users; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Data.SqlClient; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Web; + +namespace IronIntel.Contractor +{ + public class HostRequesEntry + { + public static object ProcessNetRequest(FICNetRequestObject netQuery, HttpContext context) + { + switch (netQuery.MethodName) + { + case "ChangePassword": + var lc = FICHostEnvironment.GetCurrentLoginContext(context); + if (!UserManagement.ChangePassword(netQuery.LoginIID, netQuery.Parameters[0].ToString(), netQuery.Parameters[1].ToString(), lc.SessionID, context.Request.UserHostName)) + { + throw new FIException(0X65026303, "", null); + } + break; + case "LoginFIC"://跳转到G4,IronIntel没有G4版本 + return ""; + case "GetVersion": + return SystemParams.GetFICVersion(); + default: + //rsp.Result = something + var service = new HostService(); + service.Request = netQuery; + var method = typeof(HostService).GetMethod(netQuery.MethodName); + try + { + return method.Invoke(service, netQuery.Parameters); + } + catch (TargetInvocationException ex) + { + if (ex.InnerException != null) + { + throw ex.InnerException; + } + throw; + } + } + return null; + } + } + + + + public class LoginModel + { + public int ErrorCode { get; set; } + public string Message { get; set; } + public string Cookie { get; set; } + } +} diff --git a/IronIntelContractorBusiness/Host/HostService.cs b/IronIntelContractorBusiness/Host/HostService.cs new file mode 100644 index 0000000..452af61 --- /dev/null +++ b/IronIntelContractorBusiness/Host/HostService.cs @@ -0,0 +1,558 @@ +using FI.FIC; +using FI.FIC.Contracts; +using FI.FIC.Contracts.DataObjects; +using FI.FIC.Contracts.DataObjects.BaseObject; +using FI.FIC.Contracts.DataObjects.BLObject; +using FI.FIC.Contracts.DataObjects.Enumeration; +using FI.FIC.Models; +using IronIntel.Contractor.Users; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; + +namespace IronIntel.Contractor +{ + public class HostService + { + private FICUserInfo _User; + private FICNetRequestObject _Request; + public FICNetRequestObject Request + { + get { return _Request; } + set + { + _Request = value; + if (value == null) + { + return; + } + _User = FICHostEnvironment.GetUserByLoginSessionID(value.SessionID); + } + } + + public static UserInfoItem[] GetAllUsers(bool hasAdmin = false) + { + //UserInfoItem[] users = UserManagement.GetAllUsers(hasAdmin); + //List ls = new List(); + //foreach (UserInfoItem ui in users) + //{ + // ui.UserType = UserManagement.GetUserTypeByIID(ui.IID); + // ls.Add(ui); + //} + //return ls.ToArray(); + throw new NotImplementedException(); + } + + public string CurrentUserIID + { + get { return _User == null ? null : _User.IID; } + } + + public string CurrentUserName + { + get { return _User == null ? null : _User.DisplayName; } + } + + public string ClientLanguage + { + get { return _Request == null ? ResManager.DefaultLanguage : _Request.LanguageID; } + } + + public string DeleteUserGroup(string iid) + { + try + { + UserManagement.DeleteGroup(iid); + } + catch (Exception ex) + { + SystemParams.WriteLog("ERROR", "DeleteUserGroup", ex.Message, ex.ToString()); + throw new Exception(ResManager.GetLanguage("LHBIS_EXCEPTION_E0X6502704C")); // "Failed to delete the user group." + } + return null; + } + + public UserManagementItem[] GetUsers() + { + //var users = GetAllUsers(); + //var items = new List(); + + //var groups = UserManagement.GetUserGroupMapping().Rows.Cast(); + + //for (int i = 0; i < users.Length; i++) + //{ + // if (string.Compare(users[i].ID, "admin", true) == 0) + // { + // continue; + // } + // var item = ConvertFromFICUser(users[i]); + // // fill default param + // item.DefaultWspIID = UserParametersInfo.GetUserSystemParameter(EMUserDefaultInfoType.DefaultWorkSpace, users[i].IID); + // item.DefaultMobileWspIID = UserParametersInfo.GetUserSystemParameter(EMUserDefaultInfoType.DefaultWorkSpace4Mobile, users[i].IID); + // // fill groups + // var gs = groups + // .Where(g => g["USERID"].ToString().ToUpper() == users[i].IID.ToUpper()) + // .Select(g => g["GROUPNAME"]); + // item.Groups = string.Join("; ", gs); + + // items.Add(item); + //} + //return items.ToArray(); + throw new NotImplementedException(); + } + + private UserManagementItem ConvertFromFICUser(UserInfoItem user) + { + var item = new UserManagementItem + { + IID = user.IID, + ID = user.ID, + DisplayName = user.DisplayName, + Email = user.Email, + Mobile = user.Mobile, + BusinessPhone = user.BusinessPhone, + UserType = user.UserType, + Enabled = user.Enabled, + Active = user.Enabled ? "Yes" : "No", + UserMode = user.UserMode + }; + switch (user.UserType) + { + case FICUserTypes.Admin: + case FICUserTypes.SuperAdmin: + item.UserLevel = "Admin"; + break; + case FICUserTypes.Common: + item.UserLevel = "User"; + break; + default: + item.UserLevel = "Read Only User"; + break; + } + return item; + } + + private static Regex reg_userid = new Regex("^[a-zA-Z0-9_-]+$"); + private static Regex reg_email = new Regex(@"^([a-zA-Z0-9]+[-_.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9-_]+\.)*[a-zA-Z]{2,4}$"); + + private bool IsAdminOrSuper(FICUserTypes type) + { + return type == FICUserTypes.Admin || type == FICUserTypes.SuperAdmin; + } + private string VerifyPermission(string iid) + { + return VerifyPermission(new UserManagementItem + { + IID = iid, + UserType = FICUserTypes.Readonly + }); + } + private string VerifyPermission(UserManagementItem user) + { + var currentUser = FICHostEnvironment.GetUserByIID(CurrentUserIID); + var flag = false; + if (string.IsNullOrEmpty(user.IID)) + { + if (!IsAdminOrSuper(currentUser.UserType) && + user.UserType == FICUserTypes.Admin) + { + flag = true; + } + } + else + { + var olduser = FICHostEnvironment.GetUserByIID(user.IID); + //if (olduser.UserType == FICUserTypes.Admin) + if (currentUser.UserType < user.UserType) + { + flag = true; + } + } + if (flag) + { + SystemParams.WriteLog("ERROR", "SaveUser", "user try to edit user with illegal permission.", string.Format("current user: {0}, {1}", CurrentUserIID, CurrentUserName)); + return ResManager.GetLanguage("ERROR_LHBIS_FIC_BLC_BLWORKSPACE_A0034"); // "The user does not have the required access rights."; + } + return null; + } + + public string SaveUser(FICUserInfo user, string password, string[] groups) + { + var item = new UserManagementItem + { + IID = user.IID, + ID = user.ID, + DisplayName = user.DisplayName, + Mobile = user.Mobile, + BusinessPhone = user.BusinessPhone, + Email = user.Email, + UserType = user.UserType, + DefaultWspIID = user.DefaultWspIID, + DefaultMobileWspIID = user.DefaultMobileWspIID, + Enabled = user.Enabled, + Password = password, + GroupIIDs = groups + }; + return SaveUser(item, null); + } + + private string SaveUser(UserManagementItem user, string subject) + { + if (user == null) + { + return "User param is invalid."; + } + + // 权限验证 + var r = VerifyPermission(user); + if (r != null) + { + return r; + } + + if (string.IsNullOrWhiteSpace(user.ID)) + { + return ResManager.GetLanguage("LHBIS_FIC_CLIENT_MODULES_USERMANAGERCTRL_A023"); // "User ID cannot be empty."; + } + if (!reg_email.Match(user.ID).Success && !reg_userid.Match(user.ID).Success) + { + return ResManager.GetLanguage("LHBIS_FIC_CLIENT_MODULES_USERMANAGERCTRL_A056"); // "The user ID must contain only letters, numbers, underlines, minus signs or an email address."; + } + if (string.IsNullOrWhiteSpace(user.DisplayName)) + { + return ResManager.GetLanguage("LHBIS_FIC_CLIENT_MODULES_USERMANAGERCTRL_A024"); // "User name cannot be empty."; + } + if (!string.IsNullOrWhiteSpace(user.Email) && !reg_email.Match(user.Email).Success) + { + return ResManager.GetLanguage("LHBIS_FIC_CLIENT_MODULES_USERMANAGERCTRL_A066"); // "Email address is invalid."; + } + user.ID = user.ID.Trim(); + if (user.ID.Length > 100) + { + user.ID = user.ID.Substring(0, 100); + } + if (user.DisplayName != null && user.DisplayName.Length > 100) + { + user.DisplayName = user.DisplayName.Substring(0, 100); + } + if (user.Password != null && user.Password.Length > 300) + { + user.Password = user.Password.Substring(0, 300); + } + if (user.Mobile != null && user.Mobile.Length > 50) + { + user.Mobile = user.Mobile.Substring(0, 50); + } + if (user.BusinessPhone != null && user.BusinessPhone.Length > 50) + { + user.BusinessPhone = user.BusinessPhone.Substring(0, 50); + } + + // groups + + + string result = SaveUser(new UserInfoItem + { + IID = user.IID, + ID = user.ID, + DisplayName = user.DisplayName, + Enabled = user.Enabled, + Mobile = user.Mobile, + BusinessPhone = user.BusinessPhone, + Email = user.Email, + UserType = user.UserType, + DefaultWspIID = user.DefaultWspIID, + DefaultMobileWspIID = user.DefaultMobileWspIID + }, user.Password, user.GroupIIDs, subject); + if (result == null) + { + return "OK"; + } + return result; + } + + private string SaveUser(UserInfoItem user, string password, string[] groups, string subject) + { + //try + //{ + // if (string.IsNullOrEmpty(user.IID)) + // { + // UserManagement.AddUser(user, password, groups); + + // //UserManagement.AddUser(user, password, groups, subject, ClientLanguage); + // } + // else + // { + // UserManagement.EditUser(user, groups); + // } + // return null; + //} + //catch (Exception ex) + //{ + // return ex.Message; + //} + throw new NotImplementedException(); + } + + public string ResetPassword(string iid, string password) + { + // 权限验证 + //var r = VerifyPermission(iid); + //if (r != null) + //{ + // return r; + //} + + ////if (!string.IsNullOrEmpty(password)) + ////{ + //// password = HttpUtility.HtmlDecode(password); + ////} + //UserManagement.ResetPassword(iid, string.IsNullOrEmpty(password), password); + + //return null; + throw new NotImplementedException(); + } + + public string DeleteUser(string iid) + { + // 权限验证 + //var r = VerifyPermission(iid); + //if (r != null) + //{ + // return r; + //} + + //try + //{ + // UserManagement.DeleteUser(iid); + //} + //catch (Exception ex) + //{ + // FICHostEnvironment.WriteLog("ERROR", "", "DeleteUser", ex.Message, ex.ToString()); + // throw new Exception(ResManager.GetLanguage("LHBIS_EXCEPTION_E0X65027021")); // "Failed to delete the user." + //} + //return null; + throw new NotImplementedException(); + } + + public UserGroupSimple[] GetUserGroups(string iid) + { + UserGroupSimple[] groups = SearchLocalGroups(null); + var selected = FICHostEnvironment.GetUserGroupIDByUserIID(iid); + + foreach (var g in groups) + { + if (selected.Contains(g.UserGroupID)) + { + g.IsSelected = true; + } + } + return groups; + } + + public UserGroupSimple[] GetAllGroups() + { + var groups = SearchLocalGroups(null); + return groups; + } + + public List GetGroupMembers(string iid) + { + var users = FICHostEnvironment.GetUsers(); + if (string.IsNullOrEmpty(iid)) + { + iid = Guid.Empty.ToString(); + } + var selected = UserManagement.GetUserInfoByGoupid(iid); + + var list = new List(); + foreach (var u in users) + { + var item = new UserSimple + { + IID = u.IID, + UserID = u.ID, + UserName = u.DisplayName + }; + var su = selected.FirstOrDefault((t) => t.IID.Equals(u.IID, StringComparison.OrdinalIgnoreCase)); + if (su != null) + { + item.IsSelected = true; + } + list.Add(item); + } + return list; + } + + public string SaveGroup(string gs) + { + //gs = HttpUtility.HtmlDecode(gs); + var group = JsonConvert.DeserializeObject(gs); + + if (group == null) + { + return "Group param is invalid."; + } + if (string.IsNullOrWhiteSpace(group.Name)) + { + return ResManager.GetLanguage("LHBIS_FIC_CLIENT_MODULES_USERADDDIALOG_A004"); // "Group name cannot be empty."; + } + + // users + if (group.Name.Length > 100) + { + group.Name = group.Name.Substring(0, 100); + } + if (group.Description != null && group.Description.Length > 200) + { + group.Description = group.Description.Substring(0, 200); + } + + string result = SaveGroup(new UserGroupSimple + { + UserGroupID = group.IID, + UserGroupName = group.Name, + Description = group.Description, + }, group.UserIIDs); + if (result == null) + { + return "OK"; + } + return result; + } + + private string SaveGroup(UserGroupSimple group, string[] users) + { + try + { + var add = string.IsNullOrEmpty(group.UserGroupID); + bool isimport; + if (!add) + { + // import domain group + add = users == null && group.GroupMode == 1; + isimport = add; + } + else + { + isimport = false; + } + UserGroupInfo ug = new UserGroupInfo(); + ug.ID = group.UserGroupID; + ug.Name = group.UserGroupName; + ug.Notes = group.Description; + + List userList = new List(); + if (users != null) + { + foreach (string u in users) + { + userList.Add(new UserInfo() { IID = u }); + } + } + ug.Users = userList.ToArray(); + + if (add) + { + UserManagement.AddGroup(ug); + } + else + { + UserManagement.UpdateGroup(ug); + } + return null; + } + catch (Exception ex) + { + return ex.Message; + } + } + + public object[] GetUsersAndGroups() + { + // get users + var users = FICHostEnvironment.GetUsers().Where(u => u.UserType < FICUserTypes.Admin); + var groups = SearchLocalGroups(""); + + return new object[] + { + users, + groups + }; + } + + public UserGroupSimple[] SearchLocalGroups(string prefix) + { + return UserManagement.SearchLocalGroups(prefix).OrderBy(m => m.UserGroupName).ToArray(); + } + + public UserSimple[] GetPermissionUsers() + { + List userSimples = new List(); + + UserInfoItem[] userInfos = UserManagement.GetPermissionUsers(); + + foreach (var userInfo in userInfos) + { + UserSimple user = new UserSimple(); + user.IID = userInfo.IID; + user.UserID = userInfo.ID; + user.UserName = userInfo.DisplayName; + userSimples.Add(user); + } + + return userSimples.OrderBy(m => m.UserID).ToArray(); + } + + public UserPermissionData[] GetUserOrGroupPermission(string UserOrGroup, string objIID) + { + return UserManagement.GetUserOrGroupPermission(UserOrGroup, objIID, CurrentUserIID); + } + + #region - System Options - + + public void SaveConnectorConfigs(string[] configs) + { + if (configs != null) + { + SystemParams.SetFICStringParameter("ConnectorServer", configs[0] ?? ""); + SystemParams.SetFICStringParameter("ConnectorToken", configs[1] ?? ""); + } + } + + public void SaveLDAPConnector(string[] configs) + { + if (configs != null) + { + SystemParams.SetFICStringParameter("LdapAgentID", configs[0] ?? ""); + SystemParams.SetFICStringParameter("LdapAgentToken", configs[1] ?? ""); + } + } + + public void SaveRedisConfigs(bool enabled, string token) + { + if (token != null) + { + token = token.Replace('\n', ';'); + } + SystemParams.SetFICStringParameter("RedisEnabled", enabled ? "Yes" : "No"); + SystemParams.SetFICStringParameter("RedisToken", token); + } + + public object GetRedisConfigs() + { + return new + { + Enabled = SystemParams.RedisEnabled, + RedisToken = SystemParams.RedisToken + }; + } + + #endregion + } +} diff --git a/IronIntelContractorBusiness/IIColor.cs b/IronIntelContractorBusiness/IIColor.cs new file mode 100644 index 0000000..98f78d5 --- /dev/null +++ b/IronIntelContractorBusiness/IIColor.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor +{ + public class IIColor + { + public byte Alpha { get; set; } + public byte Red { get; set; } + public byte Green { get; set; } + public byte Blue { get; set; } + } +} diff --git a/IronIntelContractorBusiness/IronIntelContractorBusiness.csproj b/IronIntelContractorBusiness/IronIntelContractorBusiness.csproj new file mode 100644 index 0000000..eb52e4d --- /dev/null +++ b/IronIntelContractorBusiness/IronIntelContractorBusiness.csproj @@ -0,0 +1,223 @@ + + + + + Debug + AnyCPU + {515FB61F-F032-4A48-8F32-93B59B9D37F8} + Library + Properties + IronIntel.Contractor + iicontractorbl + v4.7.2 + 512 + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + + + LHBIS.snk + + + + ..\Reflib\DocumentFormat.OpenXml.dll + + + ..\Reflib\FIASPNETCache.dll + + + ..\Reflib\FICacheManager.Redis.dll + + + ..\Reflib\FICachManager.dll + + + ..\Reflib\FIC\FICBLC.dll + + + ..\Reflib\FIC\FICIntf.dll + + + False + ..\Reflib\FIC\FICIntfAdv.dll + + + ..\Reflib\FIC\FICModels.dll + + + ..\Reflib\FICore.dll + + + False + ..\Reflib\FICore.std.dll + + + ..\Reflib\FICoreDbCreator.dll + + + ..\Reflib\FIWinLib.dll + + + ..\Reflib\FleetClientBase.dll + + + ..\Reflib\FleetServiceClient.dll + + + ..\Reflib\Foresight.ServiceModel.dll + + + ..\Reflib\iisitebase.dll + + + ..\Reflib\iisyslib.dll + + + ..\Site\Bin\ironcontractorwinlib.dll + + + ..\Reflib\irondbobjlib.dll + + + ..\Reflib\IronIntel.ServiceModel.Client.dll + + + ..\Site\Bin\IronIntel.Services.Contractor.dll + + + ..\Reflib\IronIntelServiceModel.dll + + + ..\Reflib\IronIntelSysClient.dll + + + ..\Reflib\Newtonsoft.Json.dll + + + + + + ..\packages\System.Data.SqlClient.4.6.0\lib\net461\System.Data.SqlClient.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Designer + + + + + + + + + + copy "$(TargetFileName)" "$(ProjectDir)\..\Site\Bin\$(TargetFileName)" + + + \ No newline at end of file diff --git a/IronIntelContractorBusiness/IronintelHost.cs b/IronIntelContractorBusiness/IronintelHost.cs new file mode 100644 index 0000000..f9fa54c --- /dev/null +++ b/IronIntelContractorBusiness/IronintelHost.cs @@ -0,0 +1,559 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Data; +using System.Net.Mail; +using System.IO; +using System.Xml; +using Newtonsoft.Json; +using Foresight.Data; +using Foresight.Security.License; +using FI.FIC; +using IronIntel.Contractor.Users; +using FI.FIC.Contracts.DataObjects.Enumeration; +using System.Web; +using System.Runtime.Serialization.Formatters.Binary; + +namespace IronIntel.Contractor +{ + public class IronIntelHost : IFICHost + { + static readonly Guid FIC_MODULE_ID = new Guid("1c6dfe25-347d-4889-ab75-73ade9190d27"); + const string FIC_MODULE_NAME = "Foresight Intelligence Center"; + const string FIC_MODULE_VERSION = "3.0"; + + public string FICDbConnectionString + { + get + { + return SystemParams.FICDbConnectionString; + } + } + + public string FrsDbConnectionString + { + get + { + return string.Empty; + } + } + public bool FICInstalled + { + get + { + return true; + } + } + + public bool FRSInstalled + { + get + { + return false; + } + } + + public static void Init() + { + FICHostEnvironment.SetHost(new IronIntelHost()); + } + + public byte[] GetCacheData(string key, bool ignoreExpired, ref DateTime createTime) + { + byte[] buffer = CacheManager.GetValue(key); + if (buffer == null) + { + return null; + } + byte[] tmp = Foresight.Security.SecurityHelper.Decompress(buffer); + FICCacheObject fc = new FICCacheObject(); + fc.FromBuffer(tmp); + createTime = fc.CreateTime; + return fc.Data; + } + + public DataTable GetCacheDataTable(string key, bool ignoreExpired, ref DateTime createTime) + { + byte[] buffer = GetCacheData(key, ignoreExpired, ref createTime); + if (buffer == null) + { + return null; + } + //FIDataTable tb = new FIDataTable(); + //tb.FillFromBuffer(buffer); + //return FIDbAccess.ConvertDataTable(tb); + return Deserialize(buffer) as DataTable; + } + + public FICCompanyInfo GetCompanyInfo() + { + var cp = SystemParams.CustomerDetail; + FICCompanyInfo ficcp = new FICCompanyInfo(); + ficcp.ID = cp.ID; + ficcp.Name = cp.Name; + + return ficcp; + } + + public CompanyLic GetLicense() + { + IronIntel.Services.LicenseInfo lic = SystemParams.GetLicense(); + if (lic == null) + { + return null; + } + CompanyLic ci = new CompanyLic(); + ci.CompanyID = SystemParams.CompanyID; + ci.CompanyName = SystemParams.CustomerDetail.Name; + + Foresight.Security.License.LicenseInfo li = new LicenseInfo(); + ci.Licenses.Add(li); + li.CompanyID = ci.CompanyID; + li.CompanyName = ci.CompanyName; + li.Expiration = lic.ExpireDate; + li.ID = Guid.Empty; + li.StartDate = lic.StartDate; + li.ModuleID = FIC_MODULE_ID; + li.ModuleName = FIC_MODULE_NAME; + li.Version = FIC_MODULE_VERSION; + + foreach (var item in lic.Items) + { + var prop = ConvertLicenseItem(item); + if (prop != null) + { + li.AddtionalPropertes.Add(prop); + } + } + + return ci; + } + + private LicenseAddtionalPropertyObj ConvertLicenseItem(Services.LicenseItem item) + { + if (item == null) + return null; + switch (item.Key) + { + case "ColumnLineCombChart": + return new LicenseAddtionalPropertyObj { Key = "ColumnLineCombChart", Value = item.Value, Description = item.Description }; + case "ExportChartToXPS": + return new LicenseAddtionalPropertyObj { Key = "ExportChartToXPS", Value = item.Value, Description = item.Description }; + case "FreeChart": + return new LicenseAddtionalPropertyObj { Key = "FreeChart", Value = item.Value, Description = item.Description }; + case "DrilldownToURL": + return new LicenseAddtionalPropertyObj { Key = "DrilldownToURL", Value = item.Value, Description = item.Description }; + case "MaxCharts": + return new LicenseAddtionalPropertyObj { Key = "MaxCharts", Value = item.Value, Description = item.Description }; + case "MaxDataTables": + return new LicenseAddtionalPropertyObj { Key = "MaxDataTables", Value = item.Value, Description = item.Description }; + case "PrintChart": + return new LicenseAddtionalPropertyObj { Key = "PrintChart", Value = item.Value, Description = item.Description }; + case "ScatterChart": + return new LicenseAddtionalPropertyObj { Key = "ScatterChart", Value = item.Value, Description = item.Description }; + case "Snapshot": + return new LicenseAddtionalPropertyObj { Key = "Snapshot", Value = item.Value, Description = item.Description }; + case "SQLGenerator": + return new LicenseAddtionalPropertyObj { Key = "SQLGenerator", Value = item.Value, Description = item.Description }; + case "EmailSubscribe": + return new LicenseAddtionalPropertyObj { Key = "EmailSubscribe", Value = item.Value, Description = item.Description }; + //case "MainStyle": + //case "MaxAdminCount": + //case "MaxLogins": + //case "MaxNormalUerCount": + //case "MaxReadOnlyUserCount": + } + return null; + } + + public string GetResourceLock(string resourceid, int locksecond) + { + return SystemParams.GetResourceLock(resourceid, locksecond); + } + + private static FICUserInfo ConvertToFICUserInfo(IronIntel.Contractor.Users.UserInfo ui) + { + var user = new FICUserInfo + { + ID = ui.ID, + IID = ui.IID, + Enabled = ui.Active, + DisplayName = ui.DisplayName, + //Mobile = ui.Mobile, + Mobile = ui.TextAddress, + BusinessPhone = ui.BusinessPhone, + }; + switch (ui.UserType) + { + case UserTypes.Common: + user.UserType = FICUserTypes.Common; + break; + case UserTypes.Admin: + user.UserType = FICUserTypes.Admin; + break; + case UserTypes.Readonly: + user.UserType = FICUserTypes.Readonly; + break; + case UserTypes.SupperAdmin: + user.UserType = FICUserTypes.SuperAdmin; + break; + default: + user.UserType = FICUserTypes.Readonly; + break; + } + return user; + } + + public FICUserInfo GetUserByIID(string useriid) + { + UserInfo ui = UserManagement.GetUserByIID(useriid); + if (ui == null) + { + return null; + } + return ConvertToFICUserInfo(ui); + } + + public FICUserInfo GetUserByLoginSessionID(string sessionid) + { + UserInfo ui = UserManagement.GetUserBySessionID(sessionid); + if (ui == null) + { + return null; + } + return ConvertToFICUserInfo(ui); + } + + public FICUserInfo GetUserByUserID(string userId) + { + UserInfo ui = UserManagement.GetUserByID(userId); + if (ui == null) + { + return null; + } + return ConvertToFICUserInfo(ui); + } + + public FICUserInfo[] GetUsers() + { + UserInfo[] users = UserManagement.GetUsers(); + List ls = new List(users.Length); + foreach (UserInfo ui in users) + { + ls.Add(ConvertToFICUserInfo(ui)); + } + return ls.ToArray(); + } + + public string GetUserEmail(string useriid) + { + UserInfo ui = UserManagement.GetUserByIID(useriid); + if (ui == null) + { + return null; + } + else + { + return ui.ID; + } + } + + public void PostMessage(int category, string msg) + { + return; + } + + public void ReleaseResourceLock(string lockid) + { + SystemParams.ReleaseResourceLock(lockid); + } + + public void RemoveCache(string key) + { + CacheManager.Remove(key); + } + + public void SendMail(MailMessage message) + { + try + { + SystemParams.SendMail("FIC", message); + } + catch (Exception ex) + { + SystemParams.WriteLog("Error", this.GetType().FullName + ".SendMail(MailMessage)", "Add fic mail to mail service failed", ex.ToString()); + } + } + + public void SetCacheData(string key, byte[] buffer, int expirationsecond, bool slidingExpiration, DateTime createTime) + { + if (buffer == null) + { + RemoveCache(key); + return; + } + FICCacheObject fc = new FICCacheObject(); + fc.Data = buffer; + fc.CreateTime = createTime; + + byte[] tmp = Foresight.Security.SecurityHelper.Compress(fc.ToBuffer()); + CacheManager.SetValue(key, tmp, TimeSpan.FromSeconds(expirationsecond)); + } + + public void SetCacheDataTable(string key, DataTable dt, int expirationsecond, bool slidingExpiration, DateTime createTime) + { + if (dt == null) + { + RemoveCache(key); + } + else + { + //FIDataTable tb = FIDbAccess.ConvertDataTable(dt, -1); + byte[] buffer = Serialize(dt, createTime); + SetCacheData(key, buffer, expirationsecond, slidingExpiration, createTime); + } + } + + public void SubscribeMessage(int category, Action> action) + { + return; + } + + public void WriteLog(string logType, string category, string source, string message, string detail) + { + SystemParams.WriteLog(logType, category, source, message, detail); + } + + public List GetUserGroupIDByUserIID(string userIID) + { + return UserManagement.GetUserGroupIDByUserIID(userIID); + } + + public FICUserInfo[] GetUsers(bool hasAdmin) + { + if (!hasAdmin) + { + return GetUsers(); + } + + UserInfo[] localusers = UserManagement.GetUsers(); + UserInfo[] foresightusers = UserManagement.GetForesightUsers(); + UserInfo[] users = localusers.Union(foresightusers).ToArray(); + List ls = new List(users.Length); + foreach (UserInfo ui in users) + { + //if (ui.UserType == UserTypes.Admin) + //{ + ls.Add(ConvertToFICUserInfo(ui)); + //} + } + return ls.ToArray(); + } + + public LoginContext GetCurrentLoginContext(HttpContext context) + { + string session = Site.IronIntelBasePage.GetLoginSessionID(context.Request); + if (string.IsNullOrWhiteSpace(session)) + { + return null; + } + + LoginContext lc = new LoginContext(); + lc.SessionID = session; + lc.User = GetUserByLoginSessionID(session); + lc.LanguageID = GetLgID(context); + return lc; + } + + private string GetLgID(HttpContext context) + { + var language = context.Request.Cookies[Common.LanguageCookieName]; + if (language != null) + { + return language.Value; + } + return ResLanguage.ClientCurrentLanguage; + } + + public string ProductEdition + { + get + { + return "General"; + } + } + + public string FIExternalDBConnectionString + { + get + { + return string.Empty; + } + } + + public TimeSpan BaseUtcOffset + { + get + { + var timezone = CustomerTimeZoneInfo; + return timezone.BaseUtcOffset; + } + } + + public TimeZoneInfo CustomerTimeZoneInfo + { + get + { + return SystemParams.CustomerDetail.TimeZone; + } + } + + public string FICommonDbConnectionString + { + get { return string.Empty; } + } + + public string GetStyleDefines(string useriid) + { + //StringBuilder s = new StringBuilder(); + //s.Append(@""); + //s.Append(""); + //s.Append("<Background>#ff00ff</Background><Foreground>#222222</Foreground>"); + //s.Append("<Background>#333333</Background><Foreground>#444444</Foreground>#555555"); + //s.Append("<Background>#666666</Background><Foreground>#777777</Foreground>"); + //s.Append(""); + //return s.ToString(); + Services.CustUIStyle uistyle = SystemParams.GetUIStyle(useriid); + + StringBuilder s = new StringBuilder(); + s.Append(@""); + s.Append(""); + s.Append("<Background></Background><Foreground>#000000</Foreground>"); + s.Append("<Background>" + uistyle.ChartTitleBackgroundColor + "</Background><Foreground></Foreground>" + uistyle.ChartBorderColor + ""); + //s.Append("<Background>#666666</Background><Foreground>#777777</Foreground>"); + s.Append(""); + return s.ToString(); + } + public Dictionary GetAdditionalParameter() + { + return SystemParams.GetAdditionalParameter(); + } + + public FICUserInfo[] GetSimpleUsers(bool hasAdmin) + { + var users = GetUsers(hasAdmin); + List ls = new List(); + foreach (var user in users) + { + var us = new FICUserInfo(); + us.IID = user.IID; + us.ID = user.ID; + us.DisplayName = user.DisplayName; + ls.Add(us); + } + return ls.ToArray(); + } + + public SpecialDatabaseConnectionInfo[] GetSpecialDatabaseConnections() + { + const string IRONINTELMASTERDB = "10000000-0000-0000-0000-100000000000"; + const string REPORTDB = "10000000-0000-0000-0000-100000000001"; + // const string IATC = "10000000-0000-0000-0000-100000000002"; + + List ls = new List(); + SpecialDatabaseConnectionInfo mast = new SpecialDatabaseConnectionInfo(); + mast.ID = IRONINTELMASTERDB; + mast.DisplayName = "FleetView"; + mast.DatabaseType = "MSSQL"; + mast.ConnectionString = SystemParams.DataDbConnectionString; + ls.Add(mast); + + string rptstr = SystemParams.GetIronIntelReportDataDbString(); + if (!string.IsNullOrWhiteSpace(rptstr)) + { + SpecialDatabaseConnectionInfo rptdb = new SpecialDatabaseConnectionInfo(); + rptdb.ID = REPORTDB; + rptdb.DisplayName = "FleetView Report"; + rptdb.DatabaseType = "MSSQL"; + rptdb.ConnectionString = rptstr; + ls.Add(rptdb); + } + return ls.ToArray(); + } + + class FICCacheObject + { + public byte[] Data = null; + public DateTime CreateTime = DateTime.Now; + + public byte[] ToBuffer() + { + byte[] rst = new byte[Data.Length + 8]; + byte[] bf1 = BitConverter.GetBytes(CreateTime.Ticks); + Buffer.BlockCopy(bf1, 0, rst, 0, 8); + Buffer.BlockCopy(Data, 0, rst, 8, Data.Length); + + return rst; + } + + public void FromBuffer(byte[] buffer) + { + long l = BitConverter.ToInt64(buffer, 0); + CreateTime = new DateTime(l); + Data = new byte[buffer.Length - 8]; + Buffer.BlockCopy(buffer, 8, Data, 0, buffer.Length - 8); + } + } + + #region - (De)Serialize - + + private static byte[] Serialize(object obj, DateTime createtime) + { + if (obj == null) + { + return null; + } + var cacheObj = new RedisCacheObject + { + CreateTime = createtime, + Data = obj + }; + byte[] data; + using (var ms = new MemoryStream()) + { + new BinaryFormatter().Serialize(ms, cacheObj); + data = ms.ToArray(); + } + return data; + } + + private static object Deserialize(byte[] buffer) + { + using (var ms = new MemoryStream(buffer, false)) + { + return new BinaryFormatter().Deserialize(ms); + } + } + + public byte[] GetCompanyLogo() + { + return SystemParams.GetCompanyLOGO(SystemParams.CompanyID); + } + + + + #endregion + + + [Serializable] + public class RedisCacheObject + { + public DateTime CreateTime { get; set; } + public object Data { get; set; } + } + + } + +} diff --git a/IronIntelContractorBusiness/JobSites/JobSitesManagement.cs b/IronIntelContractorBusiness/JobSites/JobSitesManagement.cs new file mode 100644 index 0000000..7f940dd --- /dev/null +++ b/IronIntelContractorBusiness/JobSites/JobSitesManagement.cs @@ -0,0 +1,621 @@ +using Foresight; +using Foresight.Data; +using Foresight.Fleet.Services.Asset; +using Foresight.Fleet.Services.JobSite; +using Foresight.ServiceModel; +using IronIntel.Contractor.Machines; +using IronIntel.Contractor.MapView; +using IronIntel.Contractor.Shape; +using IronIntel.Services.Business.Admin; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.JobSites +{ + public class JobSitesManagement + { + private const string MachineFields = "{0}MACHINEID,{0}MACHINENAME,{0}MAKEID,{0}MODELID,{0}TYPEID,{0}MACHINEICONID,{0}DEVICEID,{0}VIN,{0}MAKEYEAR,{0}NOTES,{0}STATUS,{0}CONTRACTORID,{0}DEALERID,{0}UID,{0}ADDEDON,{0}CUR_LONGITUDE,{0}CUR_LATITUDE,{0}LOCDATE_UTC,{0}ENGINEHOURS,{0}HOURSDATE_UTC,{0}DATASOURCE,{0}HIDE,{0}FUEL_CONSUMED,{0}FUEL_UNITS,{0}FUEL_DATE,{0}ODOMETER,{0}ODODATE_UTC,{0}ODOMETERUOM,{0}FUELCOST,{0}FUELCOSTUOM,{0}MACHINERATE,{0}WORKTYPE,{0}RETIREMENTHOURS,{0}RETIREMENTODO,{0}ALTITUDE,{0}ALTITUDEUNITS,{0}IDLEHOURSUTC,{0}IDLEHOURS,{0}LOADCOUNTUTC,{0}LOADCOUNT,{0}PAYLOADTOTALUTC,{0}PAYLOADTOTAL,{0}PAYLOADTOTALUNITS,{0}DEFREMAININGUTC,{0}DEFREMAINING,{0}FUELREMAININGUTC,{0}FUELREMAININGPERCENT,{0}MACHINENAME2,{0}ONROAD,{0}LEASESTART,{0}LEASEEND,{0}LEASEHOURS,{0}UNDERCARRIAGEHOURS,{0}ODOSTART2,{0}ISDELETED,{0}DELETEDDATE,{0}ODOSTART2DATASOURCE,{0}LOCDATASOURCE,{0}HOURSDATASOURCE,{0}FUELDATASOURCE,{0}AQUISITIONTYPE,{0}ICONFILENAME,{0}STARTINGENGINEHOURS,{0}DISTANCECALCBY,{0}TELEMATICSENABLED,{0}COSTCENTER,{0}EQCLASS,{0}DESCRIPTION"; + + + public static JobSiteViewItem GetJobSiteByID(string jobsiteid) + { + const string sql = @"select JOBSITEID,JOBSITENAME,LATITUDE,LONGITUDE,RADIUS,RADUIS_UOM,CONTRACTORID,COLOR,NOTES,STARTDATE,ENDDATE,POLYGON,BASEONMACHINEID,ISDELETED from JOBSITES where JOBSITEID={0}"; + + FISqlConnection db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(sql, jobsiteid); + + JobSiteViewItem result = null; + if (dt.Rows.Count > 0) + { + result = ConvertToJobSiteViewItem(dt.Rows[0]); + MachineViewItem[] msiary = GetJobSiteMachines(Convert.ToInt64(jobsiteid)); + if (msiary.Count() > 0) + { + result.Machines = msiary.OrderBy((m) => m.VIN).ToArray(); + } + else + { + result.Machines = null; + } + } + return result; + } + + + public static void RefreshJobsiteAssets(string sessionid, long jobsiteid) + { + System.Threading.ThreadPool.QueueUserWorkItem((object state) => + { + try + { + FleetServiceClientHelper.CreateClient(sessionid).RefreshAllJobSites(SystemParams.CompanyID, jobsiteid); + } + catch { } + }, null); + } + + public static void DeleteJobSites(long jobsiteid) + { + const string SQL = "delete from JOBSITES where JOBSITEID={0}" + + " delete from JOBSITETYPE where JOBSITEID={0}" + + " delete from JOBSITEMACHINES where JOBSITEID={0}" + + " delete from RELATIONSHIP where RELATIONSHIPTYPEID='ContactJobsite' and RELATEDID={0}"; + FIDbAccess db = SystemParams.GetDbInstance(); + db.ExecSQL(SQL, jobsiteid); + } + + + public static void AddMachinesToJobSite(JobSiteViewItem jobsite) + { + if (jobsite != null) + { + const string SQL_t = @"if exists(select 1 from JOBSITEMACHINES where JOBSITEID={0} and MACHINEID={1}) update JOBSITEMACHINES set ONSITE={3} where JOBSITEID={0} and MACHINEID = {1} else insert into JOBSITEMACHINES(JOBSITEID,MACHINEID,VIN,ADDEDON,ONSITE) values({0},{1},{2},getutcdate(),{3})"; + const string SQL_upt = "update JOBSITEMACHINES set ONSITE=0 where JOBSITEID!={0} and MACHINEID={1}"; + const string SQL_del = "select MACHINEID from JOBSITEMACHINES where JOBSITEID={0} "; + const string SQL_OUT = "exec pro_removejobsitemachines {0},{1},{2},{3},{4},{5},{6},{7}"; + + string ad = string.Empty; + if (jobsite.Machines != null && jobsite.Machines.Length > 0) + { + string machineids = string.Join(",", jobsite.Machines.Select(m => m.ID)); + ad = " and MACHINEID not in(" + machineids + ")"; + } + + using (FISqlTransaction tran = new FISqlTransaction(SystemParams.DataDbConnectionString)) + { + DataTable dt = tran.GetDataTableBySQL(SQL_del + ad, jobsite.ID); + foreach (DataRow dr in dt.Rows) + { + string mid = FIDbAccess.GetFieldString(dr["MACHINEID"], ""); + tran.ExecSQL(SQL_OUT, mid, jobsite.ID, DateTime.Now.ToUniversalTime(), null, null, null, null, "ManualRemove"); + } + + if (jobsite.Machines != null && jobsite.Machines.Length > 0) + { + foreach (MachineViewItem mac in jobsite.Machines) + { + if (mac.OnSite) + { + tran.ExecSQL(SQL_upt, jobsite.ID, mac.ID); + } + + tran.ExecSQL(SQL_t, jobsite.ID, mac.ID, mac.VIN, mac.OnSite ? 1 : 0); + } + } + tran.Commit(); + } + } + + } + + public static void AddMachineOnSiteToJobSite(FISqlConnection db, long machineid, string vin, int jobsiteid) + { + const string SQL_t = @"if exists(select 1 from JOBSITEMACHINES where JOBSITEID={0} and MACHINEID={1}) update JOBSITEMACHINES set ONSITE={3} + where JOBSITEID={0} and MACHINEID = {1} else insert into JOBSITEMACHINES(JOBSITEID,MACHINEID,VIN,ADDEDON,ONSITE) values({0},{1},{2},getutcdate(),{3})"; + const string SQL_upt = "update JOBSITEMACHINES set ONSITE=0 where JOBSITEID!={0} and MACHINEID={1}"; + + if (db == null) + db = SystemParams.GetDbInstance(); + + db.ExecSQL(SQL_upt, jobsiteid, machineid); + if (jobsiteid > 0) + db.ExecSQL(SQL_t, jobsiteid, machineid, vin, 1); + } + + + + private static JobSiteViewItem ConvertToJobSiteViewItem(DataRow dr) + { + JobSiteViewItem js = new JobSiteViewItem(); + long JobSiteId = FIDbAccess.GetFieldInt(dr["JOBSITEID"], 0); + js.ID = FIDbAccess.GetFieldInt(dr["JOBSITEID"], 0); + js.Name = FIDbAccess.GetFieldString(dr["JOBSITENAME"], string.Empty); + js.Latitude = FIDbAccess.GetFieldDouble(dr["LATITUDE"], 0); + js.Longitude = FIDbAccess.GetFieldDouble(dr["LONGITUDE"], 0); + js.Radius = FIDbAccess.GetFieldDouble(dr["RADIUS"], 0); + js.Radius_UOM = FIDbAccess.GetFieldString(dr["RADUIS_UOM"], string.Empty); + if (string.IsNullOrWhiteSpace(js.Radius_UOM)) + js.Radius_UOM = "Mile"; + js.ContractorID = FIDbAccess.GetFieldString(dr["CONTRACTORID"], string.Empty); + js.ColorString = FIDbAccess.GetFieldString(dr["COLOR"], string.Empty); + System.Drawing.Color color = System.Drawing.Color.Orange; + try + { + color = System.Drawing.ColorTranslator.FromHtml(js.ColorString); + } + catch + { + } + js.Color = new IIColor() { Alpha = color.A, Red = color.R, Green = color.G, Blue = color.B }; + + js.Notes = FIDbAccess.GetFieldString(dr["NOTES"], string.Empty); + js.StartDate = FIDbAccess.GetFieldDateTime(dr["STARTDATE"], DateTime.MinValue); + js.EndDate = FIDbAccess.GetFieldDateTime(dr["ENDDATE"], DateTime.MinValue); + string polygon = FIDbAccess.GetFieldString(dr["POLYGON"], string.Empty); + js.Polygon = ConvertPolygonToPointItem(polygon); + js.BaseOnMachineID = FIDbAccess.GetFieldInt(dr["BASEONMACHINEID"], 0); + js.IsDeleted = FIDbAccess.GetFieldInt(dr["ISDELETED"], 0) == 1; + if (js.IsDeleted) + js.Name = js.Name + " - Deleted"; + return js; + } + + private static PostionItem[] ConvertPolygonToPointItem(string polygon) + { + if (string.IsNullOrWhiteSpace(polygon)) + return null; + + List list = new List(); + var polygons = polygon.Split(';'); + foreach (var py in polygons) + { + PostionItem pi = new PostionItem(); + var sap = py.Split(','); + pi.Latitude = Convert.ToDouble(sap[0]); + pi.Longitude = Convert.ToDouble(sap[1]); + list.Add(pi); + } + return list.ToArray(); + } + + private static string ConvertPointItemToPolygon(PostionItem[] points) + { + string polygon = string.Empty; + if (points == null || points.Length < 0) + { + return polygon; + } + foreach (var pi in points) + { + if (string.IsNullOrWhiteSpace(polygon)) + polygon += pi.Latitude + "," + pi.Longitude; + else + polygon += ";" + pi.Latitude + "," + pi.Longitude; + } + return polygon; + } + + + private static MachineViewItem[] GetJobSiteMachines(long JobSiteId) + { + const string sql_j = @"select jm.MACHINEID,ISNULL(ONSITE,0) ONSITE,m.VIN,m.MACHINENAME,m.MACHINENAME2,m.TYPEID from JOBSITEMACHINES jm left join machines m on jm.MACHINEID=m.MACHINEID where JOBSITEID={0}"; + FISqlConnection db = SystemParams.GetDbInstance(); + DataTable dt = null; + dt = db.GetDataTableBySQL(sql_j, JobSiteId); + + if (dt.Rows.Count == 0) + { + return new MachineViewItem[0]; + } + List list = new List(); + foreach (DataRow dr in dt.Rows) + { + MachineViewItem mi = new MachineViewItem(); + mi.ID = FIDbAccess.GetFieldInt64(dr["MACHINEID"], 0); + mi.OnSite = FIDbAccess.GetFieldInt(dr["ONSITE"], 0) == 1; + mi.Name = FIDbAccess.GetFieldString(dr["MACHINENAME"], string.Empty); + mi.Name2 = FIDbAccess.GetFieldString(dr["MACHINENAME2"], string.Empty); + mi.VIN = FIDbAccess.GetFieldString(dr["VIN"], string.Empty); ; + mi.TypeID = FIDbAccess.GetFieldInt(dr["TYPEID"], 0); + list.Add(mi); + } + return list.ToArray(); + } + + /// + /// 获取机器OnSite状态的JobSite + /// + /// + public static Dictionary GetOnSiteMahcines(FISqlConnection db) + { + const string SQL_J = "select JOBSITEID,MACHINEID from JOBSITEMACHINES where ONSITE=1"; + + if (db == null) + db = SystemParams.GetDbInstance(); + DataTable tb = db.GetDataTableBySQL(SQL_J); + Dictionary result = new Dictionary(); + + foreach (DataRow dr in tb.Rows) + { + int machineid = FIDbAccess.GetFieldInt(dr["MACHINEID"], 0); + int jobsiteid = FIDbAccess.GetFieldInt(dr["JOBSITEID"], 0); + result[machineid] = jobsiteid; + } + return result; + } + + /// + /// 获取机器OnSite状态的JobSite + /// + /// + /// + /// + public static int GetOnSiteByMachineID(FISqlConnection db, long machineid) + { + const string SQL_J = "select JOBSITEID from JOBSITEMACHINES where ONSITE=1 and MACHINEID={0}"; + + if (db == null) + db = SystemParams.GetDbInstance(); + DataTable tb = db.GetDataTableBySQL(SQL_J, machineid); + int jobsiteid = 0; + if (tb.Rows.Count > 0) + jobsiteid = FIDbAccess.GetFieldInt(tb.Rows[0]["JOBSITEID"], 0); + + return jobsiteid; + } + + #region Machines + + public static AvailableMachines GetMachineViewItemByType(string sessionid, string jobsiteid, string typeid, string searchText, string useriid) + { + AvailableMachines result = new AvailableMachines(); + string SQL_J = @"select m.*,js.JOBSITEID,js.JOBSITENAME,js.LATITUDE,js.LONGITUDE,jsm.ADDEDON as JSMADDEDON,ONSITE from MACHINES m + left join JOBSITEMACHINES as jsm on m.MACHINEID = jsm.MACHINEID and jsm.ONSITE=1 + left join JOBSITES as js on js.JOBSITEID= jsm.JOBSITEID"; + + const string SQL_L = @"select AssetId as MACHINEID,LATITUDE,LONGITUDE,AsofTime as ASOFTIME_UTC,MOVESTATUS,HEADING, Speed,SpeedUnits,PostedSpeedLimit,SpeedLimitUnits,Street from AssetLocation where IsPrimary=1"; + + if (!string.IsNullOrWhiteSpace(typeid)) + { + Regex r = new Regex(@"[a-zA-Z]"); + if (r.IsMatch(typeid)) + return result; + SQL_J += " and m.TYPEID=" + typeid + ""; + } + + FIDbAccess db = SystemParams.GetDbInstance(); + DataTable tb = db.GetDataTableBySQL(SQL_J); + if (tb.Rows.Count == 0) + { + result.Assigned = new MachineViewItem[0]; + result.Unassigned = new MachineViewItem[0]; + return result; + } + + double timeadjust = SystemParams.GetHoursOffset(); + DataTable tbl = null; + string dbString2 = SystemParams.GetIronIntelReportDataDbString(); + if (!string.IsNullOrWhiteSpace(dbString2)) + { + var db2 = new FISqlConnection(dbString2); + tbl = db2.GetDataTableBySQL(SQL_L); + } + + Dictionary machineLocations = new Dictionary(); + if (tbl != null && tbl.Rows.Count > 0) + { + foreach (DataRow dr in tbl.Rows) + { + long mID = FIDbAccess.GetFieldInt64(dr["MACHINEID"], 0); + var l = new LocationViewItem(); + l.Latitude = FIDbAccess.GetFieldDouble(dr["LATITUDE"], 0); + l.Longitude = FIDbAccess.GetFieldDouble(dr["LONGITUDE"], 0); + l.LocationTime = FIDbAccess.GetFieldDateTime(dr["ASOFTIME_UTC"], DateTime.MinValue); + if (l.LocationTime != DateTime.MinValue) + l.LocationTime = l.LocationTime.AddHours(timeadjust); + + machineLocations[mID] = l; + } + } + + long[] availableAssetsids = null; + var user = Users.UserManagement.GetUserByIID(useriid); + if (user.UserType < Users.UserTypes.Admin) + availableAssetsids = FleetServiceClientHelper.CreateClient(sessionid).GetAvailableAssetsForUsers(SystemParams.CompanyID, useriid); + + MachineManagement.RefreshBaseData(); + MachineMake[] makes = MachineManagement.GetMachineMakes(); + MachineModel[] models = MachineManagement.GetMachineModels(); + MachineType[] types = MachineManagement.GetMachineTypes(); + + List assigned = new List(); + List unassigned = new List(); + JobSiteViewItem jobsite = GetJobSiteByID(jobsiteid); + if (tb.Rows.Count > 0) + { + foreach (DataRow dr in tb.Rows) + { + long mid = Convert.ToInt64(dr["MACHINEID"]); + if (user.UserType < Users.UserTypes.Admin && !availableAssetsids.Contains(mid)) + continue; + MachineViewItem mi = ConvertToMachineViewItem(dr, makes, models, types, timeadjust); + if (machineLocations.ContainsKey(mi.ID)) + mi.Location = machineLocations[mi.ID]; + + if (!string.IsNullOrWhiteSpace(searchText)) + { + if (!Helper.Contains(mi.VIN, searchText) + && !Helper.Contains(mi.ID.ToString(), searchText) + && !Helper.Contains(mi.Name, searchText) + && !Helper.Contains(mi.Name2, searchText) + && !Helper.Contains(mi.Make, searchText) + && !Helper.Contains(mi.MachineType, searchText) + && !Helper.Contains(mi.Model, searchText)) + { + continue; + } + } + mi.JobSiteName = FIDbAccess.GetFieldString(dr["JOBSITENAME"], string.Empty); + Postion mPoint = new Postion(mi.Location.Latitude, mi.Location.Longitude); + Postion jsPoint = new Postion(jobsite.Latitude, jobsite.Longitude); + mi.DistanceFromSite = Foresight.Haversine.GetDistanceKilometers(mPoint, jsPoint); + + if (jobsite.Polygon != null && jobsite.Polygon.Length > 3)//多边形,计算机器是否在Jobsite内 + mi.WithinSite = Haversine.IsInSide(new Postion(mi.Location.Latitude, mi.Location.Longitude), ConvertToPosition(jobsite.Polygon));//由于FICore.dll中Postion的Longtitude存在拼写错误,在前端容易引起混淆,使用加了PostionItem + + + if (string.Compare(jobsite.Radius_UOM, "Kilometre", true) != 0)//转换 + mi.DistanceFromSite = mi.DistanceFromSite * 0.6213712; + mi.DistanceFromSite = Math.Round(mi.DistanceFromSite, 2); + + bool hide = FIDbAccess.GetFieldInt(dr["HIDE"], 0) == 1; + if (!hide && (dr["JOBSITEID"] is DBNull || string.IsNullOrWhiteSpace(dr["JOBSITEID"].ToString()))) + unassigned.Add(mi); + else + assigned.Add(mi); + } + } + if (jobsite.Radius > 0) + { + result.Assigned = assigned.OrderBy((m) => m.DistanceFromSite).ToArray(); + result.Unassigned = unassigned.OrderBy((m) => m.DistanceFromSite).ToArray(); + } + else + { + result.Assigned = assigned.OrderBy((m) => !m.WithinSite).ThenBy((m) => m.DistanceFromSite).ToArray(); + result.Unassigned = unassigned.OrderBy((m) => !m.WithinSite).ThenBy((m) => m.DistanceFromSite).ToArray(); + } + return result; + } + + /// + /// 获取可用于Jobsite 绑定的机器,Calamp和FI Tracker + /// + /// + /// + public static MachineViewItem[] GetBindingMachines(string sessionid, string useriid) + { + List result = new List(); + string SQL = @"select " + string.Format(MachineFields, "m.") + @" from MACHINES m order by m.MACHINENAME"; + + const string SQL_L = @"select AssetId as MACHINEID,LATITUDE,LONGITUDE,AsofTime as ASOFTIME_UTC,MOVESTATUS,HEADING,Speed,SpeedUnits,PostedSpeedLimit,SpeedLimitUnits,Street from AssetLocation where IsPrimary=1 and Datasource in ('Calamp','FITRACKER')"; + + FIDbAccess db = SystemParams.GetDbInstance(); + DataTable tb = db.GetDataTableBySQL(SQL, useriid); + if (tb.Rows.Count == 0) + { + return new MachineViewItem[0]; + } + + double timeadjust = SystemParams.GetHoursOffset(); + DataTable tbl = null; + string dbString2 = SystemParams.GetIronIntelReportDataDbString(); + if (!string.IsNullOrWhiteSpace(dbString2)) + { + var db2 = new FISqlConnection(dbString2); + tbl = db2.GetDataTableBySQL(SQL_L); + } + + Dictionary machineLocations = new Dictionary(); + if (tbl != null && tbl.Rows.Count > 0) + { + foreach (DataRow dr in tbl.Rows) + { + long mID = FIDbAccess.GetFieldInt64(dr["MACHINEID"], 0); + var l = new LocationViewItem(); + l.Latitude = FIDbAccess.GetFieldDouble(dr["LATITUDE"], 0); + l.Longitude = FIDbAccess.GetFieldDouble(dr["LONGITUDE"], 0); + l.LocationTime = FIDbAccess.GetFieldDateTime(dr["ASOFTIME_UTC"], DateTime.MinValue); + if (l.LocationTime != DateTime.MinValue) + l.LocationTime = l.LocationTime.AddHours(timeadjust); + + machineLocations[mID] = l; + } + } + + long[] availableAssetsids = null; + var user = Users.UserManagement.GetUserByIID(useriid); + if (user.UserType < Users.UserTypes.Admin) + availableAssetsids = FleetServiceClientHelper.CreateClient(sessionid).GetAvailableAssetsForUsers(SystemParams.CompanyID, useriid); + + MachineManagement.RefreshBaseData(); + MachineMake[] makes = MachineManagement.GetMachineMakes(); + MachineModel[] models = MachineManagement.GetMachineModels(); + MachineType[] types = MachineManagement.GetMachineTypes(); + + if (tb.Rows.Count > 0) + { + foreach (DataRow dr in tb.Rows) + { + long mid = FIDbAccess.GetFieldInt64(dr["MACHINEID"], 0); + if (user.UserType < Users.UserTypes.Admin && !availableAssetsids.Contains(mid)) + continue; + MachineViewItem mi = ConvertToMachineViewItem(dr, makes, models, types, timeadjust); + if (machineLocations.ContainsKey(mi.ID)) + { + mi.Location = machineLocations[mi.ID]; + result.Add(mi); + } + } + } + return result.ToArray(); + } + + private static MachineViewItem ConvertToMachineViewItem(DataRow dr, MachineMake[] makes, MachineModel[] models, MachineType[] types, double timeadjust) + { + MachineViewItem mi = new MachineViewItem(); + mi.ID = FIDbAccess.GetFieldInt64(dr["MACHINEID"], 0); + mi.Name = FIDbAccess.GetFieldString(dr["MACHINENAME"], string.Empty); + mi.Name2 = FIDbAccess.GetFieldString(dr["MACHINENAME2"], string.Empty); + mi.VIN = FIDbAccess.GetFieldString(dr["VIN"], string.Empty); + mi.MakeYear = FIDbAccess.GetFieldInt(dr["MAKEYEAR"], 0); + mi.EngineHours = FIDbAccess.GetFieldDouble(dr["ENGINEHOURS"], 0); + mi.EngineHoursDate = FIDbAccess.GetFieldDateTime(dr["HOURSDATE_UTC"], DateTime.MinValue); + if (mi.EngineHoursDate != DateTime.MinValue) + mi.EngineHoursDate = mi.EngineHoursDate.AddHours(timeadjust); + + mi.Location = new LocationViewItem(); + mi.Location.Latitude = FIDbAccess.GetFieldDouble(dr["CUR_LATITUDE"], 0); + mi.Location.Longitude = FIDbAccess.GetFieldDouble(dr["CUR_LONGITUDE"], 0); + mi.Location.LocationTime = FIDbAccess.GetFieldDateTime(dr["LOCDATE_UTC"], DateTime.MinValue); + if (mi.Location.LocationTime != DateTime.MinValue) + mi.Location.LocationTime = mi.Location.LocationTime.AddHours(timeadjust); + + mi.Odometer = FIDbAccess.GetFieldDouble(dr["ODOMETER"], 0); + mi.OdometerUOM = FIDbAccess.GetFieldString(dr["ODOMETERUOM"], string.Empty); + + int makeid = FIDbAccess.GetFieldInt(dr["MAKEID"], 0); + MachineMake make = MachineManagement.GetMachineMake(makes, makeid); + mi.Make = make == null ? string.Empty : make.Name; + + int modelid = FIDbAccess.GetFieldInt(dr["MODELID"], 0); + MachineModel model = MachineManagement.GetMachineModel(models, modelid); + mi.Model = model == null ? string.Empty : model.Name; + + int typeid = FIDbAccess.GetFieldInt(dr["TYPEID"], 0); + mi.TypeID = typeid; + MachineType mtype = MachineManagement.GetMachineType(types, typeid); + if (mtype != null) + { + mi.MachineType = mtype.Name; + mi.IconUrl = mtype.IconUrl; + } + else + { + mi.MachineType = string.Empty; + mi.IconUrl = MachineManagement.DefaultMachineTypeIconUrl; + } + return mi; + } + + private static Foresight.Postion[] ConvertToPosition(PostionItem[] polygon) + { + if ((polygon == null) || (polygon.Length == 0)) + { + return new Foresight.Postion[0]; + } + List ls = new List(polygon.Length); + foreach (var p in polygon) + { + ls.Add(new Postion(p.Latitude, p.Longitude)); + } + return ls.ToArray(); + } + + #endregion + + public static MachineTypeItem[] GetMachineTypes() + { + List mTypes = new List(); + MachineType[] types = MachineManagement.GetMachineTypes(); + if (types != null) + { + foreach (var t in types) + { + mTypes.Add(new MachineTypeItem() { ID = t.ID, Name = t.Name }); + } + } + return mTypes.ToArray(); + } + + private static Dictionary> GetJobSiteTypes(FISqlConnection db) + { + + const string SQL = "select JOBSITEID,JOBSITETYPE from JOBSITETYPE"; + + Dictionary> result = new Dictionary>(); + if (db == null) + db = SystemParams.GetDbInstance(); + DataTable tb = db.GetDataTableBySQL(SQL); + + foreach (DataRow dr in tb.Rows) + { + long jobsiteid = FIDbAccess.GetFieldInt64(dr["JOBSITEID"], 0); + string type = FIDbAccess.GetFieldString(dr["JOBSITETYPE"], string.Empty); + if (!result.ContainsKey(jobsiteid)) + result[jobsiteid] = new List(); + result[jobsiteid].Add(type); + } + return result; + } + + private static void SaveJobSiteTypes(FIDbAccess db, long jobsiteid, string[] types) + { + const string SQL = "insert into JOBSITETYPE(JOBSITEID,JOBSITETYPE) values({0},{1})"; + const string SQL_DEL = "delete from JOBSITETYPE where JOBSITEID={0}"; + + if (db == null) + db = SystemParams.GetDbInstance(); + + db.ExecSQL(SQL_DEL, jobsiteid); + if (types != null) + { + foreach (string type in types) + { + db.ExecSQL(SQL, jobsiteid, type); + } + } + } + public static JobSiteViewItem[] GetUserJobsites(string uid) + { + const string SQL = @"select a.JOBSITEID,JOBSITENAME,LATITUDE,LONGITUDE,RADIUS,RADUIS_UOM,b.CONTRACTORID,COLOR,NOTES,STARTDATE,ENDDATE,POLYGON, BASEONMACHINEID,ISDELETED from USERJOBSITEMAP a,JOBSITES b where a.JOBSITEID=b.JOBSITEID and a.USERIID={0}"; + + FISqlConnection db = SystemParams.GetDbInstance(); + DataTable tb = db.GetDataTableBySQL(SQL, uid); + if (tb.Rows.Count == 0) + { + return new JobSiteViewItem[0]; + } + List ls = new List(); + foreach (DataRow dr in tb.Rows) + { + JobSiteViewItem js = ConvertToJobSiteViewItem(dr); + ls.Add(js); + } + return ls.ToArray(); + + } + + /// + /// 从Shape文件导入Jobsite范围 + /// + /// + /// + /// + public static MapPoint[] ImportJobsitePolygon(string filename, byte[] buffer) + { + Shape.Shape shape = new Shape.Shape(); + ShapeFileParser.ParseFromShapeFile(buffer, shape); + if (shape.Polygons.Count > 0 && shape.Polygons[0].Rings.Count > 0) + { + return shape.Polygons[0].Rings[0].Points.ToArray(); + } + return new MapPoint[0]; + } + } +} diff --git a/IronIntelContractorBusiness/LHBIS.snk b/IronIntelContractorBusiness/LHBIS.snk new file mode 100644 index 0000000000000000000000000000000000000000..bb71a518ae18e6b1c7a4e4057c21ed4835d06325 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50096Q7aUpkzAcz{f1?NoVA^#YGG&FB;24!K zA}o<$oj}Pmr@nu)WLKLdhvJ&Zz!$`=k+xr`J+?c@()h@$k}R$hnW0rV^$C5Kum4$; z+XTM@92|Mej@SPaq73zx8+M~_zKRrSnG1f+bK!}MsPdeo+l~XUVGwiq@v#SySMFdkPZSmM)V=d*k?r+p$x3g}z^aMtH5 z))e(^i$yr10bjIN;av5@vTp{hMS-@N`&@K&y+J3R7)$h)5p6~*L0EWQmC7p{P`Eza z(qfoFG3H#W${6KjY!rS+)Z>DHWbci0L_zed;w@XjZlNG0ZfEDu z{ZfVGta?zX3SCX10hVT&Hk1jmM#r~{F7y9!6a`DZ4^m-b#zVUAF3i+uEom-IIuQSG zu@?e^D|w$%+}lvRY`|SDV7Tr=A=()Q2<1YHeNvvM(ZWqE-ojNJrSOhAUUG=qUXE2k zJW|#B&Kx((}^bv(1b`^)vK&u1vBGrEkJZB)R z`Y=PluLp4MAwrjFP#nGR7g}$Y5w^u;;;Kmbh!8LT^Q=q+od-+AB#5Km=RHg+Zhb*K io9yj01-4rzdKT^W^o@#D#4ZRMJwq_OGP_&tu^g1TCKPi3 literal 0 HcmV?d00001 diff --git a/IronIntelContractorBusiness/MachineDetailWorkspace.cs b/IronIntelContractorBusiness/MachineDetailWorkspace.cs new file mode 100644 index 0000000..5f8b285 --- /dev/null +++ b/IronIntelContractorBusiness/MachineDetailWorkspace.cs @@ -0,0 +1,95 @@ +using Foresight.ServiceModel; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml.Linq; + +namespace IronIntel.Contractor +{ + public class MachineDetailWorkspace + { + private const string MachineDetailWSP = "MachineDetailWSP"; + private const string Path = "fic/FIC.aspx?IID={0}&wspivots={1}"; + + public static string GenerateMachineDetailWSPURL(string machineid, string vin, out int openMode) + { + var config = GetConfig(); + openMode = config.OpenMode; + List pvs = new List(); + if (!string.IsNullOrEmpty(config.MachineIDPivotIID)) + { + WorkspacePivotItem pv = new WorkspacePivotItem(); + pv.iid = config.MachineIDPivotIID; + pv.vals = new string[] { machineid }; + pvs.Add(pv); + } + if (!string.IsNullOrEmpty(config.VINPivotIID)) + { + WorkspacePivotItem pv = new WorkspacePivotItem(); + pv.iid = config.VINPivotIID; + pv.vals = new string[] { vin }; + pvs.Add(pv); + } + + string pivotString = JsonConvert.SerializeObject(pvs); + pivotString = System.Web.HttpUtility.UrlEncode(pivotString); + string url = string.Format(Path, config.WorkspaceIID, pivotString); + return url; + } + + public static MachineDetailWorkspaceConfig GetConfig() + { + MachineDetailWorkspaceConfig config = new MachineDetailWorkspaceConfig(); + string value = SystemParams.GetStringParam(MachineDetailWSP, false); + //wspid=00000000-0000-0000-0000-000000000000&pivotid=00000000-0000-0000-0000-000000000000&openmode=0 + if (!string.IsNullOrEmpty(value)) + { + string[] temps = value.Split('&'); + foreach (string temp in temps) + { + string[] kv = temp.Split('='); + if (kv.Length == 2) + { + if (string.Equals("wspid", kv[0], StringComparison.OrdinalIgnoreCase)) + config.WorkspaceIID = kv[1]; + else if (string.Equals("midpivotid", kv[0], StringComparison.OrdinalIgnoreCase)) + config.MachineIDPivotIID = kv[1]; + else if (string.Equals("vinpivotid", kv[0], StringComparison.OrdinalIgnoreCase)) + config.VINPivotIID = kv[1]; + else if (string.Equals("openmode", kv[0], StringComparison.OrdinalIgnoreCase)) + { + int v = 0; + if (int.TryParse(kv[1], out v)) + config.OpenMode = v; + } + } + } + } + return config; + } + + private static void SetConfig(MachineDetailWorkspaceConfig config) + { + config.OpenMode = GetConfig().OpenMode;//OpenMode暂不修改 + string value = string.Format("wspid={0}&midpivotid={1}&vinpivotid={2}&openmode={3}", config.WorkspaceIID, config.MachineIDPivotIID, config.VINPivotIID, config.OpenMode); + SystemParams.SetStringParam(MachineDetailWSP, value); + } + } + + public class MachineDetailWorkspaceConfig + { + public string WorkspaceIID { get; set; } + public int OpenMode { get; set; } + public string MachineIDPivotIID { get; set; } + public string VINPivotIID { get; set; } + } + + public class WorkspacePivotItem + { + public string iid { get; set; } + public string[] vals { get; set; } + } +} diff --git a/IronIntelContractorBusiness/Machines/EngineHoursInfo.cs b/IronIntelContractorBusiness/Machines/EngineHoursInfo.cs new file mode 100644 index 0000000..8930a74 --- /dev/null +++ b/IronIntelContractorBusiness/Machines/EngineHoursInfo.cs @@ -0,0 +1,155 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Machines +{ + public class EngineHoursInfo + { + public long AssetID { get; set; } + public string DataSource { get; set; } + public string SubSource { get; set; } + public string DataSourceName { get; set; } + public DateTime AsofTime { get; set; } + public DateTime AsofTimeLocal { get; set; } + public bool IsPrimary { get; set; } + + public double Hours { get; set; } + public string UOM { get; set; } + + private double _Corrected; + public double Corrected + { + get + { + return _Corrected; + } + set + { + value = value > 0 ? value : 0; + _Corrected = Math.Round(value, 2); + } + } + public string ReceivedDateStr + { + get + { + return AsofTimeLocal.ToString(); + } + } + } + + public class AdjustEngineHoursInfo + { + public string CustomerID { get; set; } + public long AssetID { get; set; } + public DateTime EngineHoursDate { get; set; } + + private double _EngineHours; + public double EngineHours + { + get + { + return _EngineHours; + } + set + { + value = value > 0 ? value : 0; + _EngineHours = Math.Round(value, 2); + } + } + public string Notes { get; set; } + /// + /// 前端选择的时区的分钟偏移 + /// + public int OffsetMinute { get; set; } + } + + + public class CalampEngineHoursInfo + { + public long AssetId { get; set; } + public string DeviceAirId { get; set; } + public DateTime AsofTime { get; set; } + public string UOM { get; set; } + public double Gps { get; set; } + public double Gps_Calc { get; set; } + public double VBUS { get; set; } + public double VBUS_Calc { get; set; } + public string EventTimeText + { + get + { + return AsofTime.ToString("MM/dd/yyyy HH:mm"); + } + } + public DateTime AsofTime_Local { get; set; } + public string EventTimeLocalText + { + get + { + return AsofTime_Local.ToString("MM/dd/yyyy HH:mm"); + } + } + } + + + public class PedigreeEngineHoursInfo + { + public long AssetId { get; set; } + public string DeviceSN { get; set; } + public DateTime AsofTime { get; set; } + public string UOM { get; set; } + public double VBUS { get; set; } + public double VBUS_Calc { get; set; } + public string EventTimeText + { + get + { + return AsofTime.ToString("MM/dd/yyyy HH:mm"); + } + } + public DateTime AsofTime_Local { get; set; } + public string EventTimeLocalText + { + get + { + return AsofTime_Local.ToString("MM/dd/yyyy HH:mm"); + } + } + } + + public class AssetEngineHoursAdjustItem + { + public long LogId { get; set; } + public long AssetId { get; set; } + public DateTime AdjustmentTime { get; set; } + public string AdjustmentTimeText { get { return AdjustmentTime.ToString("MM/dd/yyyy HH:mm"); } } + public DateTime EngineHoursTime { get; set; } + public string EngineHoursTimeText { get { return EngineHoursTime.ToString("MM/dd/yyyy HH:mm"); } } + public DateTime AdjustmentLocalTime { get; set; } + public string AdjustmentLocalTimeText { get { return AdjustmentLocalTime.ToString("MM/dd/yyyy HH:mm"); } } + public DateTime EngineHoursLocalTime { get; set; } + public string EngineHoursLocalTimeText { get { return EngineHoursLocalTime.ToString("MM/dd/yyyy HH:mm"); } } + + private double _EngineHours; + public double EngineHours + { + get + { + return _EngineHours; + } + set + { + value = value > 0 ? value : 0; + _EngineHours = Math.Round(value, 2); + } + } + + public string Notes { get; set; } + public string UserName { get; set; } + + } +} diff --git a/IronIntelContractorBusiness/Machines/FuelusedInfo.cs b/IronIntelContractorBusiness/Machines/FuelusedInfo.cs new file mode 100644 index 0000000..78060cd --- /dev/null +++ b/IronIntelContractorBusiness/Machines/FuelusedInfo.cs @@ -0,0 +1,31 @@ +using Foresight.Fleet.Services.Asset; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Machines +{ + public class FuelusedInfo + { + public long AssetID { get; set; } + public string DataSource { get; set; } + public string SubSource { get; set; } + public string DataSourceName { get; set; } + public DateTime AsofTime { get; set; } + public DateTime AsofTimeLocal { get; set; } + public bool IsPrimary { get; set; } + + public double Amount { get; set; } + public double Percent { get; set; } + public string UOM { get; set; } + public string ReceivedDateStr + { + get + { + return AsofTimeLocal.ToString(); + } + } + } +} diff --git a/IronIntelContractorBusiness/Machines/IdlehoursInfo.cs b/IronIntelContractorBusiness/Machines/IdlehoursInfo.cs new file mode 100644 index 0000000..1ba9532 --- /dev/null +++ b/IronIntelContractorBusiness/Machines/IdlehoursInfo.cs @@ -0,0 +1,30 @@ +using Foresight.Fleet.Services.Asset; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Machines +{ + public class IdlehoursInfo + { + public long AssetID { get; set; } + public string DataSource { get; set; } + public string SubSource { get; set; } + public string DataSourceName { get; set; } + public DateTime AsofTime { get; set; } + public DateTime AsofTimeLocal { get; set; } + public bool IsPrimary { get; set; } + + public double Hours { get; set; } + public string UOM { get; set; } + public string ReceivedDateStr + { + get + { + return AsofTimeLocal.ToString(); + } + } + } +} diff --git a/IronIntelContractorBusiness/Machines/LocationInfo.cs b/IronIntelContractorBusiness/Machines/LocationInfo.cs new file mode 100644 index 0000000..b6ea6b0 --- /dev/null +++ b/IronIntelContractorBusiness/Machines/LocationInfo.cs @@ -0,0 +1,43 @@ +using Foresight.Fleet.Services.Asset; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Machines +{ + public class LocationInfo + { + public long AssetID { get; set; } + public string DataSource { get; set; } + public string SubSource { get; set; } + public string DataSourceName { get; set; } + public DateTime AsofTime { get; set; } + public DateTime AsofTimeLocal { get; set; } + public bool IsPrimary { get; set; } + + public string SpeedUnits { get; set; } + public double AccelerationMagnitude { get; set; } + public double Duration { get; set; } + public SpeedingBehaviors SpeedingBehavior { get; set; } + public HarshDrivingEvents HarshDringEvent { get; set; } + public string Street { get; set; } + public string SpeedLimitUnits { get; set; } + public double PostedSpeedLimit { get; set; } + public double Speed { get; set; } + public AssetMoveStatus MoveStatus { get; set; } + public string EventType { get; set; } + public int Heading { get; set; } + public double Longitude { get; set; } + public double Latitude { get; set; } + + public string ReceivedDateStr + { + get + { + return AsofTimeLocal.ToString(); + } + } + } +} diff --git a/IronIntelContractorBusiness/Machines/MachineItem.cs b/IronIntelContractorBusiness/Machines/MachineItem.cs new file mode 100644 index 0000000..549147a --- /dev/null +++ b/IronIntelContractorBusiness/Machines/MachineItem.cs @@ -0,0 +1,412 @@ +using Foresight.Fleet.Services.Asset; +using Foresight.ServiceModel; +using IronIntel.Services.Business.Admin; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Machines +{ + public class AssetBasicItem + { + public long ID { get; set; } + public string Name { get; set; } + public string Name2 { get; set; } + public string MakeName { get; set; } + public string ModelName { get; set; } + + private double _EngineHours; + public double EngineHours + { + get + { + return _EngineHours; + } + set + { + value = value > 0 ? value : 0; + _EngineHours = Math.Round(value, 2); + } + } + + public string CalampDeviceAirID { get; set; } + public bool TelematicsEnabled { get; set; } + public bool Hide { get; set; } + public bool OnRoad { get; set; } + public int MakeYear { get; set; } + public string DealerID { get; set; } + public string Dealer { get; set; } + public string ContractorID { get; set; } + public string Contractor { get; set; } + public string TypeName { get; set; } + public int ModelID { get; set; } + public int TypeID { get; set; } + public int MakeID { get; set; } + public string VIN { get; set; } + public DateTime? EngineHoursDate { get; set; } + public string DisplayName + { + get + { + //DisplayName取值顺序为Name2,Name,VIN,ID用于前端显示 + string name = Name2; + if (string.IsNullOrWhiteSpace(name)) + name = Name; + if (string.IsNullOrWhiteSpace(name)) + name = VIN; + if (string.IsNullOrWhiteSpace(name)) + name = ID.ToString(); + return name; + } + } + public string EngineHoursDateStr { get { return EngineHoursDate == null ? "" : EngineHoursDate.Value.ToShortDateString(); } } + public string EngineHoursDateTimeStr { get { return EngineHoursDate == null ? "" : EngineHoursDate.Value.ToString(); } } + } + + + public class AssetDetailItem2 + { + public bool IgnoreDuplicate { get; set; }//忽略重复 + public long ID { get; set; } + public string Name { get; set; } + public string Name2 { get; set; } + public string VIN { get; set; } + public int MakeID { get; set; } + public string MakeName { get; set; } + public int ModelID { get; set; } + public string ModelName { get; set; } + public int TypeID { get; set; } + public string TypeName { get; set; } + public int MakeYear { get; set; } + + private double? _EngineHours; + public double? EngineHours + { + get + { + return _EngineHours; + } + set + { + if (value != null) + _EngineHours = Math.Round(value.Value, 2); + else + _EngineHours = value; + } + } + + public DateTime? EngineHoursLocalTime { get; set; } + + private double? _Odometer; + public double? Odometer + { + get + { + return _Odometer; + } + set + { + if (value != null) + _Odometer = Math.Round(value.Value, 2); + else + _Odometer = value; + } + } + + public DateTime? OdometerLocalTime { get; set; } + public string OdometerUnits { get; set; } + public string Description { get; set; } + public string PairedDeviceSN { get; set; } + public double? UnderCarriageHours { get; set; } + public bool TelematicsEnabled { get; set; } + public bool Hidden { get; set; } + public bool OnRoad { get; set; } + public string EQClass { get; set; } + public string CostCenter { get; set; } + public string AquisitionType { get; set; } + public DateTime? AddedLocalTime { get; set; } + public DateTime? AddedTime { get; set; } + public string AddedByUserName { get; set; } + public string IconFileName { get; set; } + + public string ContractorID { get; set; } + + public long OnSiteJobsiteID { get; set; } + public string[] ContactIDs { get; set; } + public string[] MachineGroupIDs { get; set; } + public MachineRentalInfo MachineRental { get; set; } + public MachineAttributeClient[] MachineAttributes { get; set; } + public StringKeyValue[] VisibleOnWorkOrders { get; set; } + + + public string AddedOnStr + { + get { return AddedLocalTime == null ? "" : AddedLocalTime.Value.ToString("MM/dd/yyyy"); } + } + public string EngineHoursDateTimeStr + { + get { return EngineHoursLocalTime == null ? "" : EngineHoursLocalTime.Value.ToString("MM/dd/yyyy"); } + } + public string OdometerDateTimeStr + { + get { return OdometerLocalTime == null ? "" : OdometerLocalTime.Value.ToString("MM/dd/yyyy"); } + } + } + + public class MachineItem + { + public Int64 MachineID { get; set; } + public int TypeID { get; set; } + public string MachineType { get; set; } + public int ModelID { get; set; } + public string Model { get; set; } + public int MakeID { get; set; } + public string Make { get; set; } + public string MakeIconColor { get; set; } + public string VIN { get; set; } + public string Name { get; set; } + public string Name2 { get; set; } + public int MakeYear { get; set; } + public string Notes { get; set; } + public string ContractorID { get; set; } + public string Contractor { get; set; } + public string DealerID { get; set; } + public string Dealer { get; set; } + public int Status { get; set; } + public Int64 GpsDeviceID { get; set; } //空 -1 + public string GpsDeviceSN { get; set; } = string.Empty; //空 -1 + + public double StartingEngineHours { get; set; } + + private double _EngineHours; + public double EngineHours + { + get + { + return _EngineHours; + } + set + { + value = value > 0 ? value : 0; + _EngineHours = Math.Round(value, 2); + } + } + public DateTime EngineHoursDate { get; set; } + public string EngineHoursDateStr { get { return EngineHoursDate == DateTime.MinValue ? "" : EngineHoursDate.ToShortDateString(); } } + public string EngineHoursDateTimeStr { get { return EngineHoursDate == DateTime.MinValue ? "" : EngineHoursDate.ToString(); } } + public bool Hide { get; set; } + public double ODOStart2 { get; set; } + + private double _ODOMeter; + public double ODOMeter + { + get + { + return _ODOMeter; + } + set + { + value = value > 0 ? value : 0; + _ODOMeter = Math.Round(value, 2); + } + } + public DateTime ODOMeterDate { get; set; } + public string ODOMeterDateStr { get { return ODOMeterDate == DateTime.MinValue ? "" : ODOMeterDate.ToShortDateString(); } } + public string ODOMeterDateTimeStr { get { return ODOMeterDate == DateTime.MinValue ? "" : ODOMeterDate.ToString(); } } + public string ODOMeterUom { get; set; } + public double FuelCost { get; set; } + public string FuelCostUom { get; set; } + public double MachineRate { get; set; } + public string WorkType { get; set; } + public double RetirementHours { get; set; } + public double RetirementOdo { get; set; } + public bool OnRoad { get; set; } + public DateTime LeaseStart { get; set; } + public string LeaseStartStr { get { return LeaseStart == DateTime.MinValue ? "" : LeaseStart.ToShortDateString(); } } + public DateTime LeaseEnd { get; set; } + public string LeaseEndStr { get { return LeaseEnd == DateTime.MinValue ? "" : LeaseEnd.ToShortDateString(); } } + public double LeaseTerm { get; set; } + public double UndercarriageHours { get; set; } + public string AquisitionType { get; set; } + + public int OnSiteJobsiteID { get; set; } + public string[] ContactIDs { get; set; } + public MachineAttributeClient[] MachineAttributes { get; set; } + public string MachineIconFileName { get; set; } + public string DistanceCalcBy { get; set; } + public bool TelematicsEnabled { get; set; } + public string CostCenter { get; set; } + public string EqClass { get; set; } + public string Description { get; set; } + public string[] MachineGroupIDs { get; set; } + public MachineRentalInfo MachineRental { get; set; } + public StringKeyValue[] VisibleOnWorkOrders { get; set; } + public DateTime AddedOn { get; set; } + public string AddedOnStr { get { return AddedOn == DateTime.MinValue ? "" : AddedOn.ToShortDateString(); } } + public string AddedBy { get; set; } + public string AddedByName { get; set; } + public string ShowName + { + get + { + //Name取值顺序为Name2,Name,VIN,ID用于前端显示 + string name = Name2; + if (string.IsNullOrWhiteSpace(name)) + name = Name; + if (string.IsNullOrWhiteSpace(name)) + name = VIN; + if (string.IsNullOrWhiteSpace(name)) + name = MachineID.ToString(); + return name; + } + }//由于地图显示及排序的名称 + } + + public class MachineOffsetItem + { + public Int64 MachineID { get; set; } + public double Value { get; set; } + public double Offset { get; set; } + public string Notes { get; set; } + public OffsetTypes Type { get; set; } + } + + public class DeviceItem + { + public string ContractorID { get; set; } + + public string DeviceType { get; set; } + public int Status { get; set; } + public string Notes { get; set; } + public DateTime? ServiceStartDate { get; set; } + public DateTime? InvoiceDate { get; set; } + public DateTime? AddLocalDate { get; set; } + public DateTime? AddDate { get; set; } + public string InvoiceNumber { get; set; } + public PairedAssetItem PairedAsset { get; set; } + public string SourceName { get; set; } + public string Source { get; set; } + public string SourceDeviceId { get; set; } + public string AlternativeSerialNumber { get; set; } + public string SerialNumber { get; set; } + public long Id { get; set; } + public bool Active { get; } + public long DeviceID { get; set; } + public string AddDateStr { get { return AddLocalDate == null ? "" : AddLocalDate.Value.ToShortDateString(); } } + public string InvoiceDateStr { get { return InvoiceDate == null ? "" : InvoiceDate.Value.ToShortDateString(); } } + public string ServiceStartDateStr { get { return ServiceStartDate == null ? "" : ServiceStartDate.Value.ToShortDateString(); } } + } + + public class PairedAssetItem + { + public long Id { get; set; } + public string VIN { get; set; } + public string Name { get; set; } + public int Year { get; set; } + public string MakeName { get; set; } + public string ModelName { get; set; } + public string TypeName { get; set; } + public double? EngineHours { get; set; } + public DateTime? EngineHoursDate { get; set; } + public DateTime? EngineHoursLocalDate { get; set; } + public string EngineHoursDateStr { get { return EngineHoursLocalDate == null ? "" : EngineHoursLocalDate.Value.ToShortDateString(); } } + } + public class CommentItem + { + public long Id { get; set; } + public DateTime SubmitLocalDate { get; set; } + public string UserName { get; set; } + public string Comment { get; set; } + public string SubmitDateStr { get { return SubmitLocalDate == DateTime.MinValue ? "" : SubmitLocalDate.ToString(); } } + } + + public class MachineGroup + { + public string GroupID { get; set; } + public string GroupName { get; set; } + public string Description { get; set; } + public string Code { get; set; } + + public long[] MachineIDs { get; set; } + } + + public class AssetMakeItem + { + public int ID { get; set; } + public string Name { get; set; } + public string IconColor { get; set; } + public string AlterActiveName { get; set; } + public string AddedBy { get; set; }//companyid + public DateTime AddedDate { get; set; } + public string Synonyms { get; set; } + public bool CanEdit + { + get + { + return SystemParams.CompanyID.Equals(AddedBy, StringComparison.OrdinalIgnoreCase); + } + } + } + + public class AssetModelItem + { + public int ID { get; set; } + public string Name { get; set; } + public string AddedBy { get; set; }//companyid + public int MakeID { get; set; } + public string MakeName { get; set; } + public int TypeID { get; set; } + public string TypeName { get; set; } + public string Synonyms { get; set; } + + public bool CanEdit + { + get + { + return SystemParams.CompanyID.Equals(AddedBy, StringComparison.OrdinalIgnoreCase); + } + } + } + + public class MachineAttributeCategoryClient + { + public string Name { get; set; } + public string DisplayText { get; set; } + public int TabID { get; set; } + public string TabName { get; set; } + public int OrderIndex { get; set; } + public List MachineAttributes { get; set; } + } + + public class MachineAttributeClient + { + public int ID { get; set; } + public string DisplayText { get; set; } + public string Format { get; set; } + public string Description { get; set; } + public MachineAttributeDataTypes DataType { get; set; } + public bool Multiline { get; set; } + public int Length { get; set; } + public int Precision { get; set; } + public string Value { get; set; } + public bool Dropdown { get; set; } + public string DataSource { get; set; } + + } + + public class AssetAttachmentItem + { + public long ID { get; set; } + public long AssetId { get; set; } + public string FileName { get; set; } + public string AddedByUserIID { get; set; } + public string AddedByUserName { get; set; } + public string Notes { get; set; } + public bool VisibleOnWorkOrder { get; set; } + public DateTime AddedOn { get; set; } + public string AddedOnStr { get { return AddedOn.ToString(); } } + public byte[] FileData { get; set; } + } +} diff --git a/IronIntelContractorBusiness/Machines/MachineManagement.cs b/IronIntelContractorBusiness/Machines/MachineManagement.cs new file mode 100644 index 0000000..12f5cb2 --- /dev/null +++ b/IronIntelContractorBusiness/Machines/MachineManagement.cs @@ -0,0 +1,866 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Data; +using Foresight.Data; +using Foresight.ServiceModel; +using IronIntel.Services.Business.Admin; +using IronIntel.Services.MapView; +using IronIntel.Services.Customers; +using IronIntel.Contractor.Maintenance; +using Foresight.Fleet.Services.Asset; + +namespace IronIntel.Contractor.Machines +{ + public class MachineManagement + { + private static List _Makes = new List(); + private static object _sycmakes = new object(); + + private static List _MachineTypes = new List(); + private static object _syctypes = new object(); + + private static List _MachineModels = new List(); + private static object _sycmodels = new object(); + + private const string MachineFields = "{0}MACHINEID,{0}MACHINENAME,{0}MAKEID,{0}MODELID,{0}TYPEID,{0}MACHINEICONID,{0}DEVICEID,{0}VIN,{0}MAKEYEAR,{0}NOTES,{0}STATUS,{0}CONTRACTORID,{0}DEALERID,{0}UID,{0}ADDEDON,{0}CUR_LONGITUDE,{0}CUR_LATITUDE,{0}LOCDATE_UTC,{0}ENGINEHOURS,{0}HOURSDATE_UTC,{0}DATASOURCE,{0}HIDE,{0}FUEL_CONSUMED,{0}FUEL_UNITS,{0}FUEL_DATE,{0}ODOMETER,{0}ODODATE_UTC,{0}ODOMETERUOM,{0}FUELCOST,{0}FUELCOSTUOM,{0}MACHINERATE,{0}WORKTYPE,{0}RETIREMENTHOURS,{0}RETIREMENTODO,{0}ALTITUDE,{0}ALTITUDEUNITS,{0}IDLEHOURSUTC,{0}IDLEHOURS,{0}LOADCOUNTUTC,{0}LOADCOUNT,{0}PAYLOADTOTALUTC,{0}PAYLOADTOTAL,{0}PAYLOADTOTALUNITS,{0}DEFREMAININGUTC,{0}DEFREMAINING,{0}FUELREMAININGUTC,{0}FUELREMAININGPERCENT,{0}MACHINENAME2,{0}ONROAD,{0}LEASESTART,{0}LEASEEND,{0}LEASEHOURS,{0}UNDERCARRIAGEHOURS,{0}ODOSTART2,{0}ISDELETED,{0}DELETEDDATE,{0}ODOSTART2DATASOURCE,{0}LOCDATASOURCE,{0}HOURSDATASOURCE,{0}FUELDATASOURCE,{0}AQUISITIONTYPE,{0}ICONFILENAME,{0}STARTINGENGINEHOURS,{0}DISTANCECALCBY,{0}TELEMATICSENABLED,{0}COSTCENTER,{0}EQCLASS,{0}DESCRIPTION,{0}ADDEDBY"; + + static MachineManagement() + { + RefreshBaseData(); + } + + public static void RefreshBaseData() + { + RefreshMakes(); + RefreshModels(); + RefreshMachineTypes(); + } + + public static void RefreshMakes() + { + MachineMake[] mks = null; + MachineServiceClient2 mc = SystemParams.GetMachineServiceClient(); + try + { + mks = mc.GetMachineMakes(); + } + catch + { + } + if (mks != null) + { + lock (_sycmakes) + { + _Makes.Clear(); + _Makes.AddRange(mks); + } + } + } + + public static void RefreshMachineTypes() + { + MachineType[] mks = null; + MachineServiceClient2 mc = SystemParams.GetMachineServiceClient(); + try + { + mks = mc.GetMachineTypes(); + } + catch + { + } + if (mks != null) + { + lock (_syctypes) + { + _MachineTypes.Clear(); + _MachineTypes.AddRange(mks); + } + } + } + + public static void RefreshModels() + { + MachineModel[] mks = null; + MachineServiceClient2 mc = SystemParams.GetMachineServiceClient(); + try + { + mks = mc.GetMachineModels(); + } + catch + { + } + if (mks != null) + { + lock (_sycmodels) + { + _MachineModels.Clear(); + _MachineModels.AddRange(mks); + } + } + } + + public static MachineMake[] GetMachineMakes() + { + lock (_sycmakes) + { + return _Makes.ToArray(); + } + } + + public static MachineType[] GetMachineTypes() + { + lock (_syctypes) + { + return _MachineTypes.ToArray(); + } + } + + public static MachineModel[] GetMachineModels() + { + lock (_sycmodels) + { + return _MachineModels.ToArray(); + } + } + + public static MachineMake GetMachineMake(int makeid) + { + var makes = GetMachineMakes(); + foreach (var make in makes) + { + if (makeid == make.ID) + { + return make; + } + } + RefreshMakes(); + var makes2 = GetMachineMakes(); + foreach (var make in makes2) + { + if (makeid == make.ID) + { + return make; + } + } + return null; + } + + public static string GetMachineMakeName(int makeid) + { + var make = GetMachineMake(makeid); + return make == null ? string.Empty : make.Name; + } + + public static MachineModel GetMachineModel(int modelid) + { + var models = GetMachineModels(); + foreach (var model in models) + { + if (model.ID == modelid) + { + return model; + } + } + RefreshModels(); + var models2 = GetMachineModels(); + foreach (var model in models2) + { + if (model.ID == modelid) + { + return model; + } + } + return null; + } + + public static string GetMachineModelName(int modelid) + { + var model = GetMachineModel(modelid); + return model == null ? string.Empty : model.Name; + } + + public static MachineType GetMachineType(int typeid) + { + var types = GetMachineTypes(); + foreach (var mtype in types) + { + if (mtype.ID == typeid) + { + return mtype; + } + } + RefreshMachineTypes(); + var types2 = GetMachineTypes(); + foreach (var mtype in types2) + { + if (mtype.ID == typeid) + { + return mtype; + } + } + return null; + } + + public static string GetMachineTypeName(int typeid) + { + var mtype = GetMachineType(typeid); + return mtype == null ? string.Empty : mtype.Name; + } + + public static MachineMake GetMachineMake(IEnumerable makes, int id) + { + foreach (MachineMake mk in makes) + { + if (id == mk.ID) + { + return mk; + } + } + return null; + } + + public static MachineType GetMachineType(IEnumerable types, int id) + { + foreach (MachineType mk in types) + { + if (id == mk.ID) + { + return mk; + } + } + return null; + } + + public static MachineModel GetMachineModel(IEnumerable models, int id) + { + foreach (MachineModel mk in models) + { + if (id == mk.ID) + { + return mk; + } + } + return null; + } + + + + private static string _DefaultMachineTypeIconUrl = string.Empty; + + public static string DefaultMachineTypeIconUrl + { + get + { + if (string.IsNullOrWhiteSpace(_DefaultMachineTypeIconUrl)) + { + try + { + MachineServiceClient2 mc = SystemParams.GetMachineServiceClient(); + _DefaultMachineTypeIconUrl = mc.GetDefaultMachineTypeIconUrl(); + } + catch + { } + } + return _DefaultMachineTypeIconUrl; + } + } + + public static MachineAlertViewClient GetMachineAlertViewClient() + { + string[] address = SystemParams.SystemServiceAddresses; + MachineAlertViewClient ic = new MachineAlertViewClient(address[0]); + return ic; + } + + public static bool Contains(string text, string val) + { + if (!string.IsNullOrWhiteSpace(text)) + { + return text.IndexOf(val, StringComparison.OrdinalIgnoreCase) >= 0; + } + else + { + return false; + } + } + + public static void UpdateMachineHideStatus(IEnumerable> machines) + { + const string SQL = "update MACHINES set HIDE={1} where MACHINEID={0}"; + FISqlConnection db = SystemParams.GetDbInstance(); + foreach (Tuple mac in machines) + { + db.ExecSQL(SQL, mac.Item1, mac.Item2 ? 1 : 0); + } + } + + public static MachineItem GetMachineByID(string sessionid, long machineid, FIDbAccess db = null) + { + string SQL = "select " + string.Format(MachineFields, "") + " from MACHINES where MACHINEID={0}"; + + if (db == null) + { + db = SystemParams.GetDbInstance(); + } + DataTable tb = db.GetDataTableBySQL(SQL, machineid); + if (tb.Rows.Count == 0) + { + return null; + } + + MachineManagement.RefreshBaseData(); + MachineMake[] makes = MachineManagement.GetMachineMakes(); + MachineModel[] models = MachineManagement.GetMachineModels(); + MachineType[] types = MachineManagement.GetMachineTypes(); + + MachineItem mi = null; + if (tb.Rows.Count > 0) + { + mi = ConvertToMachineItem(tb.Rows[0], makes, models, types); + mi.AddedOn = FIDbAccess.GetFieldDateTime(tb.Rows[0]["ADDEDON"], DateTime.MinValue).AddHours(SystemParams.GetHoursOffset()); + mi.AddedBy = FIDbAccess.GetFieldString(tb.Rows[0]["ADDEDBY"], string.Empty); + if (!string.IsNullOrEmpty(mi.AddedBy)) + { + var user = Users.UserManagement.GetUserByIID(mi.AddedBy); + mi.AddedByName = user == null ? mi.AddedBy : user.DisplayName; + } + } + return mi; + } + + public static MachineItem[] GetMachines(string sessionid, string useriid, string searchtxt, string companyid = null) + { + string SQL = "select " + string.Format(MachineFields, "") + " from MACHINES order by MACHINENAME"; + + FIDbAccess db = null; + if (string.IsNullOrEmpty(companyid)) + { + companyid = SystemParams.CompanyID; + db = SystemParams.GetDbInstance(); + } + else + { + string connetionstring = SystemParams.GetDbStringByCompany(companyid); + db = new FISqlConnection(connetionstring); + } + + DataTable tb = db.GetDataTableBySQL(SQL); + if (tb.Rows.Count == 0) + { + return new MachineItem[0]; + } + long[] availableAssetsids = null; + IronIntel.Contractor.Users.UserInfo user = null; + if (!string.IsNullOrWhiteSpace(useriid)) + { + user = Users.UserManagement.GetUserByIID(useriid); + if (user.UserType < Users.UserTypes.Admin) + availableAssetsids = FleetServiceClientHelper.CreateClient(companyid, sessionid).GetAvailableAssetsForUsers(companyid, useriid); + } + + MachineManagement.RefreshBaseData(); + MachineMake[] makes = MachineManagement.GetMachineMakes(); + MachineModel[] models = MachineManagement.GetMachineModels(); + MachineType[] types = MachineManagement.GetMachineTypes(); + + List ls = new List(); + if (tb.Rows.Count > 0) + { + foreach (DataRow dr in tb.Rows) + { + long mid = FIDbAccess.GetFieldInt64(dr["MACHINEID"], 0); + if (!string.IsNullOrWhiteSpace(useriid) && user.UserType < Users.UserTypes.Admin && !availableAssetsids.Contains(mid)) + continue; + + MachineItem mi = ConvertToMachineItem(dr, makes, models, types); + if (!string.IsNullOrWhiteSpace(searchtxt)) + { + if (Helper.Contains(mi.VIN, searchtxt) + || Helper.Contains(mi.MachineID.ToString(), searchtxt) + || Helper.Contains(mi.Name, searchtxt) + || Helper.Contains(mi.Name2, searchtxt) + || Helper.Contains(mi.Make, searchtxt) + || Helper.Contains(mi.MachineType, searchtxt) + || Helper.Contains(mi.Model, searchtxt)) + { + ls.Add(mi); + } + } + else + { + ls.Add(mi); + } + } + } + return ls.ToArray(); + } + + + public static MachineItem[] GetSelectMachinesByRental(string sessionid, string useriid, string searchtxt, string companyid = null) + { + string SQL = "select " + string.Format(MachineFields, "") + " from MACHINES where AQUISITIONTYPE in ('Rental','Rerent','RPO') order by MACHINENAME"; + + FIDbAccess db = null; + if (string.IsNullOrEmpty(companyid)) + { + companyid = SystemParams.CompanyID; + db = SystemParams.GetDbInstance(); + } + else + { + string connetionstring = SystemParams.GetDbStringByCompany(companyid); + db = new FISqlConnection(connetionstring); + } + + DataTable tb = db.GetDataTableBySQL(SQL); + if (tb.Rows.Count == 0) + { + return new MachineItem[0]; + } + + long[] availableAssetsids = null; + var user = Users.UserManagement.GetUserByIID(useriid); + if (user.UserType < Users.UserTypes.Admin) + availableAssetsids = FleetServiceClientHelper.CreateClient(companyid, sessionid).GetAvailableAssetsForUsers(companyid, useriid); + + MachineManagement.RefreshBaseData(); + MachineMake[] makes = MachineManagement.GetMachineMakes(); + MachineModel[] models = MachineManagement.GetMachineModels(); + MachineType[] types = MachineManagement.GetMachineTypes(); + + List ls = new List(); + if (tb.Rows.Count > 0) + { + foreach (DataRow dr in tb.Rows) + { + long mid = FIDbAccess.GetFieldInt64(dr["MACHINEID"], 0); + if (user.UserType < Users.UserTypes.Admin && !availableAssetsids.Contains(mid)) + continue; + MachineItem mi = ConvertToMachineItem(dr, makes, models, types); + if (!string.IsNullOrWhiteSpace(searchtxt)) + { + if (Helper.Contains(mi.VIN, searchtxt) + || Helper.Contains(mi.MachineID.ToString(), searchtxt) + || Helper.Contains(mi.Name, searchtxt) + || Helper.Contains(mi.Name2, searchtxt) + || Helper.Contains(mi.Make, searchtxt) + || Helper.Contains(mi.MachineType, searchtxt) + || Helper.Contains(mi.Model, searchtxt)) + { + ls.Add(mi); + } + } + else + { + ls.Add(mi); + } + } + } + return ls.ToArray(); + } + + private static MachineItem ConvertToMachineItem(DataRow dr, MachineMake[] makes, MachineModel[] models, MachineType[] types) + { + MachineItem mi = new MachineItem(); + mi.MachineID = FIDbAccess.GetFieldInt(dr["MACHINEID"], 0); + mi.Name = FIDbAccess.GetFieldString(dr["MACHINENAME"], string.Empty); + mi.Name2 = FIDbAccess.GetFieldString(dr["MACHINENAME2"], string.Empty); + mi.VIN = FIDbAccess.GetFieldString(dr["VIN"], string.Empty); + mi.Notes = FIDbAccess.GetFieldString(dr["NOTES"], string.Empty); + mi.MakeYear = FIDbAccess.GetFieldInt(dr["MAKEYEAR"], 0); + mi.ContractorID = FIDbAccess.GetFieldString(dr["CONTRACTORID"], string.Empty); + mi.DealerID = FIDbAccess.GetFieldString(dr["DEALERID"], string.Empty); + mi.Status = FIDbAccess.GetFieldInt(dr["STATUS"], 0); + mi.StartingEngineHours = FIDbAccess.GetFieldDouble(dr["STARTINGENGINEHOURS"], 0); + mi.EngineHours = FIDbAccess.GetFieldDouble(dr["ENGINEHOURS"], 0); + mi.EngineHoursDate = FIDbAccess.GetFieldDateTime(dr["HOURSDATE_UTC"], DateTime.MinValue); + mi.Hide = FIDbAccess.GetFieldInt(dr["HIDE"], 0) == 1; + mi.ODOStart2 = FIDbAccess.GetFieldDouble(dr["ODOSTART2"], 0); + mi.ODOMeter = FIDbAccess.GetFieldDouble(dr["ODOMETER"], 0); + mi.ODOMeterDate = FIDbAccess.GetFieldDateTime(dr["ODODATE_UTC"], DateTime.MinValue); + mi.ODOMeterUom = FIDbAccess.GetFieldString(dr["ODOMETERUOM"], string.Empty); + mi.FuelCost = FIDbAccess.GetFieldDouble(dr["FUELCOST"], 0); + mi.FuelCostUom = FIDbAccess.GetFieldString(dr["FUELCOSTUOM"], string.Empty); + mi.MachineRate = FIDbAccess.GetFieldDouble(dr["MACHINERATE"], 0); + mi.WorkType = FIDbAccess.GetFieldString(dr["WORKTYPE"], string.Empty); + mi.RetirementHours = FIDbAccess.GetFieldDouble(dr["RETIREMENTHOURS"], 0); + mi.RetirementOdo = FIDbAccess.GetFieldDouble(dr["RETIREMENTODO"], 0); + + mi.MakeID = FIDbAccess.GetFieldInt(dr["MAKEID"], 0); + MachineMake make = MachineManagement.GetMachineMake(makes, mi.MakeID); + mi.Make = make == null ? string.Empty : make.Name; + + mi.ModelID = FIDbAccess.GetFieldInt(dr["MODELID"], 0); + MachineModel model = MachineManagement.GetMachineModel(models, mi.ModelID); + mi.Model = model == null ? string.Empty : model.Name; + + mi.TypeID = FIDbAccess.GetFieldInt(dr["TYPEID"], 0); + MachineType mtype = MachineManagement.GetMachineType(types, mi.TypeID); + mi.MachineType = mtype == null ? string.Empty : mtype.Name; + mi.OnRoad = FIDbAccess.GetFieldInt(dr["ONROAD"], 0) == 1; + mi.LeaseStart = FIDbAccess.GetFieldDateTime(dr["LEASESTART"], DateTime.MinValue); + mi.LeaseEnd = FIDbAccess.GetFieldDateTime(dr["LEASEEND"], DateTime.MinValue); + mi.LeaseTerm = FIDbAccess.GetFieldDouble(dr["LEASEHOURS"], 0); + mi.UndercarriageHours = FIDbAccess.GetFieldDouble(dr["UNDERCARRIAGEHOURS"], 0); + mi.AquisitionType = FIDbAccess.GetFieldString(dr["AQUISITIONTYPE"], ""); + + mi.GpsDeviceID = FIDbAccess.GetFieldInt(dr["DEVICEID"], -1); + mi.MachineIconFileName = FIDbAccess.GetFieldString(dr["ICONFILENAME"], ""); + mi.DistanceCalcBy = FIDbAccess.GetFieldString(dr["DISTANCECALCBY"], ""); + + mi.TelematicsEnabled = FIDbAccess.GetFieldInt(dr["TELEMATICSENABLED"], 0) == 1; + mi.CostCenter = FIDbAccess.GetFieldString(dr["COSTCENTER"], ""); + mi.EqClass = FIDbAccess.GetFieldString(dr["EQCLASS"], ""); + mi.Description = FIDbAccess.GetFieldString(dr["DESCRIPTION"], ""); + + return mi; + } + + public static int SaveMachineGroup(MachineGroup mg) + { + const string SQL_Insert = "insert into MACHINEGROUPS (GROUPID,GROUPNAME,DESCRIPTION,CODE) values ({0},{1},{2},{3})"; + const string SQL_Update = "update MACHINEGROUPS set GROUPNAME={1},DESCRIPTION={2},CODE={3} where GROUPID={0} "; + const string SQL_Exists = "select Count(1) from MACHINEGROUPS where GROUPNAME={0} and GROUPID<>{1}"; + const string SQL_DeleteDetail = "delete MACHINEGROUPMAP where GROUPID={0}"; + const string SQL_InsertDetail = "insert MACHINEGROUPMAP(MACHINEID,GROUPID) values({0},{1})"; + FISqlConnection db = SystemParams.GetDbInstance(); + + int count = FIDbAccess.GetFieldInt(db.GetRC1BySQL(SQL_Exists, mg.GroupName, mg.GroupID ?? ""), 0); + if (count > 0) + return -1; + + if (string.IsNullOrWhiteSpace(mg.GroupID)) + { + mg.GroupID = Guid.NewGuid().ToString(); + db.ExecSQL(SQL_Insert, mg.GroupID, mg.GroupName, mg.Description, mg.Code); + if (mg.MachineIDs != null && mg.MachineIDs.Length > 0) + { + foreach (long mid in mg.MachineIDs) + db.ExecSQL(SQL_InsertDetail, mid, mg.GroupID); + } + } + else + { + db.ExecSQL(SQL_Update, mg.GroupID, mg.GroupName, mg.Description, mg.Code); + db.ExecSQL(SQL_DeleteDetail, mg.GroupID); + if (mg.MachineIDs != null && mg.MachineIDs.Length > 0) + { + foreach (long mid in mg.MachineIDs) + db.ExecSQL(SQL_InsertDetail, mid, mg.GroupID); + } + } + return 0; + } + + public static void SaveMachineToMachineGroups(FISqlConnection db, long machineid, string[] groupids) + { + const string SQL = "insert into MACHINEGROUPMAP(MACHINEID,GROUPID) values({0},{1})"; + const string SQL_DEL = "delete from MACHINEGROUPMAP where MACHINEID={0}"; + + if (db == null) + db = SystemParams.GetDbInstance(); + db.ExecSQL(SQL_DEL, machineid); + if (groupids != null && groupids.Length > 0) + { + foreach (var groupid in groupids) + { + db.ExecSQL(SQL, machineid, groupid); + } + } + } + + public static int DeleteMachineGroup(string groupID) + { + const string SQL_Delete = "delete from MACHINEGROUPS where GROUPID={0} delete from MACHINEGROUPMAP where GROUPID={0} "; + const string SQL_Exists = "select Count(1) from USERMACHINEGROUPMAP where GROUPID={0}"; + + FISqlConnection db = SystemParams.GetDbInstance(); + int count = FIDbAccess.GetFieldInt(db.GetRC1BySQL(SQL_Exists, groupID ?? ""), 0); + if (count > 0) + return -1; + + db.ExecSQL(SQL_Delete, groupID); + return 0; + } + + public static MachineGroup[] GetMachineGroups(string searchtext, FISqlConnection db = null) + { + string SQL = "select GROUPID,GROUPNAME,DESCRIPTION,CODE from MACHINEGROUPS "; + if (!string.IsNullOrEmpty(searchtext)) + SQL += " where GROUPNAME like {0} or DESCRIPTION like {0} or CODE like {0}"; + + if (db == null) + db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(SQL, "%" + searchtext + "%"); + + List result = new List(); + foreach (DataRow dr in dt.Rows) + { + MachineGroup mg = new MachineGroup(); + mg.GroupID = FIDbAccess.GetFieldString(dr["GROUPID"], ""); + mg.GroupName = FIDbAccess.GetFieldString(dr["GROUPNAME"], ""); + mg.Description = FIDbAccess.GetFieldString(dr["DESCRIPTION"], ""); + mg.Code = FIDbAccess.GetFieldString(dr["CODE"], ""); + result.Add(mg); + } + return result.ToArray(); + } + + public static MachineGroup[] GetMachineGroupsByUser(string useriid, FISqlConnection db = null) + { + string SQL = @"select GROUPID,GROUPNAME,DESCRIPTION from MACHINEGROUPS mg where (select case when not exists(select 1 from USERMACHINEGROUPMAP where USERIID={0}) then 1 + when exists(select 1 from USERMACHINEGROUPMAP g where USERIID={0} and mg.GROUPID=g.GROUPID) then 1 else 0 end) = 1"; + + if (db == null) + db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(SQL, useriid); + + List result = new List(); + foreach (DataRow dr in dt.Rows) + { + MachineGroup mg = new MachineGroup(); + mg.GroupID = FIDbAccess.GetFieldString(dr["GROUPID"], ""); + mg.GroupName = FIDbAccess.GetFieldString(dr["GROUPNAME"], ""); + mg.Description = FIDbAccess.GetFieldString(dr["DESCRIPTION"], ""); + result.Add(mg); + } + return result.ToArray(); + } + + public static MachineItem[] GetMachineByGroup(string groupid) + { + string SQL = "select " + string.Format(MachineFields, "b.") + " from MACHINEGROUPMAP a left join MACHINES b on a.MACHINEID=b.MACHINEID where a.GROUPID={0} order by MACHINENAME"; + + FIDbAccess db = SystemParams.GetDbInstance(); + if (db == null) + { + return new MachineItem[0]; + } + + DataTable tb = db.GetDataTableBySQL(SQL, groupid); + if (tb.Rows.Count == 0) + { + return new MachineItem[0]; + } + + MachineManagement.RefreshBaseData(); + MachineMake[] makes = MachineManagement.GetMachineMakes(); + MachineModel[] models = MachineManagement.GetMachineModels(); + MachineType[] types = MachineManagement.GetMachineTypes(); + + List ls = new List(); + if (tb.Rows.Count > 0) + { + foreach (DataRow dr in tb.Rows) + { + MachineItem mi = ConvertToMachineItem(dr, makes, models, types); + ls.Add(mi); + } + } + return ls.ToArray(); + } + + public static MachineGroup[] GetMachineGroupByUser(string useriid, FISqlConnection db = null) + { + const string SQL = "select b.* from USERMACHINEGROUPMAP a left join MACHINEGROUPS b on a.GROUPID=b.GROUPID where a.USERIID={0} order by GROUPNAME"; + + if (db == null) + db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(SQL, useriid); + + List result = new List(); + foreach (DataRow dr in dt.Rows) + { + MachineGroup mg = new MachineGroup(); + mg.GroupID = FIDbAccess.GetFieldString(dr["GROUPID"], ""); + mg.GroupName = FIDbAccess.GetFieldString(dr["GROUPNAME"], ""); + mg.Description = FIDbAccess.GetFieldString(dr["DESCRIPTION"], ""); + result.Add(mg); + } + return result.ToArray(); + } + + public static void SaveUserMachineGroup(string useriid, string[] groupids) + { + const string SQL_DeleteDetail = "delete USERMACHINEGROUPMAP where USERIID={0}"; + const string SQL_InsertDetail = "insert USERMACHINEGROUPMAP(USERIID,GROUPID) values({0},{1})"; + FISqlConnection db = SystemParams.GetDbInstance(); + + db.ExecSQL(SQL_DeleteDetail, useriid); + if (groupids != null && groupids.Length > 0) + { + foreach (string gid in groupids) + db.ExecSQL(SQL_InsertDetail, useriid, gid); + } + } + + public static Dictionary> GetGroupsAssets(FISqlConnection db = null) + { + const string SQL_C = "select mgm.MACHINEID,mgm.GROUPID,mg.GROUPNAME from MACHINEGROUPMAP mgm left join MACHINEGROUPS mg on mgm.GROUPID=mg.GROUPID"; + + Dictionary> result = new Dictionary>(); + if (db == null) + db = SystemParams.GetDbInstance(); + DataTable tb = db.GetDataTableBySQL(SQL_C); + + foreach (DataRow dr in tb.Rows) + { + int machineid = FIDbAccess.GetFieldInt(dr["MACHINEID"], -1); + StringKeyValue kv = new StringKeyValue(); + kv.Key = FIDbAccess.GetFieldString(dr["GROUPID"], ""); + kv.Value = FIDbAccess.GetFieldString(dr["GROUPNAME"], ""); ; + if (!result.ContainsKey(machineid)) + result[machineid] = new List(); + result[machineid].Add(kv); + } + return result; + } + + /// + /// 获取机器组和机器的对应关系 + /// + /// + public static Dictionary> GetGroupMachines(FISqlConnection db = null) + { + const string SQL_C = "select MACHINEID,GROUPID from MACHINEGROUPMAP"; + + Dictionary> result = new Dictionary>(); + if (db == null) + db = SystemParams.GetDbInstance(); + DataTable tb = db.GetDataTableBySQL(SQL_C); + + foreach (DataRow dr in tb.Rows) + { + int machineid = FIDbAccess.GetFieldInt(dr["MACHINEID"], -1); + string groupid = FIDbAccess.GetFieldString(dr["GROUPID"], ""); + if (!result.ContainsKey(machineid)) + result[machineid] = new List(); + result[machineid].Add(groupid); + } + return result; + } + + /// + /// 获取机器组和机器的对应关系 + /// + /// + public static long[] GetGroupMachines(string[] groupids, FISqlConnection db = null) + { + const string SQL_C = "select distinct MACHINEID from MACHINEGROUPMAP where GROUPID in ({0})"; + + List result = new List(); + if (db == null) + db = SystemParams.GetDbInstance(); + DataTable tb = db.GetDataTableBySQL(string.Format(SQL_C, "'" + string.Join("','", groupids) + "'")); + + foreach (DataRow dr in tb.Rows) + { + int machineid = FIDbAccess.GetFieldInt(dr["MACHINEID"], -1); + result.Add(machineid); + } + return result.ToArray(); + } + + /// + /// 获取机器组 + /// + /// + public static string[] GetGroupByMachineID(FISqlConnection db, long machineid) + { + const string SQL_C = "select GROUPID from MACHINEGROUPMAP where MACHINEID={0}"; + + Dictionary> result = new Dictionary>(); + if (db == null) + db = SystemParams.GetDbInstance(); + DataTable tb = db.GetDataTableBySQL(SQL_C, machineid); + if (tb.Rows.Count == 0) + return new string[0]; + + List list = new List(); + foreach (DataRow dr in tb.Rows) + { + string groupid = FIDbAccess.GetFieldString(dr["GROUPID"], ""); + list.Add(groupid); + } + return list.ToArray(); + } + + public static void ChangeMachineIconFile(long machineid, string filename, byte[] filebyte, FISqlConnection db = null) + { + const string SQL_NULL = "update MACHINES set ICONFILENAME=null,ICONDATA=null where MACHINEID={0}"; + const string SQL_ICON = "update MACHINES set ICONFILENAME={1},ICONDATA={2} where MACHINEID={0}"; + + if (db == null) + db = SystemParams.GetDbInstance(); + if (filebyte == null) + db.ExecSQL(SQL_NULL, machineid); + else + db.ExecSQL(SQL_ICON, machineid, filename, filebyte); + } + + public static byte[] GetMachineIconFile(string companyid, long machineid) + { + const string SQL = "select ICONDATA from MACHINES where MACHINEID={0}"; + FISqlConnection db = null; + if (SystemParams.IsDealer) + { + string connetionstring = SystemParams.GetDbStringByCompany(companyid); + db = new FISqlConnection(connetionstring); + } + else + db = SystemParams.GetDbInstance(); + + object obj = db.GetRC1BySQL(SQL, machineid); + return FIDbAccess.GetFieldBytes(obj); + } + + public static MachineInfo2 GetMachineByVIN(string vin) + { + MachineServiceClient2 mc = SystemParams.GetMachineServiceClient(); + return mc.GetMachineInfoByVIN(vin); + } + + public static MachineInfo2 GetMachineByID(long machineid) + { + MachineServiceClient2 mc = SystemParams.GetMachineServiceClient(); + return mc.GetMachineInfoByMachineID(machineid); + } + + public static string GetMachineIDByVIN(string vin) + { + const string SQL = "select MACHINEID from MACHINES where VIN={0} and isnull(HIDE,0)=0"; + FISqlConnection db = SystemParams.GetDbInstance(); + + object obj = db.GetRC1BySQL(SQL, vin); + return FIDbAccess.GetFieldString(obj, string.Empty); + } + + public static MaintenanceMachineInfo[] GetContactMachinesByID(string contactid) + { + const string SQL = @"select a.MACHINEID,b.MACHINENAME,b.MACHINENAME2,b.VIN,b.MAKEID,b.MODELID,b.TYPEID,b.HIDE,ISNULL(b.ENGINEHOURS,0) as ENGINEHOURS, + ISNULL(b.ODOMETER,0) as ODOMETER,ISNULL(b.ODOMETERUOM,'Mile') AS ODOMETERUOM from USERMACHINEMAP a,MACHINES b + where a.MACHINEID=b.MACHINEID and a.USERIID={0}"; + + FISqlConnection db = SystemParams.GetDbInstance(); + DataTable tb = db.GetDataTableBySQL(SQL, contactid); + if (tb.Rows.Count == 0) + { + return new MaintenanceMachineInfo[0]; + } + MachineManagement.RefreshBaseData(); + MachineMake[] makes = MachineManagement.GetMachineMakes(); + MachineModel[] models = MachineManagement.GetMachineModels(); + MachineType[] types = MachineManagement.GetMachineTypes(); + List ls = new List(); + foreach (DataRow dr in tb.Rows) + { + MaintenanceMachineInfo mi = MaintenanceManagement.ConvertToMaintenanceMachineInfo(dr, makes, models, types); + ls.Add(mi); + } + return ls.ToArray(); + + } + } +} diff --git a/IronIntelContractorBusiness/Machines/MachineRentalInfo.cs b/IronIntelContractorBusiness/Machines/MachineRentalInfo.cs new file mode 100644 index 0000000..9be24c2 --- /dev/null +++ b/IronIntelContractorBusiness/Machines/MachineRentalInfo.cs @@ -0,0 +1,89 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Machines +{ + public class MachineRentalInfo + { + public long RentalID { get; set; } + public long MachineID { get; set; } + public string MachineName { get; set; } + public string VIN { get; set; } + public string AquisitionType { get; set; } + public string AssetID { get; set; } + public string Division { get; set; } + public string EQClass { get; set; } + public string Outside { get; set; } + public string Description { get; set; } + public string Vendor { get; set; } + public int Term { get; set; } + public string TermUnit { get; set; } + public decimal RentalRate { get; set; } + public DateTime? RentalDate { get; set; } + public string RentalDateStr { get { return RentalDate == null ? "" : RentalDate.Value.ToShortDateString(); } } + public DateTime? ProjectReturnDate { get; set; } + public string ProjectReturnDateStr { get { return ProjectReturnDate == null ? "" : ProjectReturnDate.Value.ToShortDateString(); } } + public DateTime? ReturnDate { get; set; } + public string ReturnDateStr { get { return ReturnDate == null ? "" : ReturnDate.Value.ToShortDateString(); } } + public string PONumber { get; set; } + public string Comments { get; set; } + + public DateTime? RentalTermBillingDate { get; set; } + public string RentalTermBillingDateStr { get { return RentalTermBillingDate == null ? "" : RentalTermBillingDate.Value.ToShortDateString(); } } + public int BillingCycleDays { get; set; } + + public bool Selected { get; set; } + + public string ShowName + { + get + { + //Name取值顺序为Name2,Name,VIN,ID用于前端显示 + string name = MachineName; + if (string.IsNullOrWhiteSpace(name)) + name = VIN; + if (string.IsNullOrWhiteSpace(name)) + name = MachineID.ToString(); + return name; + } + } + + public string RentalStatus + { + get + { + //5.Can we add a rental status to Rental Information section: + //a.Rental Information: ON RENT(if we are past the Start Date and the return date is blank or a future date and the Proj Return Date is blank or today or greater) + //b.Rental Information: OVERDUE(if we are past the Start Date and the Proj Return Date is past and Return Date is Blank) + //c.Rental Information: RETURNED(if Return Date is populated today or less). + + DateTime today = DateTime.Now.Date; + if (RentalDate < today + && (ReturnDate == null || ReturnDate > today) + && (ProjectReturnDate == null || ProjectReturnDate >= today)) + return "ON RENT"; + if (RentalDate < today + && (ProjectReturnDate != null && ProjectReturnDate < today) + && ReturnDate == null) + return "OVERDUE"; + if (ReturnDate <= today) + return "RETURNED"; + return ""; + } + } + + } + + public class RentalChangeHistoryInfo : MachineRentalInfo + { + public string OperateType { get; set; } + public string LastUpdateUserName { get; set; } + public string LastUpdatedBy { get; set; } + public DateTime? LastUpdateDate { get; set; } + public string LastUpdateDateStr { get { return LastUpdateDate == null ? "" : LastUpdateDate.Value.ToShortDateString(); } } + + } +} diff --git a/IronIntelContractorBusiness/Machines/OdometerInfo.cs b/IronIntelContractorBusiness/Machines/OdometerInfo.cs new file mode 100644 index 0000000..9dc90c0 --- /dev/null +++ b/IronIntelContractorBusiness/Machines/OdometerInfo.cs @@ -0,0 +1,179 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Machines +{ + public class OdometerInfo + { + public long AssetID { get; set; } + public string DataSource { get; set; } + public string SubSource { get; set; } + public string DataSourceName { get; set; } + public DateTime AsofTime { get; set; } + public DateTime AsofTimeLocal { get; set; } + public bool IsPrimary { get; set; } + + public string UOM { get; set; } + + private double _Odometer; + public double Odometer + { + get + { + return _Odometer; + } + set + { + value = value > 0 ? value : 0; + _Odometer = Math.Round(value, 2); + } + } + + private double _Corrected; + public double Corrected + { + get + { + return _Corrected; + } + set + { + value = value > 0 ? value : 0; + _Corrected = Math.Round(value, 2); + } + } + public string ReceivedDateStr + { + get + { + return AsofTimeLocal.ToString(); + } + } + } + + public class AdjustOdometerInfo + { + public string CustomerID { get; set; } + public long AssetID { get; set; } + public DateTime OdometerDate { get; set; } + public string UOM { get; set; } + + private double _Odometer; + public double Odometer + { + get + { + return _Odometer; + } + set + { + value = value > 0 ? value : 0; + _Odometer = Math.Round(value, 2); + } + } + public string Notes { get; set; } + + /// + /// 前端选择的时区的分钟偏移 + /// + public int OffsetMinute { get; set; } + } + public class CalampOdometerInfo + { + public long AssetId { get; set; } + public string DeviceAirId { get; set; } + public DateTime AsofTime { get; set; } + public string UOM { get; set; } + public double Gps { get; set; } + public double Gps_Calc { get; set; } + public double VBUS { get; set; } + public double VBUS_Calc { get; set; } + public string EventTimeText + { + get + { + return AsofTime.ToString("MM/dd/yyyy HH:mm"); + } + } + public DateTime AsofTime_Local { get; set; } + public string EventTimeLocalText + { + get + { + return AsofTime_Local.ToString("MM/dd/yyyy HH:mm"); + } + } + } + + + public class PedigreeOdometerInfo + { + public long AssetId { get; set; } + public string DeviceSN { get; set; } + public DateTime AsofTime { get; set; } + public string UOM { get; set; } + public double Gps { get; set; } + public double Gps_Calc { get; set; } + public double VBUS { get; set; } + public double VBUS_Calc { get; set; } + public string EventTimeText + { + get + { + return AsofTime.ToString("MM/dd/yyyy HH:mm"); + } + } + public DateTime AsofTime_Local { get; set; } + public string EventTimeLocalText + { + get + { + return AsofTime_Local.ToString("MM/dd/yyyy HH:mm"); + } + } + } + + public class PrimaryDataSourceInfo + { + public int Type { get; set; } //Odometer:0,EngineHours:1 + public string CustomerID { get; set; } + public long AssetID { get; set; } + public string DataSource { get; set; } + public string SubSource { get; set; } + public string Notes { get; set; } + } + + public class AssetOdometerAdjustItem + { + public long LogId { get; set; } + public long AssetId { get; set; } + public DateTime AdjustmentTime { get; set; } + public string AdjustmentTimeText { get { return AdjustmentTime.ToString("MM/dd/yyyy HH:mm"); } } + public DateTime OdometerTime { get; set; } + public string OdometerTimeText { get { return OdometerTime.ToString("MM/dd/yyyy HH:mm"); } } + public DateTime AdjustmentLocalTime { get; set; } + public string AdjustmentLocalTimeText { get { return AdjustmentLocalTime.ToString("MM/dd/yyyy HH:mm"); } } + public DateTime OdometerLocalTime { get; set; } + public string OdometerLocalTimeText { get { return OdometerLocalTime.ToString("MM/dd/yyyy HH:mm"); } } + + private double _Odometer; + public double Odometer + { + get + { + return _Odometer; + } + set + { + value = value > 0 ? value : 0; + _Odometer = Math.Round(value, 2); + } + } + public string UOM { get; set; } + public string Notes { get; set; } + public string UserName { get; set; } + } +} diff --git a/IronIntelContractorBusiness/Maintenance/AlertInfo.cs b/IronIntelContractorBusiness/Maintenance/AlertInfo.cs new file mode 100644 index 0000000..3b4b997 --- /dev/null +++ b/IronIntelContractorBusiness/Maintenance/AlertInfo.cs @@ -0,0 +1,131 @@ +using Foresight.Fleet.Services.AssetHealth; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Maintenance +{ + public class AlertInfo + { + public long AlertID { get; set; } + public long WorkOrderID { get; set; } + public string WorkOrderStatus { get; set; } + public string AlertType { get; set; } + public DateTime AlertTime_UTC { get; set; } + public string AlertTime_UTCStr { get { return AlertTime_UTC == DateTime.MinValue ? "" : AlertTime_UTC.ToString(); } } + public bool Completed { get; set; } + public long MachineID { get; set; } + public int ModelID { get; set; } + public string Model { get; set; } + public int MakeID { get; set; } + public string Make { get; set; } + public string VIN { get; set; } + public string MachineName { get; set; } + + private double _EngineHours; + public double EngineHours + { + get + { + return _EngineHours; + } + set + { + value = value > 0 ? value : 0; + _EngineHours = Math.Round(value, 2); + } + } + private double _CurrentHours; + public double CurrentHours + { + get + { + return _CurrentHours; + } + set + { + value = value > 0 ? value : 0; + _CurrentHours = Math.Round(value, 2); + } + } + public string Description { get; set; } + public string ServiceDescription { get; set; } + public int AlertCount { get; set; } + public List RepeatedAlerts { get; set; } + public int OpenWorkOrderCount { get; set; }//针对Alert对应的机器 + public string PMType { get; set; } + public string AcknowledgedBy { get; set; } + public string AcknowledgedByName { get; set; } + public DateTime AcknowledgedTime_UTC { get; set; } + public string AcknowledgedTime_UTCStr { get { return AcknowledgedTime_UTC == DateTime.MinValue ? "" : AcknowledgedTime_UTC.ToString(); } } + public string AcknowledgedComment { get; set; } + } + + public class MachineInfoForAlert + { + public long MachineID { get; set; } + public string VIN { get; set; } + public string MachineName { get; set; } + public string Make { get; set; } + public string Model { get; set; } + + private double _EngineHours; + public double EngineHours + { + get + { + return _EngineHours; + } + set + { + value = value > 0 ? value : 0; + _EngineHours = Math.Round(value, 2); + } + } + public int DTCAlertCount { get; set; } + public int PMAlertCount { get; set; } + public int InspectAlertCount { get; set; } + public int OpenWorkOrders { get; set; } + public DateTime LatestAlertDateTime { get; set; } + public string LatestAlertDateTimeStr { get { return LatestAlertDateTime == DateTime.MinValue ? "" : LatestAlertDateTime.ToString(); } } + + public List Alerts { get; } = new List(); + } + + public class AssetAlertInfo + { + public long ID { get; set; } + public DateTime AlertTime { get; set; } + public string AlertTimeStr { get { return AlertTime == DateTime.MinValue ? "" : AlertTime.ToString(); } } + public string AlertType { get; set; } + public string Title { get; set; } + public string Description { get; set; } + public long AssetID { get; set; } + public string VIN { get; set; } + public string AssetName { get; set; } + public string ModelName { get; set; } + public string MakeName { get; set; } + public string AssetTypeName { get; set; } + + private double _EngineHours; + public double EngineHours + { + get + { + return _EngineHours; + } + set + { + value = value > 0 ? value : 0; + _EngineHours = Math.Round(value, 2); + } + } + public bool Completed { get; set; } + public DateTime? CompletedDate { get; set; } + public string CompletedDateStr { get { return CompletedDate == null ? "" : CompletedDate.ToString(); } } + + public AssetAlertCategory Category { get; set; } + } +} diff --git a/IronIntelContractorBusiness/Maintenance/AlertManager.cs b/IronIntelContractorBusiness/Maintenance/AlertManager.cs new file mode 100644 index 0000000..f88fa03 --- /dev/null +++ b/IronIntelContractorBusiness/Maintenance/AlertManager.cs @@ -0,0 +1,566 @@ +using Foresight.Data; +using Foresight.Fleet.Services.Asset; +using Foresight.ServiceModel; +using IronIntel.Contractor.Users; +using IronIntel.Services.Business.Admin; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static IronIntel.Contractor.MapView.MachinesMapViewerManagement; + +namespace IronIntel.Contractor.Maintenance +{ + public class AlertManager : BusinessBase + { + public AlertManager(string dbstr) : base(dbstr) + { + } + + const string SEL_ALERT = "select ALERTID,ALERTTYPE,ALERTTIME_UTC,COMPLETED,MACHINEID,VIN,MACHINENAME,ENGINGHOURS,ALERTDESC,PMTYPE from ALERTS"; + + public MachineInfoForAlert[] SearchMachineAlerts(string sessionid, string filtertext, string[] alertstatus, string[] alerttypes, string[] assetgroups, DateTime beginDate, DateTime endDate, string useriid) + { + string SQL = @"select a.ALERTID,w.WORKORDERID,wo.STATUS,ALERTTYPE,a.ALERTTIME_UTC,ISNULL(COMPLETED,0) COMPLETED,a.MACHINEID,a.VIN,a.MACHINENAME,a.ENGINGHOURS,m.ENGINEHOURS as CENGINGHOURS,ALERTDESC,m.MACHINENAME2 + ,a.MAKEID,a.MODELID,pit.SERVICEDESCRIPTION + ,(select count(1) from WORKORDER wo1 where wo1.MACHINEID=a.MACHINEID and wo1.STATUS<>'Completed') as OpenWorkOrderCount,m.ONROAD,a.PMTYPE from ALERTS a with (nolock) + left join WORKORDER_ALERTS w with (nolock) on a.ALERTID=w.ALERTID + left join WORKORDER wo with (nolock) on w.WORKORDERID=wo.WORKORDERID + left join MACHINES m with (nolock) on a.MACHINEID=m.MACHINEID + left join PM_ALERTS pa with (nolock) on a.ALERTID=pa.ALERTID + left join PM_INTERAVLS pit with (nolock) on pa.PMINTERVALID=pit.PMINTERVALID + where m.MACHINEID is not null and (m.HIDE=0 or m.HIDE is null) and ISNULL(ACKNOWLEDGED,0)<>1 and a.ALERTTIME_UTC>={0} and a.ALERTTIME_UTC<={1} "; + + if (Array.IndexOf(alertstatus, "Completed") >= 0 && Array.IndexOf(alertstatus, "Uncompleted") < 0) + SQL = SQL + " and ISNULL(COMPLETED,0)=1 "; + if (Array.IndexOf(alertstatus, "Completed") < 0 && Array.IndexOf(alertstatus, "Uncompleted") >= 0) + SQL = SQL + " and ISNULL(COMPLETED,0)=0 "; + if (Array.IndexOf(alertstatus, "Assigned") >= 0 && Array.IndexOf(alertstatus, "Unassigned") < 0) + SQL = SQL + " and w.WORKORDERID is not null "; + else if (Array.IndexOf(alertstatus, "Assigned") < 0 && Array.IndexOf(alertstatus, "Unassigned") >= 0) + SQL = SQL + " and w.WORKORDERID is null "; + + if (assetgroups.Length > 0)//asset group + { + SQL = SQL + string.Format(" and exists(select 1 from MACHINEGROUPMAP mg where mg.MACHINEID=m.MACHINEID and GROUPID in ('{0}'))", string.Join("','", assetgroups)); + } + + string SQL_FILTER = SQL + " and (ALERTTYPE like {0} or a.MACHINEID like {0} or a.VIN like {0} or a.MACHINENAME like {0} or m.MACHINENAME2 like {0} or ALERTDESC like {0} or SERVICEDESCRIPTION like {0})"; + + string ORDER_BY = " order by ALERTID"; + + double timeadjust = SystemParams.GetHoursOffset(); + if (beginDate != Helper.DBMinDateTime) + beginDate = beginDate.AddHours(-timeadjust); + if (endDate != DateTime.MaxValue) + endDate = endDate.AddHours(-timeadjust); + + DataTable dt = GetDataTableBySQL(SQL + ORDER_BY, beginDate, endDate); + if (dt.Rows.Count == 0) + { + return new MachineInfoForAlert[0]; + } + + long[] availableAssetsids = null; + var user = Users.UserManagement.GetUserByIID(useriid); + if (user.UserType < Users.UserTypes.Admin) + availableAssetsids = FleetServiceClientHelper.CreateClient(sessionid).GetAvailableAssetsForUsers(SystemParams.CompanyID, useriid); + + MachineServiceClient2 mc = SystemParams.GetMachineServiceClient(); + MachineMake[] _makes = mc.GetMachineMakes(); + MachineModel[] _models = mc.GetMachineModels(); + + List results = new List(dt.Rows.Count); + Dictionary machineEngineHours = GetAssetEngineHour(); + foreach (DataRow dr in dt.Rows) + { + long mid = FIDbAccess.GetFieldInt64(dr["MACHINEID"], 0); + if (user.UserType < Users.UserTypes.Admin && !availableAssetsids.Contains(mid)) + continue; + string alerttype = FIDbAccess.GetFieldString(dr["ALERTTYPE"], string.Empty).Trim(); + if (alerttypes.Length > 0 && !alerttypes.Contains(alerttype))//alerttype + continue; + + AlertInfo ai = ConvertToAlertInfo(dr, timeadjust); + + ai.ServiceDescription = FIDbAccess.GetFieldString(dr["SERVICEDESCRIPTION"], string.Empty); + ai.WorkOrderID = FIDbAccess.GetFieldInt(dr["WORKORDERID"], 0); + ai.WorkOrderStatus = FIDbAccess.GetFieldString(dr["STATUS"], string.Empty); + ai.MakeID = FIDbAccess.GetFieldInt(dr["MAKEID"], 0); + ai.ModelID = FIDbAccess.GetFieldInt(dr["MODELID"], 0); + string name2 = FIDbAccess.GetFieldString(dr["MACHINENAME2"], string.Empty); + string showname = name2; + if (string.IsNullOrWhiteSpace(showname)) + showname = ai.MachineName; + if (string.IsNullOrWhiteSpace(showname)) + showname = ai.VIN; + if (string.IsNullOrWhiteSpace(showname)) + showname = ai.MachineID.ToString(); + ai.MachineName = showname; + + MachineMake mk = _makes.FirstOrDefault(m => m.ID == ai.MakeID); + if (mk != null) + ai.Make = mk.Name; + MachineModel md = _models.FirstOrDefault(m => m.ID == ai.ModelID); + if (md != null) + ai.Model = md.Name; + + MachineInfoForAlert mi = results.FirstOrDefault((i) => i.MachineID == ai.MachineID); + if (mi == null) + { + mi = new MachineInfoForAlert(); + mi.MachineID = ai.MachineID; + mi.MachineName = ai.MachineName; + mi.VIN = ai.VIN; + mi.Make = ai.Make; + mi.Model = ai.Model; + mi.EngineHours = FIDbAccess.GetFieldDouble(dr["CENGINGHOURS"], 0);// ai.EngineHours; + if (machineEngineHours.ContainsKey(mi.MachineID.ToString())) + { + var meh = machineEngineHours[mi.MachineID.ToString()]; + mi.EngineHours = meh.EngineHours; + } + if (!string.IsNullOrWhiteSpace(filtertext)) + { + if (Helper.Contains(ai.AlertType, filtertext) + || Helper.Contains(ai.MachineID.ToString(), filtertext) + || Helper.Contains(ai.VIN, filtertext) + || Helper.Contains(ai.MachineName, filtertext) + || Helper.Contains(ai.Description, filtertext) + //|| Helper.Contains(ai.ServiceDescription, filtertext) + || Helper.Contains(mi.Make, filtertext) + || Helper.Contains(mi.Model, filtertext)) + results.Add(mi); + } + else + results.Add(mi); + } + + if (ai.PMType == "PM_ALERT" || ai.PMType == "TBM_ALERT" || ai.PMType == "HM_ALERT" + || ai.PMType == "RDM_ALERT" || ai.PMType == "ADM_ALERT") + mi.PMAlertCount++; + else if (ai.AlertType == "Red-Inspect" || ai.AlertType == "Yellow-Inspect" || ai.AlertType == "Info-Inspect") + mi.InspectAlertCount++; + else + mi.DTCAlertCount++; + + AlertInfo oildai = mi.Alerts.FirstOrDefault(m => m.Description == ai.Description && m.MachineID == ai.MachineID); + if (oildai == null) + { + ai.AlertCount = 1; + mi.Alerts.Add(ai); + } + else + { + ai.AlertCount = oildai.AlertCount; + int index = mi.Alerts.IndexOf(oildai); + if (ai.AlertTime_UTC > oildai.AlertTime_UTC) + { + ai.AlertCount++; + mi.Alerts[index] = ai; + } + else + mi.Alerts[index].AlertCount++; + } + mi.OpenWorkOrders = FIDbAccess.GetFieldInt(dr["OpenWorkOrderCount"], 0); + //mi.OpenWorkOrders = mi.Alerts.Where(m => m.WorkOrderID != 0 && m.WorkOrderStatus != "Completed").Select(m => m.WorkOrderID).Distinct().Count(); + var timealerts = mi.Alerts.OrderByDescending(m => m.AlertTime_UTC).ToArray(); + mi.LatestAlertDateTime = timealerts == null ? DateTime.MinValue : timealerts[0].AlertTime_UTC; + } + return results.ToArray(); + } + + public AlertInfo[] SearchAcknowledgedAlerts(string sessionid, string filtertext, string[] alertstatus, string[] alerttypes, string[] assetgroups, DateTime beginDate, DateTime endDate, string useriid) + { + string SQL = @"select a.ALERTID,w.WORKORDERID,wo.STATUS,ALERTTYPE,a.ALERTTIME_UTC,COMPLETED,a.MACHINEID,a.VIN,a.MACHINENAME, ENGINGHOURS,ALERTDESC,m.MACHINENAME2 + ,a.MAKEID,a.MODELID,pit.SERVICEDESCRIPTION,a.PMTYPE + ,(select count(1) from WORKORDER wo1 where wo1.MACHINEID=a.MACHINEID and wo1.STATUS<>'Completed') as OpenWorkOrderCount + ,a.ACKNOWLEDGEDBY,a.ACKNOWLEDGEDDATE_UTC,a.ACKNOWLEDGMENTCOMMENT + from ALERTS a with (nolock) + left join WORKORDER_ALERTS w with (nolock) on a.ALERTID=w.ALERTID + left join WORKORDER wo with (nolock) on w.WORKORDERID=wo.WORKORDERID + left join MACHINES m with (nolock) on a.MACHINEID=m.MACHINEID + left join PM_ALERTS pa with (nolock) on a.ALERTID=pa.ALERTID + left join PM_INTERAVLS pit with (nolock) on pa.PMINTERVALID=pit.PMINTERVALID + where m.MACHINEID is not null and (m.HIDE=0 or m.HIDE is null) and ISNULL(ACKNOWLEDGED,0)=1 and a.ALERTTIME_UTC>={0} and a.ALERTTIME_UTC<={1} "; + + if (assetgroups.Length > 0)//asset group + { + SQL = SQL + string.Format(" and exists(select 1 from MACHINEGROUPMAP mg where mg.MACHINEID=m.MACHINEID and GROUPID in ('{0}'))", string.Join("','", assetgroups)); + } + + const string ORDER_BY = " order by ALERTID"; + + double timeadjust = SystemParams.GetHoursOffset(); + if (beginDate != Helper.DBMinDateTime) + beginDate = beginDate.AddHours(-timeadjust); + if (endDate != DateTime.MaxValue) + endDate = endDate.AddHours(-timeadjust); + + DataTable dt = GetDataTableBySQL(SQL + ORDER_BY, beginDate, endDate); + if (dt.Rows.Count == 0) + { + return new AlertInfo[0]; + } + + long[] availableAssetsids = null; + var user = Users.UserManagement.GetUserByIID(useriid); + if (user.UserType < Users.UserTypes.Admin) + availableAssetsids = FleetServiceClientHelper.CreateClient(sessionid).GetAvailableAssetsForUsers(SystemParams.CompanyID, useriid); + + MachineServiceClient2 mc = SystemParams.GetMachineServiceClient(); + MachineMake[] _makes = mc.GetMachineMakes(); + MachineModel[] _models = mc.GetMachineModels(); + UserInfo[] _users = UserManagement.GetAllAvailableUsers(); + + List result = new List(dt.Rows.Count); + foreach (DataRow dr in dt.Rows) + { + long mid = FIDbAccess.GetFieldInt64(dr["MACHINEID"], 0); + if (user.UserType < Users.UserTypes.Admin && !availableAssetsids.Contains(mid)) + continue; + string alerttype = FIDbAccess.GetFieldString(dr["ALERTTYPE"], string.Empty).Trim(); + if (alerttypes.Length > 0 && !alerttypes.Contains(alerttype))//alerttype + continue; + AlertInfo ai = ConvertToAlertInfo(dr, timeadjust); + + ai.ServiceDescription = FIDbAccess.GetFieldString(dr["SERVICEDESCRIPTION"], string.Empty); + ai.WorkOrderID = FIDbAccess.GetFieldInt(dr["WORKORDERID"], 0); + ai.WorkOrderStatus = FIDbAccess.GetFieldString(dr["STATUS"], string.Empty); + ai.MakeID = FIDbAccess.GetFieldInt(dr["MAKEID"], 0); + ai.ModelID = FIDbAccess.GetFieldInt(dr["MODELID"], 0); + string name2 = FIDbAccess.GetFieldString(dr["MACHINENAME2"], string.Empty); + string showname = name2; + if (string.IsNullOrWhiteSpace(showname)) + showname = ai.MachineName; + if (string.IsNullOrWhiteSpace(showname)) + showname = ai.VIN; + if (string.IsNullOrWhiteSpace(showname)) + showname = ai.MachineID.ToString(); + ai.MachineName = showname; + + MachineMake mk = _makes.FirstOrDefault(m => m.ID == ai.MakeID); + if (mk != null) + ai.Make = mk.Name; + MachineModel md = _models.FirstOrDefault(m => m.ID == ai.ModelID); + if (md != null) + ai.Model = md.Name; + + ai.AcknowledgedBy = FIDbAccess.GetFieldString(dr["ACKNOWLEDGEDBY"], string.Empty); + ai.AcknowledgedTime_UTC = FIDbAccess.GetFieldDateTime(dr["ACKNOWLEDGEDDATE_UTC"], DateTime.MinValue); + if (ai.AcknowledgedTime_UTC != DateTime.MinValue) + ai.AcknowledgedTime_UTC = ai.AcknowledgedTime_UTC.AddHours(timeadjust); + ai.AcknowledgedComment = FIDbAccess.GetFieldString(dr["ACKNOWLEDGMENTCOMMENT"], string.Empty); + if (!string.IsNullOrWhiteSpace(ai.AcknowledgedBy)) + { + UserInfo ui = _users.FirstOrDefault(m => m.IID == ai.AcknowledgedBy); + if (ui != null) + ai.AcknowledgedByName = ui.DisplayName; + } + + ai.OpenWorkOrderCount = FIDbAccess.GetFieldInt(dr["OpenWorkOrderCount"], 0); + + AlertInfo existAlert = result.FirstOrDefault(m => m.Description == ai.Description && m.MachineID == ai.MachineID && m.AcknowledgedComment == ai.AcknowledgedComment); + if (existAlert == null) + { + ai.AlertCount = 1; + if (!string.IsNullOrWhiteSpace(filtertext)) + { + if (Helper.Contains(ai.AlertType, filtertext) + || Helper.Contains(ai.MachineID.ToString(), filtertext) + || Helper.Contains(ai.VIN, filtertext) + || Helper.Contains(ai.MachineName, filtertext) + || Helper.Contains(ai.Description, filtertext) + //|| Helper.Contains(ai.ServiceDescription, filtertext) + || Helper.Contains(ai.Make, filtertext) + || Helper.Contains(ai.Model, filtertext)) + result.Add(ai); + } + else + result.Add(ai); + } + else + { + existAlert.AlertCount++; + if (ai.AlertTime_UTC > existAlert.AlertTime_UTC) + existAlert.AlertTime_UTC = ai.AlertTime_UTC; + } + } + return result.ToArray(); + } + + + public StringKeyValue[] GetAlertTypes() + { + const string SQL = "select distinct ltrim(rtrim(ALERTTYPE)) as ALERTTYPE from ALERTS where ISNULL(ALERTTYPE,'')<>'' order by ALERTTYPE"; + DataTable tb = GetDataTableBySQL(SQL); + if (tb.Rows.Count == 0) + { + return new StringKeyValue[0]; + } + List list = new List(); + foreach (DataRow dr in tb.Rows) + { + string type = FIDbAccess.GetFieldString(dr["ALERTTYPE"], string.Empty); + StringKeyValue kv = new StringKeyValue(); + kv.Key = type; + kv.Value = type; + list.Add(kv); + } + return list.ToArray(); + } + + public AlertInfo[] GetAlertByID(long[] alertid) + { + if (alertid == null || alertid.Length == 0) + return new AlertInfo[0]; + string SQL = SEL_ALERT + string.Format(" where ALERTID in ({0})", string.Join(",", alertid)); + DataTable tb = GetDataTableBySQL(SQL); + if (tb.Rows.Count == 0) + { + return new AlertInfo[0]; + } + List ls = new List(tb.Rows.Count); + double timeadjust = SystemParams.GetHoursOffset(); + foreach (DataRow dr in tb.Rows) + { + ls.Add(ConvertToAlertInfo(dr, timeadjust)); + } + return ls.ToArray(); + } + + public AlertInfo[] GetAlertsByWorkOrder(long workorderid) + { + const string SQL = @"select a.ALERTID,ALERTTYPE,a.ALERTTIME_UTC,COMPLETED,a.MACHINEID,a.VIN,a.MACHINENAME,a.ENGINGHOURS,a.ALERTDESC,pit.SERVICEDESCRIPTION,a.PMTYPE from ALERTS a + left join PM_ALERTS pa on a.ALERTID=pa.ALERTID left join PM_INTERAVLS pit on pa.PMINTERVALID=pit.PMINTERVALID + where a.ALERTID in (select ALERTID from WORKORDER_ALERTS where WORKORDERID={0}) order by ALERTID"; + DataTable tb = GetDataTableBySQL(SQL, workorderid); + if (tb.Rows.Count == 0) + { + return new AlertInfo[0]; + } + List ls = new List(tb.Rows.Count); + double timeadjust = SystemParams.GetHoursOffset(); + foreach (DataRow dr in tb.Rows) + { + AlertInfo ai = ConvertToAlertInfo(dr, timeadjust); + ai.ServiceDescription = FIDbAccess.GetFieldString(dr["SERVICEDESCRIPTION"], string.Empty); + ls.Add(ai); + } + return ls.ToArray(); + } + + public AlertInfo[] GetAlertsByAlerts(long[] alertids) + { + const string SQL = SEL_ALERT + " where ALERTID in ({ALERTIDS}) order by ALERTID"; + + string gids = "'" + string.Join("','", alertids) + "'"; + DataTable tb = GetDataTableBySQL(SQL.Replace("{ALERTIDS}", gids)); + if (tb.Rows.Count == 0) + { + return new AlertInfo[0]; + } + List ls = new List(tb.Rows.Count); + double timeadjust = SystemParams.GetHoursOffset(); + foreach (DataRow dr in tb.Rows) + { + ls.Add(ConvertToAlertInfo(dr, timeadjust)); + } + return ls.ToArray(); + } + + public AlertInfo[] GetAlertsByMachineID(long machineid) + { + const string SQL = SEL_ALERT + " where MACHINEID={0} and ISNULL(COMPLETED,0)=0 and ALERTID not in(select ALERTID from WORKORDER_ALERTS)"; + + DataTable tb = GetDataTableBySQL(SQL, machineid); + if (tb.Rows.Count == 0) + { + return new AlertInfo[0]; + } + List ls = new List(tb.Rows.Count); + double timeadjust = SystemParams.GetHoursOffset(); + foreach (DataRow dr in tb.Rows) + { + AlertInfo ai = ConvertToAlertInfo(dr, timeadjust); + + AlertInfo oildai = ls.FirstOrDefault(m => m.Description == ai.Description); + if (oildai == null) + { + ai.AlertCount = 1; + ls.Add(ai); + } + else + { + ai.AlertCount = oildai.AlertCount; + int index = ls.IndexOf(oildai); + if (ai.AlertTime_UTC > oildai.AlertTime_UTC) + { + ai.AlertCount++; + ls[index] = ai; + } + else + ls[index].AlertCount++; + } + } + + return ls.ToArray(); + } + + public void AcknowledgeAlert(string useriid, long[] alertids, string acknowledgmentcomment) + { + const string SQL = "update ALERTS set ACKNOWLEDGED=1,ACKNOWLEDGEDBY={1},ACKNOWLEDGMENTCOMMENT={2},ACKNOWLEDGEDDATE_UTC=GETUTCDATE() where ALERTID={0}"; + const string SQL_S = "select ALERTID from ALERTS where ISNULL(ACKNOWLEDGED,0)<>1 and ISNULL(COMPLETED,0)<>1 and MACHINEID=(select MACHINEID from ALERTS where ALERTID={0}) and ALERTDESC=(select ALERTDESC from ALERTS where ALERTID={0}) "; + + if (alertids != null && alertids.Length > 0) + { + FISqlConnection db = new FISqlConnection(DbConnectionString); + foreach (long aid in alertids) + { + DataTable dt = db.GetDataTableBySQL(SQL_S, aid); + if (dt.Rows.Count > 0) + { + foreach (DataRow dr in dt.Rows) + { + long alertid = FIDbAccess.GetFieldInt64(dr["ALERTID"], 0); + ExecSQL(SQL, alertid, useriid, acknowledgmentcomment); + } + } + } + } + } + + public void AssignedAlertsToWorkOrder(long workorderid, long[] alertid) + { + const string SQL_Del = "delete from WORKORDER_ALERTS where WORKORDERID={0}"; + const string SQL_ALERT = "insert into WORKORDER_ALERTS(WORKORDERID,ALERTID,ADDEDON_UTC) values({0},{1},GETUTCDATE())"; + ExecSQL(SQL_Del, workorderid); + if ((alertid != null) && (alertid.Length > 0)) + { + foreach (long aid in alertid) + { + ExecSQL(SQL_ALERT, workorderid, aid); + } + } + } + + private static void AddMaintenanceLog(AlertInfo alert, List> machines, string useriid, FISqlConnection db) + { + const string SQL_MR = @" insert into MAINTENANCELOG(MAINTENANCEID,MACHINEID,MAINTENANCEDATE,MAINTENANCEHOURS,NOTES,ADDEDBY,ADDEDON,LASTUPDATEDBY,LASTUPDATEDON, + ALERTID,ODOMETER,ODOMETERUOM,LOGTYPE,COMPLETEDBY,COMPLETED,COMPLETEDDATE_UTC) values({0},{1},getdate(),{2},{3},{4},GETUTCDATE(),{4},GETUTCDATE(),{5},{6},{7},{8},{4},1,GETUTCDATE())"; + + string logtype = ""; + double enginehours = 0; + double odometer = 0; + string odometeruom = ""; + var machine = machines.FirstOrDefault(m => m.Item1 == alert.MachineID); + if (machine != null) + { + if (string.Compare(alert.PMType, "HM_ALERT", true) == 0 + || string.Compare(alert.PMType, "PM_ALERT", true) == 0 + || string.Compare(alert.PMType, "TBM_ALERT", true) == 0) + { + logtype = "Hours"; + enginehours = machine.Item2; + enginehours = enginehours > 0 ? enginehours : 0; + } + else if (string.Compare(alert.PMType, "ADM_ALERT", true) == 0 + || string.Compare(alert.PMType, "RDM_ALERT", true) == 0) + { + logtype = "Distance"; + odometer = machine.Item3; + odometer = odometer > 0 ? odometer : 0; + odometeruom = machine.Item4; + } + } + db.ExecSQL(SQL_MR, Guid.NewGuid().ToString().ToUpper(), alert.MachineID, enginehours, alert.Description, useriid, + alert.AlertID, odometer, odometeruom, logtype); + } + + private static List> GetMachines(FISqlConnection db) + { + const string SQL = "select MACHINEID,ENGINEHOURS,ODOMETER,ODOMETERUOM from MACHINES"; + List> list = new List>(); + DataTable dt = db.GetDataTableBySQL(SQL); + foreach (DataRow dr in dt.Rows) + { + long machineid = FIDbAccess.GetFieldInt(dr["MACHINEID"], 0); + double enginhours = FIDbAccess.GetFieldDouble(dr["ENGINEHOURS"], 0); + double odometer = FIDbAccess.GetFieldDouble(dr["ODOMETER"], 0); + string odometeruom = FIDbAccess.GetFieldString(dr["ODOMETERUOM"], string.Empty); + Tuple t = new Tuple(machineid, enginhours, odometer, odometeruom); + list.Add(t); + } + return list; + } + private static StringKeyValue[] GetMachineJobSites(FISqlConnection db) + { + const string SQL = "select jm.MACHINEID,j.JOBSITENAME from JOBSITEMACHINES jm left join JOBSITES j on jm.JOBSITEID=j.JOBSITEID"; + List list = new List(); + DataTable dt = db.GetDataTableBySQL(SQL); + foreach (DataRow dr in dt.Rows) + { + StringKeyValue kv = new StringKeyValue(); + kv.Key = FIDbAccess.GetFieldInt(dr["MACHINEID"], 0).ToString(); + kv.Value = FIDbAccess.GetFieldString(dr["JOBSITENAME"], string.Empty); + list.Add(kv); + } + return list.ToArray(); + } + + private static AlertInfo ConvertToAlertInfo(DataRow dr, double timeadjust) + { + AlertInfo ai = new AlertInfo(); + ai.AlertID = FIDbAccess.GetFieldInt(dr["ALERTID"], 0); + ai.AlertType = FIDbAccess.GetFieldString(dr["ALERTTYPE"], string.Empty); + ai.AlertTime_UTC = FIDbAccess.GetFieldDateTime(dr["ALERTTIME_UTC"], DateTime.MinValue); + if (ai.AlertTime_UTC != DateTime.MinValue) + ai.AlertTime_UTC = ai.AlertTime_UTC.AddHours(timeadjust); + ai.Completed = FIDbAccess.GetFieldInt(dr["COMPLETED"], 0) == 1; + ai.MachineID = FIDbAccess.GetFieldInt(dr["MACHINEID"], 0); + ai.VIN = FIDbAccess.GetFieldString(dr["VIN"], string.Empty); + ai.MachineName = FIDbAccess.GetFieldString(dr["MACHINENAME"], string.Empty); + ai.EngineHours = FIDbAccess.GetFieldDouble(dr["ENGINGHOURS"], 0); + ai.Description = FIDbAccess.GetFieldString(dr["ALERTDESC"], string.Empty); + ai.PMType = FIDbAccess.GetFieldString(dr["PMTYPE"], string.Empty); + return ai; + } + + private static Dictionary GetAssetEngineHour() + { + const string SQL_EH = @"select * from(select AssetId as MACHINEID,AsofTime as ASOFTIME_UTC,Amount,UOM,ROW_NUMBER() over(partition by AssetId order by AsofTime desc) as RowIndex from AssetEngineHours where Datasource<>'Calamp') t where RowIndex=1"; + + DataTable tbeh = null; + string dbString2 = SystemParams.GetIronIntelReportDataDbString(SystemParams.CompanyID); + if (!string.IsNullOrWhiteSpace(dbString2)) + { + var db2 = new FISqlConnection(dbString2); + tbeh = db2.GetDataTableBySQL(SQL_EH); + } + + Dictionary machineEngineHours = new Dictionary(); + if (tbeh != null && tbeh.Rows.Count > 0) + { + foreach (DataRow dr in tbeh.Rows) + { + string mID = FIDbAccess.GetFieldString(dr["MACHINEID"], string.Empty); + var meh = new AssetEngineHour(); + meh.EngineHours = FIDbAccess.GetFieldDouble(dr["Amount"], -1); + string uom = FIDbAccess.GetFieldString(dr["UOM"], string.Empty); + if (uom.ToLower() == "s") + meh.EngineHours = meh.EngineHours / 3600; + meh.EngineHoursDate = FIDbAccess.GetFieldDateTime(dr["ASOFTIME_UTC"], DateTime.MinValue); + if (meh.EngineHoursDate != DateTime.MinValue) + meh.EngineHoursDate = meh.EngineHoursDate.AddHours(SystemParams.GetHoursOffset()); + + machineEngineHours[mID] = meh; + } + } + + return machineEngineHours; + } + + } +} diff --git a/IronIntelContractorBusiness/Maintenance/FuelRecordInfo.cs b/IronIntelContractorBusiness/Maintenance/FuelRecordInfo.cs new file mode 100644 index 0000000..3e50a87 --- /dev/null +++ b/IronIntelContractorBusiness/Maintenance/FuelRecordInfo.cs @@ -0,0 +1,54 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Maintenance +{ + public class FuelRecordInfo + { + public string RetailerName { get; set; } + public string Notes { get; set; } + public decimal TotalCost { get; set; } + public decimal UnitCost { get; set; } + public decimal Quantity { get; set; } + public string Uom { get; set; } + public string FuelTypeName { get; set; } + public string FuelType { get; set; } + public double Odomerter { get; set; } + public string RetailerZip { get; set; } + public string RetailerState { get; set; } + public string RetailerCity { get; set; } + public string RetailerAddress { get; set; } + public bool IsComesFromAPI { get; set; } + public string DriverName { get; set; } + public string TicketNumber { get; set; } + public DateTime TransactionDate { get; set; } + public string TransactionDateStr { get { return TransactionDate == DateTime.MinValue ? "" : TransactionDate.ToString("MM/dd/yyyy HH:mm"); } } + public string AssetModel { get; set; } + public string AssetMake { get; set; } + public string AssetType { get; set; } + public string VIN { get; set; } + public string AssetName { get; set; } + public long AssetID { get; set; } + public long FuelID { get; set; } + public string DataSource { get; set; } + public string BrandName { get; set; } + } + + public class FuelRecordAuditItem : FuelRecordInfo + { + public long LogID { get; set; } + public DateTime LogTime { get; set; } + public string AddedByName { get; set; } + public string AddedBy { get; set; } + public string LasetUpdatedBy { get; set; } + public string LasetUpdatedByName { get; set; } + public DateTime AddedOn { get; set; } + public string AddedOnStr { get { return AddedOn == DateTime.MinValue ? "" : AddedOn.ToString("MM/dd/yyyy HH:mm:ss"); } } + public DateTime LastUpdatedOn { get; set; } + public string LastUpdatedOnStr { get { return LastUpdatedOn == DateTime.MinValue ? "" : LastUpdatedOn.ToString("MM/dd/yyyy HH:mm:ss"); } } + + } +} diff --git a/IronIntelContractorBusiness/Maintenance/IATCAlertsSyncService.cs b/IronIntelContractorBusiness/Maintenance/IATCAlertsSyncService.cs new file mode 100644 index 0000000..e60ce63 --- /dev/null +++ b/IronIntelContractorBusiness/Maintenance/IATCAlertsSyncService.cs @@ -0,0 +1,211 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Data; +using Foresight.Data; +using IronIntel.Contractor.Machines; + +namespace IronIntel.Contractor.Maintenance +{ + public class IATCAlertsSyncService + { + private static bool isrunning = false; + + private static Dictionary _AlertTypeMapping = new Dictionary(StringComparer.OrdinalIgnoreCase); + public static void Start() + { + if (isrunning) + { + return; + } + isrunning = true; + InitAlertTypeMapping(); + Thread thd = new Thread(DoWork); + thd.Start(); + } + + public static void Stop() + { + isrunning = false; + } + + private static void InitAlertTypeMapping() + { + _AlertTypeMapping.Clear(); + _AlertTypeMapping["FI-DTCJ1939"] = "FI - DTC"; + _AlertTypeMapping["FI-Jpod2"] = "FI - DTC"; + _AlertTypeMapping["Green-Inspect"] = "Green-Inspect"; + _AlertTypeMapping["INFO"] = "Info"; + _AlertTypeMapping["Info-Inspect"] = "Info-Inspect"; + _AlertTypeMapping["OTHER-Abnormality"] = "Red"; + _AlertTypeMapping["OTHER-Caution"] = "Yellow"; + _AlertTypeMapping["OTHER-OilSampleResult"] = "Oil Sample"; + _AlertTypeMapping["OTHER-PreventativeMaintenance"] = null; + _AlertTypeMapping["RED"] = "Red"; + _AlertTypeMapping["Red-Inspect"] = "Red-Inspect"; + _AlertTypeMapping["YELLOW"] = "Yellow"; + _AlertTypeMapping["Yellow-Inspect"] = "Yellow-Inspect"; + } + + + private static void DoWork() + { + const int SLEEPTIME = 60; + while (isrunning) + { + DateTime dt1 = DateTime.Now; + try + { + IATCAlertsSyncService svc = new IATCAlertsSyncService(); + svc.SyncAlerts(); + } + catch + { + } + TimeSpan sp = DateTime.Now - dt1; + int delta = SLEEPTIME - Convert.ToInt32(sp.TotalSeconds); + if (delta < 0) + { + delta = 1; + } + Thread.Sleep(delta * 1000); + } + } + + private IATCAlertsSyncService() + { + + } + + private Dictionary _Machines = new Dictionary(); + + private machinedata GetMachinedata(long id) + { + const string SQL = "select MACHINEID,VIN,MACHINENAME,MACHINENAME2,MAKEID,MODELID,TYPEID from MACHINES where MACHINEID={0}"; + + machinedata m = null; + if (_Machines.TryGetValue(id, out m)) + { + return m; + } + + FISqlConnection db = SystemParams.GetDbInstance(); + DataTable tb = db.GetDataTableBySQL(SQL, id); + if (tb.Rows.Count == 0) + { + _Machines.Add(id, null); + return null; + } + + m = new machinedata(); + m.ID = Convert.ToInt64(tb.Rows[0]["MACHINEID"]); + m.Name = FIDbAccess.GetFieldString(tb.Rows[0]["MACHINENAME"], string.Empty); + m.Name2 = FIDbAccess.GetFieldString(tb.Rows[0]["MACHINENAME2"], string.Empty); + m.VIN = FIDbAccess.GetFieldString(tb.Rows[0]["VIN"], string.Empty); + m.MakeID = FIDbAccess.GetFieldInt(tb.Rows[0]["MAKEID"], -1); + m.ModelID = FIDbAccess.GetFieldInt(tb.Rows[0]["MODELID"], -1); + m.TypeID = FIDbAccess.GetFieldInt(tb.Rows[0]["TYPEID"], -1); + m.ModelName = MachineManagement.GetMachineModelName(m.ModelID); + m.MakeName = MachineManagement.GetMachineMakeName(m.MakeID); + m.TypeName = MachineManagement.GetMachineTypeName(m.TypeID); + + _Machines[id] = m; + return m; + } + + public void SyncAlerts() + { + const string SQL = "select top 100 * from IATCALERTS where ALERTID>(select isnull(max(IATCALERTID),-1) from ALERTS where SRC='LOCALTABLE_IATCALERTS') order by ALERTID";//process most 100 alerts each time + + FISqlConnection db = SystemParams.GetDbInstance(); + DataTable tb = db.GetDataTableBySQL(SQL); + foreach (DataRow dr in tb.Rows) + { + long alertid = Convert.ToInt64(dr["ALERTID"]); + try + { + InsertData(db, dr); + } + catch (Exception ex) + { + SystemParams.WriteLog("Error", GetType().FullName + ". DoWork()", "Sync IATCALERTS failed: " + alertid, ex.ToString()); + } + } + } + + private void InsertData(FISqlConnection db, DataRow dr) + { + const string SQL = "if not exists(select 1 from ALERTS where SRC='LOCALTABLE_IATCALERTS' and IATCALERTID={0}) " + + "insert into ALERTS(ALERTTIME_UTC,ALERTTYPE,ALERTTITLE,ALERTDESC,MACHINEID,VIN,MACHINENAME,MODELID,MODELNAME," + + "MAKEID,MAKENAME,TYPEID,TYPENAME,ENGINGHOURS,LATITUDE,LONGITUDE,LOCDATE_UTC,SRC,INSERTTIME,REFID,IATCALERTID) " + + " values({1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},{16},{17},'LOCALTABLE_IATCALERTS',getdate(),{0},{0})"; + + long machineid = Convert.IsDBNull(dr["MACHINEID"]) ? -1 : Convert.ToInt64(dr["MACHINEID"]); + machinedata m = GetMachinedata(machineid); + if (m == null) + { + m = new machinedata(); + m.ID = machineid; + m.VIN = FIDbAccess.GetFieldString(dr["VIN"], string.Empty); + m.Name2 = FIDbAccess.GetFieldString(dr["MACHINENAME"], string.Empty); + m.MakeName = FIDbAccess.GetFieldString(dr["MAKE"], string.Empty); + m.ModelName = FIDbAccess.GetFieldString(dr["MODEL"], string.Empty); + m.TypeName = FIDbAccess.GetFieldString(dr["MACHINETYPE"], string.Empty); + } + long alertid = Convert.ToInt64(dr["ALERTID"]); + double hours = FIDbAccess.GetFieldDouble(dr["ENGINEHOURS"], 0); + double lat = FIDbAccess.GetFieldDouble(dr["CUR_LATITUDE"], 0); + double lon = FIDbAccess.GetFieldDouble(dr["CUR_LONGITUDE"], 0); + DateTime? locdate = FIDbAccess.GetNullableDateTime(dr["LOCATIONTIME_UTC"]); + DateTime? alerttime = FIDbAccess.GetNullableDateTime(dr["RECEIVEDDATE"]); + string title = FIDbAccess.GetFieldString(dr["ALERTTITLE"], string.Empty); + string desc = FIDbAccess.GetFieldString(dr["ALERTDESC"], string.Empty); + string alerttype = FIDbAccess.GetFieldString(dr["ALERTTYPE"], string.Empty); + alerttype = DetermineAlertType(alerttype.Trim()); + if (alerttype == null) + return; + db.ExecSQL(SQL, alertid, alerttime, alerttype, title, desc, m.ID, m.VIN, m.CustName, m.ModelID, m.ModelName, m.MakeID, m.MakeName, m.TypeID, m.TypeName, hours, lat, lon, locdate); + } + + private string DetermineAlertType(string alerttype) + { + if (!string.IsNullOrEmpty(alerttype)) + { + string temp = alerttype.Trim().Replace(" ", ""); + if (_AlertTypeMapping.ContainsKey(temp)) + alerttype = _AlertTypeMapping[temp]; + } + else + alerttype = ""; + return alerttype; + } + + class machinedata + { + public long ID = 0; + public string VIN = string.Empty; + public string Name = string.Empty; + public string Name2 = string.Empty; + public int MakeID = -1; + public int ModelID = -1; + public int TypeID = -1; + public string MakeName = string.Empty; + public string ModelName = string.Empty; + public string TypeName = string.Empty; + + public string CustName + { + get + { + if (!string.IsNullOrWhiteSpace(Name2)) + { + return Name2; + } + return string.IsNullOrWhiteSpace(Name) ? VIN : Name; + } + } + } + } +} diff --git a/IronIntelContractorBusiness/Maintenance/MaintenanceInfo.cs b/IronIntelContractorBusiness/Maintenance/MaintenanceInfo.cs new file mode 100644 index 0000000..f808c6c --- /dev/null +++ b/IronIntelContractorBusiness/Maintenance/MaintenanceInfo.cs @@ -0,0 +1,247 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Maintenance +{ + + public class PmScheduleInfo + { + public string PmScheduleID { get; set; } + public string PmScheduleName { get; set; } + public string PmScheduleUom { get; set; } + + public string PmScheduleType { get; set; } //PM,TBM,HM + public string Notes { get; set; } + + public PmIntervalItem[] Intervals { get; set; } + public int[] AllIntervals { get; set; } + } + + public class PmIntervalItem + { + public string PmIntervalID { get; set; } + public string ScheduleId { get; set; } + public int Interval { get; set; } + public int NotificationPeriod { get; set; } + + public string ServiceName { get; set; } + public bool Recurring { get; set; } + public int Priority { get; set; } + + public string ServiceDescription { get; set; } + } + + public class MaintenanceLogInfo + { + public string MaintenanceID { get; set; } + public long MachineID { get; set; } + public string MachinePin { get; set; } + public string MachineName { get; set; } + public string MachineName2 { get; set; } + public DateTime MaintenanceDate { get; set; } + public double MaintenanceHours { get; set; } + public string MachineMake { get; set; } + public string MachineModel { get; set; } + public string MachineType { get; set; } + + private double _EngineHours; + public double EngineHours + { + get + { + return _EngineHours; + } + set + { + value = value > 0 ? value : 0; + _EngineHours = Math.Round(value, 2); + } + } + public string Notes { get; set; } + public long AlertID { get; set; } + + private double _ODOMeter; + public double ODOMeter + { + get + { + return _ODOMeter; + } + set + { + value = value > 0 ? value : 0; + _ODOMeter = Math.Round(value, 2); + } + } + public string ODOMemterUOM { get; set; } + public string LogType { get; set; } + + public string AlertTitle { get; set; } + public string AlertType { get; set; } + public DateTime AlertTime { get; set; } + + public string StrForMaintenanceDate { get { return MaintenanceDate.ToShortDateString(); } } + + public string StrForAlertTime + { + get + { + if (AlertTime != DateTime.MinValue) + { + return AlertTime.ToString("yyyy-MM-dd HH:mm:ss"); + } + return ""; + } + } + + public double Cost { get; set; } + public string InvoiceNumber { get; set; } + public bool Completed { get; set; } + public string CompletedByName { get; set; } + public bool HasAttachment { get; set; } + + public string[] AttachmentIDs { get; set; }//用于保存 + public string ShowName + { + get + { + //Name取值顺序为Name2,Name,VIN,ID用于前端显示 + string name = MachineName2; + if (string.IsNullOrWhiteSpace(name)) + name = MachineName; + if (string.IsNullOrWhiteSpace(name)) + name = MachinePin; + if (string.IsNullOrWhiteSpace(name)) + name = MachineID.ToString(); + return name; + } + } + } + + + public class MaintenanceMachineInfo + { + public long MachineID { get; set; } + public string VIN { get; set; } + public string MachineName { get; set; } + public string MachineName2 { get; set; } + public string Make { get; set; } + public string Model { get; set; } + public int TypeID { get; set; } + public string MachineType { get; set; } + + private double _EngineHours; + public double EngineHours + { + get + { + return _EngineHours; + } + set + { + value = value > 0 ? value : 0; + _EngineHours = Math.Round(value, 2); + } + } + public DateTime StartDate { get; set; } + public double StartHours { get; set; } + public string StartDateString + { + get + { + if (StartDate == DateTime.MinValue) + return ""; + else + return StartDate.ToShortDateString(); + } + } + public string ShowName + { + get + { + //Name取值顺序为Name2,Name,VIN,ID用于前端显示 + string name = MachineName2; + if (string.IsNullOrWhiteSpace(name)) + name = MachineName; + if (string.IsNullOrWhiteSpace(name)) + name = VIN; + if (string.IsNullOrWhiteSpace(name)) + name = MachineID.ToString(); + return name; + } + } + + private double _Odometer; + public double Odometer + { + get + { + return _Odometer; + } + set + { + value = value > 0 ? value : 0; + _Odometer = Math.Round(value, 2); + } + } + + public double StartOdometer { get; set; } + public bool Hide { get; set; } + } + + public class PMAlert + { + public string LogID { get; set; } + public string AlertID { get; set; } + public string AlertTitle { get; set; } + public string AlertTime { get; set; } + + } + + public class PMAssetAlertInfo + { + public string PmScheduleID { get; set; } + public string PmIntervalId { get; set; } + public string ServiceName { get; set; } + public DateTime? LastAlertTime { get; set; } + public long AssetId { get; set; } + public DateTime? StartDate { get; set; } + public double? StartHours { get; set; } + public double? StartOdometer { get; set; } + public int? StartIntervalValue { get; set; } + public bool Selected { get; set; } + public int UnMaintainedAlert { get; set; } + + + public string PmScheduleName { get; set; } + public string PmScheduleUom { get; set; } + public string PmScheduleType { get; set; } + public string Notes { get; set; } + public PmIntervalItem[] Intervals { get; set; } + public int[] AllIntervals { get; set; } + + public string StartDateString + { + get + { + if (StartDate == null) + return ""; + else + return StartDate.Value.ToString("MM/dd/yyyy"); + } + } + public string LastAlertTimeString + { + get + { + if (LastAlertTime == null) + return ""; + else + return LastAlertTime.Value.ToString("MM/dd/yyyy"); + } + } + } +} diff --git a/IronIntelContractorBusiness/Maintenance/MaintenanceManagement.cs b/IronIntelContractorBusiness/Maintenance/MaintenanceManagement.cs new file mode 100644 index 0000000..d7330c6 --- /dev/null +++ b/IronIntelContractorBusiness/Maintenance/MaintenanceManagement.cs @@ -0,0 +1,939 @@ +using Foresight.Data; +using Foresight.Fleet.Services.Asset; +using Foresight.Fleet.Services.AssetHealth; +using Foresight.Fleet.Services.User; +using IronIntel.Contractor.Machines; +using IronIntel.Services; +using IronIntel.Services.Business.Admin; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Maintenance +{ + public class MaintenanceManagement + { + + #region PM SCHEDULES + + public static PmScheduleInfo[] GetPmSchedule(string sessionid, string pmtype) + { + var items = FleetServiceClientHelper.CreateClient(sessionid).GetPMScheduleItems(SystemParams.CompanyID, pmtype, string.Empty, true); + if (items == null || items.Length == 0) + return new PmScheduleInfo[0]; + List list = new List(); + foreach (var item in items) + { + PmScheduleInfo pm = new PmScheduleInfo(); + pm.PmScheduleID = item.Id; + pm.PmScheduleName = item.Name; + pm.PmScheduleUom = item.UOM; + pm.PmScheduleType = item.ScheduleType; + pm.Notes = item.Notes; + if (item.Intervals != null || item.Intervals.Count > 0) + { + List lsinterval = new List(); + foreach (var pi in item.Intervals) + { + PmIntervalItem piclient = new PmIntervalItem(); + Helper.CloneProperty(piclient, pi); + piclient.PmIntervalID = pi.Id; + lsinterval.Add(piclient); + } + pm.Intervals = lsinterval.ToArray(); + + if (pm.PmScheduleType == "HM" || pm.PmScheduleType == "RDM" || pm.PmScheduleType == "TBM") + pm.AllIntervals = GetAllIntervals(item); + } + else + pm.Intervals = new PmIntervalItem[0]; + list.Add(pm); + } + return list.ToArray(); + } + + public static PmScheduleInfo GetPMScheduleByID(string sessionid, string scheduleid) + { + var item = FleetServiceClientHelper.CreateClient(sessionid).GetPMScheduleItem(SystemParams.CompanyID, scheduleid, true); + PmScheduleInfo pm = new PmScheduleInfo(); + pm.PmScheduleID = item.Id; + pm.PmScheduleName = item.Name; + pm.PmScheduleUom = item.UOM; + pm.PmScheduleType = item.ScheduleType; + pm.Notes = item.Notes; + if (item.Intervals != null || item.Intervals.Count > 0) + { + List lsinterval = new List(); + foreach (var pi in item.Intervals) + { + PmIntervalItem piclient = new PmIntervalItem(); + Helper.CloneProperty(piclient, pi); + piclient.PmIntervalID = pi.Id; + lsinterval.Add(piclient); + } + pm.Intervals = lsinterval.ToArray(); + + if (pm.PmScheduleType == "HM" || pm.PmScheduleType == "RDM" || pm.PmScheduleType == "TBM") + pm.AllIntervals = GetAllIntervals(item); + } + else + pm.Intervals = new PmIntervalItem[0]; + + + return pm; + } + //private static int[] GetAllIntervals(PMScheduleItem sc) + //{ + // Dictionary> result = new Dictionary>(); + + // var intervals = sc.Intervals.Where(i => i.Recurring).OrderBy(i => i.Interval).ThenByDescending(i => i.Priority).ToList(); + // if (intervals.Count == 0) + // return new int[0]; + + // int maxInterval = intervals[intervals.Count() - 1].Interval; + // for (int i = intervals.Count - 1; i >= 0; i--) + // {//从最大的Interval开始 + // PMIntervalItem ia = intervals[i]; + + // int tempInterval = ia.Interval; + // var existIntervals = result.OrderBy(kv => kv.Key).Select(kv => kv.Key).ToList(); + + // if (!result.ContainsKey(tempInterval))//加入自己 + // { + // result[tempInterval] = new List(); + // } + // result[tempInterval].Add(ia); + + // tempInterval += ia.Interval; + // foreach (var ti in existIntervals) + // {//result排序后找第一个比tempInterval大的值 + // while (tempInterval < ti) + // { + // if (!result.ContainsKey(tempInterval)) + // { + // result[tempInterval] = new List(); + // } + // result[tempInterval].Add(ia); + // tempInterval += ia.Interval; + // } + + // tempInterval = ti; + // tempInterval += ia.Interval; + // } + // } + + // return result.Select(r => r.Key).OrderBy(r => r).ToArray(); + //} + + private static int[] GetAllIntervals(PMScheduleItem sc) + { + Dictionary result = new Dictionary(); + + var intervals = sc.Intervals.Where(i => i.Recurring).OrderBy(i => i.Interval).ThenByDescending(i => i.Priority).ToList(); + if (intervals.Count == 0) + return null; + + int maxInterval = 0; + for (int i = 0; i < intervals.Count; i++) + { + PMIntervalItem ia = intervals[i]; + if (maxInterval == 0) + maxInterval = ia.Interval; + else + maxInterval = GetMinCommonMultiple(maxInterval, ia.Interval); + } + for (int i = 0; i < intervals.Count; i++) + { + PMIntervalItem ia = intervals[i]; + int tempInterval = ia.Interval; + while (tempInterval <= maxInterval) + { + if (result.ContainsKey(tempInterval)) + { + if (ia.Priority < result[tempInterval].Priority + || (ia.Priority == result[tempInterval].Priority + && ia.Interval == result[tempInterval].Interval)) + result[tempInterval] = ia; + } + else + result[tempInterval] = ia; + + tempInterval += ia.Interval; + } + } + + return result.Select(r => r.Key).OrderBy(r => r).Take(1000).ToArray(); + //最大只取1000个,正常设置不会超过1000,异常设置数量太多会使前端页面卡死 + } + + private static int GetMaxCommonDivisor(int a, int b) + { + if (a < b) { a = a + b; b = a - b; a = a - b; } + return (a % b == 0) ? b : GetMaxCommonDivisor(a % b, b); + } + + private static int GetMinCommonMultiple(int a, int b) + { + return a * b / GetMaxCommonDivisor(a, b); + } + + public static PmIntervalItem[] GetPmInterval(string sessionid, string scheduleid) + { + var items = FleetServiceClientHelper.CreateClient(sessionid).GetPMIntervals(SystemParams.CompanyID, scheduleid); + if (items == null || items.Length == 0) + return new PmIntervalItem[0]; + + List list = new List(); + foreach (var pi in items) + { + PmIntervalItem piclient = new PmIntervalItem(); + Helper.CloneProperty(piclient, pi); + piclient.PmIntervalID = pi.Id; + list.Add(piclient); + } + + return list.ToArray(); + } + + public static PMAssetAlertInfo[] GetPmScheduleByAsset(string sessionid, long assetid) + { + List result = new List(); + var client = FleetServiceClientHelper.CreateClient(sessionid); + var sches = client.GetPMScheduleItems(SystemParams.CompanyID, "", string.Empty, true); + var aas = client.GetPMAssetAlertItems(SystemParams.CompanyID, assetid); + foreach (var item in sches) + { + PMAssetAlertInfo pm = new PMAssetAlertInfo(); + pm.PmScheduleID = item.Id; + pm.PmScheduleName = item.Name; + pm.PmScheduleUom = item.UOM; + pm.PmScheduleType = item.ScheduleType; + pm.Notes = item.Notes; + if (item.Intervals != null || item.Intervals.Count > 0) + { + List lsinterval = new List(); + foreach (var pi in item.Intervals) + { + PmIntervalItem piclient = new PmIntervalItem(); + Helper.CloneProperty(piclient, pi); + piclient.PmIntervalID = pi.Id; + lsinterval.Add(piclient); + } + pm.Intervals = lsinterval.ToArray(); + + if (pm.PmScheduleType == "HM" || pm.PmScheduleType == "RDM" || pm.PmScheduleType == "TBM") + pm.AllIntervals = GetAllIntervals(item); + } + else + pm.Intervals = new PmIntervalItem[0]; + + if (aas != null) + { + var aa = aas.FirstOrDefault(a => a.PMScheduleId.Equals(pm.PmScheduleID, StringComparison.OrdinalIgnoreCase)); + if (aa != null) + { + pm.Selected = true; + pm.AssetId = aa.AssetId; + pm.PmScheduleID = aa.PMScheduleId; + pm.PmIntervalId = aa.PMIntervalId; + pm.ServiceName = aa.ServiceName; + pm.LastAlertTime = aa.LastAlertTime; + pm.StartDate = aa.StartDate; + pm.StartHours = aa.StartHours; + pm.StartOdometer = aa.StartOdometer; + pm.StartIntervalValue = aa.StartIntervalValue; + pm.UnMaintainedAlert = aa.UnMaintainedAlert; + } + } + + result.Add(pm); + } + return result.ToArray(); + } + + public static PmScheduleInfo GetPmScheduleByID(string sessionid, string scheduleid) + { + const string SQL = @"select PMSCHEDULEID,SCHEDULENAME,SCHEDULETYPE,NOTES,SCHEDULEUOM from PM_SCHEDULES where PMSCHEDULEID={0}"; + FISqlConnection db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(SQL, scheduleid); + if (dt.Rows.Count == 0) + { + return new PmScheduleInfo(); + } + PmScheduleInfo si = ConvertPmScheduleInfo(dt.Rows[0]); + si.Intervals = GetPmInterval(sessionid, si.PmScheduleID); + return si; + } + + public static void UpdatePmSchedule(string sessionid, PmScheduleInfo si, string useriid) + { + PMScheduleItem pm = new PMScheduleItem(); + pm.Id = si.PmScheduleID; + pm.Name = si.PmScheduleName; + pm.UOM = si.PmScheduleUom; + pm.ScheduleType = si.PmScheduleType; + pm.Notes = si.Notes; + if (si.Intervals != null && si.Intervals.Length > 0) + { + List list = new List(); + foreach (PmIntervalItem piclient in si.Intervals) + { + PMIntervalItem pi = new PMIntervalItem(); + Helper.CloneProperty(pi, piclient); + pi.Id = piclient.PmIntervalID; + pi.ScheduleId = pm.Id; + list.Add(pi); + } + pm.Intervals.AddRange(list); + } + FleetServiceClientHelper.CreateClient(sessionid).UpdatePMSchedule(SystemParams.CompanyID, pm, useriid); + } + + public static void UpdatePmInterval(string sessionid, PmIntervalItem piclient, string useriid) + { + PMIntervalItem interval = new PMIntervalItem(); + Helper.CloneProperty(interval, piclient); + interval.Id = piclient.PmIntervalID; + FleetServiceClientHelper.CreateClient(sessionid).UpdatePMInterval(SystemParams.CompanyID, interval, useriid); + } + + public static MaintenanceMachineInfo[] GetPmMachinesByScheduleId(string scheduleid) + { + const string SQL = @"select a.MACHINEID,a.STARTDATE,a.STARTHOURS,a.STARTOTOMETER,b.MACHINENAME,b.MACHINENAME2,b.VIN,b.MAKEID,b.MODELID,b.TYPEID,b.HIDE, + ISNULL(b.ENGINEHOURS,0) as ENGINEHOURS,ISNULL(b.ODOMETER,0) as ODOMETER,ISNULL(b.ODOMETERUOM,'Mile') AS ODOMETERUOM + from PM_MACHINES a,MACHINES b where a.MACHINEID=b.MACHINEID and a.PMSCHEDULEID={0}"; + + FISqlConnection db = SystemParams.GetDbInstance(); + DataTable tb = db.GetDataTableBySQL(SQL, scheduleid); + if (tb.Rows.Count == 0) + { + return new MaintenanceMachineInfo[0]; + } + MachineManagement.RefreshBaseData(); + MachineMake[] makes = MachineManagement.GetMachineMakes(); + MachineModel[] models = MachineManagement.GetMachineModels(); + MachineType[] types = MachineManagement.GetMachineTypes(); + List ls = new List(); + foreach (DataRow dr in tb.Rows) + { + MaintenanceMachineInfo mi = ConvertToMaintenanceMachineInfo(dr, makes, models, types); + ls.Add(mi); + } + return ls.ToArray(); + } + + + private static object GetValueOrNull(DateTime v) + { + if (v == DateTime.MinValue || v == new DateTime(1900, 1, 1)) + return null; + else + return v; + } + + public static void DeletePmMachine(string scheduleid, string machineid) + { + const string SQL = "delete from PM_MACHINES where PMSCHEDULEID={0} and MACHINEID={1}"; + FISqlConnection db = SystemParams.GetDbInstance(); + db.ExecSQL(SQL, scheduleid, machineid); + } + + private static bool CheckPmScheduleNameRepeat(string scheduleid, string schedulename) + { + const string SQL = "select COUNT(1) from PM_SCHEDULES where PMSCHEDULEID!={0} and SCHEDULENAME={1}"; + FIDbAccess db = SystemParams.GetDbInstance(); + object obj = db.GetRC1BySQL(SQL, scheduleid, schedulename); + if (Convert.ToInt32(obj) > 0) + { + return true; + } + return false; + } + public static bool CheckPmScheduleHasMachine(string scheduleid) + { + const string SQL_M = "select COUNT(1) from PM_MACHINES where PMSCHEDULEID={0}"; + FIDbAccess db = SystemParams.GetDbInstance(); + object objm = db.GetRC1BySQL(SQL_M, scheduleid); + if (Convert.ToInt32(objm) > 0) + { + return true; + } + return false; + } + private static PmScheduleInfo ConvertPmScheduleInfo(DataRow dr) + { + PmScheduleInfo si = new PmScheduleInfo(); + si.PmScheduleID = FIDbAccess.GetFieldString(dr["PMSCHEDULEID"], string.Empty); + si.PmScheduleName = FIDbAccess.GetFieldString(dr["SCHEDULENAME"], string.Empty); + si.PmScheduleType = FIDbAccess.GetFieldString(dr["SCHEDULETYPE"], string.Empty); + si.Notes = FIDbAccess.GetFieldString(dr["NOTES"], string.Empty); + si.PmScheduleUom = FIDbAccess.GetFieldString(dr["SCHEDULEUOM"], string.Empty); + return si; + } + + #endregion + + #region Maintenance Log + + public static MaintenanceLogInfo[] GetMaintenanceLog(string sessionid, long assetid, string maintenancetype, int machinetype, string searchtxt, string useriid) + { + const string SQL = @"select a.MAINTENANCEID,a.MACHINEID,a.MAINTENANCEDATE,a.MAINTENANCEHOURS,a.NOTES,a.ALERTID,b.MACHINENAME,b.MACHINENAME2, b.VIN,b.MAKEID, b.MODELID,b.TYPEID,ISNULL(b.ENGINEHOURS,0) as ENGINEHOURS, + t.ALERTTYPE,t.ALERTTITLE,t.ALERTTIME_UTC,ISNULL(a.ODOMETER,0) AS ODOMETER,ISNULL(a.ODOMETERUOM,'Hour') AS ODOMETERUOM, isnull(LOGTYPE,'Hours') AS LOGTYPE ,a.COST,a.INVOICENUMBER,a.COMPLETEDBY,a.COMPLETEDBYUSERNAME, + (select top 1 ATTACHID from ATTACHES where SOURCE='MaintenanceLog' and REFID=a.MAINTENANCEID and isnull(DELETED,0)=0) ATTACHID + from MAINTENANCELOG a left join ALERTS t on a.ALERTID=t.ALERTID,MACHINES b + where a.MACHINEID = b.MACHINEID and ISNULL(b.HIDE,0)<>1"; + const string ORDER_BY = " ORDER BY a.ADDEDON DESC"; + + string sql = SQL; + //if (string.Compare("Distance", maintenancetype, true) == 0) + //{ + // sql = SQL + " and a.LOGTYPE='" + maintenancetype + "'"; + //} + //else + //{ + // sql = SQL + " and a.LOGTYPE='" + maintenancetype + "'"; + // sql = SQL + " and (a.LOGTYPE='" + maintenancetype + "' or a.LOGTYPE is null)"; + //} + if (assetid > 0) + { + sql = sql + " and a.MACHINEID=" + assetid; + } + if (machinetype >= 0) + { + sql = sql + " and b.TYPEID=" + machinetype.ToString() + ORDER_BY; + } + else + { + sql = sql + ORDER_BY; + } + + FISqlConnection db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(sql, useriid); + if (dt.Rows.Count == 0) + { + return new MaintenanceLogInfo[0]; + } + + long[] availableAssetsids = null; + var user = Users.UserManagement.GetUserByIID(useriid); + if (user.UserType < Users.UserTypes.Admin) + availableAssetsids = FleetServiceClientHelper.CreateClient(sessionid).GetAvailableAssetsForUsers(SystemParams.CompanyID, useriid); + + MachineManagement.RefreshBaseData(); + MachineMake[] makes = MachineManagement.GetMachineMakes(); + MachineModel[] models = MachineManagement.GetMachineModels(); + MachineType[] types = MachineManagement.GetMachineTypes(); + + List list = new List(); + foreach (DataRow dr in dt.Rows) + { + long mid = FIDbAccess.GetFieldInt64(dr["MACHINEID"], 0); + if (user.UserType < Users.UserTypes.Admin && !availableAssetsids.Contains(mid)) + continue; + + MaintenanceLogInfo ml = ConvertToMaintenanceLogInfo(dr, makes, models, types); + ml.AlertTitle = FIDbAccess.GetFieldString(dr["ALERTTITLE"], string.Empty); + ml.AlertType = FIDbAccess.GetFieldString(dr["ALERTTYPE"], string.Empty); + ml.AlertTime = FIDbAccess.GetFieldDateTime(dr["ALERTTIME_UTC"], DateTime.MinValue); + ml.HasAttachment = !string.IsNullOrWhiteSpace(FIDbAccess.GetFieldString(dr["ATTACHID"], string.Empty)); + + if (!string.IsNullOrWhiteSpace(searchtxt)) + { + if (Helper.Contains(ml.MachineID.ToString(), searchtxt) + || Helper.Contains(ml.MachinePin, searchtxt) + || Helper.Contains(ml.MachineName, searchtxt) + || Helper.Contains(ml.MachineName2, searchtxt) + || Helper.Contains(ml.MachineMake, searchtxt) + || Helper.Contains(ml.MachineModel, searchtxt) + || Helper.Contains(ml.MachineType, searchtxt) + || Helper.Contains(ml.StrForMaintenanceDate, searchtxt) + || Helper.Contains(ml.Notes, searchtxt)) + { + list.Add(ml); + } + } + else + { + list.Add(ml); + } + } + return list.ToArray(); + } + + public static MaintenanceLogInfo GetMaintenanceInfo(string maintenanceid) + { + const string SQL = @"select a.MAINTENANCEID,a.MACHINEID,a.MAINTENANCEDATE,a.MAINTENANCEHOURS,a.NOTES,a.ALERTID,b.MACHINENAME,b.MACHINENAME2,b.VIN,b.MAKEID,b.MODELID,b.TYPEID,ISNULL(b.ENGINEHOURS,0) as ENGINEHOURS, + t.ALERTTYPE,t.ALERTTITLE,t.ALERTTIME_UTC,ISNULL(a.ODOMETER,0) AS ODOMETER,ISNULL(a.ODOMETERUOM,'Hour') AS ODOMETERUOM, isnull(LOGTYPE,'Hours') AS LOGTYPE + ,a.COST,a.INVOICENUMBER,a.COMPLETEDBY,a.COMPLETEDBYUSERNAME from MAINTENANCELOG a left join ALERTS t on a.ALERTID=t.ALERTID,MACHINES b + where a.MACHINEID = b.MACHINEID and ISNULL(b.HIDE,0)<>1 and a.MAINTENANCEID={0} ORDER BY a.ADDEDON DESC"; + + FISqlConnection db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(SQL, maintenanceid); + if (dt.Rows.Count == 0) + { + return new MaintenanceLogInfo(); + } + + MachineManagement.RefreshBaseData(); + MachineMake[] makes = MachineManagement.GetMachineMakes(); + MachineModel[] models = MachineManagement.GetMachineModels(); + MachineType[] types = MachineManagement.GetMachineTypes(); + + MaintenanceLogInfo ml = ConvertToMaintenanceLogInfo(dt.Rows[0], makes, models, types); + return ml; + } + + public static MaintenanceLogInfo[] GetMaintenanceLogByMachineID(long MachineID, string maintenanceType) + { + string SQL = @"select a.MAINTENANCEID,a.MACHINEID,a.MAINTENANCEDATE,a.MAINTENANCEHOURS,a.NOTES,a.ALERTID,b.MACHINENAME,b.MACHINENAME2,b.VIN,b.MAKEID,b.MODELID,b.TYPEID,ISNULL(b.ENGINEHOURS,0) as ENGINEHOURS, ISNULL(a.ODOMETER,0) AS ODOMETER,ISNULL(a.ODOMETERUOM,'Mile') AS ODOMETERUOM, isnull(LOGTYPE,'Hours') AS LOGTYPE + ,a.COST,a.INVOICENUMBER,a.COMPLETEDBY,a.COMPLETEDBYUSERNAME from MAINTENANCELOG a, MACHINES b where a.MACHINEID = b.MACHINEID and a.MACHINEID={0}"; + if (maintenanceType != null) + SQL += " and LOGTYPE={1} "; + SQL += " ORDER BY a.ADDEDON DESC"; + FISqlConnection db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(SQL, MachineID, maintenanceType); + if (dt.Rows.Count == 0) + { + return new MaintenanceLogInfo[0]; + } + + MachineManagement.RefreshBaseData(); + MachineMake[] makes = MachineManagement.GetMachineMakes(); + MachineModel[] models = MachineManagement.GetMachineModels(); + MachineType[] types = MachineManagement.GetMachineTypes(); + + List list = new List(); + foreach (DataRow dr in dt.Rows) + { + MaintenanceLogInfo ml = ConvertToMaintenanceLogInfo(dr, makes, models, types); + list.Add(ml); + } + return list.ToArray(); + } + + public static MaintenanceLogInfo GetMaintenanceLogByMaintenanceID(string MaintenanceID) + { + const string SQL = @"select a.MAINTENANCEID,a.MACHINEID,a.MAINTENANCEDATE,a.MAINTENANCEHOURS,a.NOTES,a.ALERTID,b.MACHINENAME,b.MACHINENAME2,b.VIN,b.MAKEID,b.MODELID,b.TYPEID + ,ISNULL(b.ENGINEHOURS,0) as ENGINEHOURS,ISNULL(a.ODOMETER,0) AS ODOMETER,ISNULL(a.ODOMETERUOM,'Mile') AS ODOMETERUOM, isnull(LOGTYPE,'Hours') AS LOGTYPE + ,a.COST,a.INVOICENUMBER,a.COMPLETEDBY,a.COMPLETEDBYUSERNAME from MAINTENANCELOG a , MACHINES b where a.MACHINEID = b.MACHINEID and a.MAINTENANCEID={0}"; + + FISqlConnection db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(SQL, MaintenanceID); + if (dt.Rows.Count == 0) + { + return new MaintenanceLogInfo(); + } + MachineManagement.RefreshBaseData(); + MachineMake[] makes = MachineManagement.GetMachineMakes(); + MachineModel[] models = MachineManagement.GetMachineModels(); + MachineType[] types = MachineManagement.GetMachineTypes(); + + MaintenanceLogInfo ml = ConvertToMaintenanceLogInfo(dt.Rows[0], makes, models, types); + return ml; + } + + public static void UpdateMaintenanceLog(MaintenanceLogInfo ml, string addedby) + { + const string SQL = @"if exists(select 1 from MAINTENANCELOG where MAINTENANCEID={0}) update MAINTENANCELOG set MACHINEID ={1},MAINTENANCEDATE ={2}, + MAINTENANCEHOURS={3},NOTES={4},LASTUPDATEDBY={5},LASTUPDATEDON=GETUTCDATE(),ALERTID={6},ODOMETER={7},ODOMETERUOM={8},LOGTYPE={9},COST={10},INVOICENUMBER={11},COMPLETEDBYUSERNAME={12},COMPLETED={13},COMPLETEDDATE_UTC= (case {13} when 1 then GETUTCDATE() else null end) where MAINTENANCEID={0} else insert into MAINTENANCELOG(MAINTENANCEID, + MACHINEID,MAINTENANCEDATE,MAINTENANCEHOURS,NOTES,ADDEDBY,ADDEDON,LASTUPDATEDBY,LASTUPDATEDON,ALERTID,ODOMETER,ODOMETERUOM,LOGTYPE,COST,INVOICENUMBER,COMPLETEDBYUSERNAME,COMPLETED,COMPLETEDDATE_UTC) values({0},{1},{2},{3},{4},{5},GETUTCDATE(),{5},GETUTCDATE(),{6},{7},{8},{9},{10},{11},{12},{13},(case {13} when 1 then GETUTCDATE() else null end))"; + FISqlConnection db = SystemParams.GetDbInstance(); + db.ExecSQL(SQL, ml.MaintenanceID, ml.MachineID, ml.MaintenanceDate, ml.MaintenanceHours, ml.Notes, addedby, ml.AlertID, ml.ODOMeter, ml.ODOMemterUOM, ml.LogType, ml.Cost, ml.InvoiceNumber, ml.CompletedByName, ml.Completed ? 1 : 0); + } + + public static void DeleteMaintenanceLog(string maintencelogid) + { + const string SQL = "delete from MAINTENANCELOG where MAINTENANCEID={0}"; + FISqlConnection db = SystemParams.GetDbInstance(); + db.ExecSQL(SQL, maintencelogid); + } + + public static bool HasMaintenanceLog(long machineid) + { + const string SQL = "SELECT count([MAINTENANCEDATE]) FROM [MAINTENANCELOG] where MACHINEID={0}"; + var db = SystemParams.GetDbInstance(); + return (int?)db.GetRC1BySQL(SQL, machineid) > 0; + } + + public static PMAlert[] GetUnCompletedPMAlerts(long machineid, string maintencelogid) + { + List alerts = new List(); + const string SQL = "select LOGID,pm.ALERTID,pm.ALERTTIME_UTC,ALERTTITLE from PM_ALERTS pm left join ALERTS a on pm.ALERTID=a.ALERTID where pm.MACHINEID={0} and ((ISNULL(a.COMPLETED,0)<>1 and ISNULL(a.ACKNOWLEDGED,0)<>1) or exists(select 1 from MAINTENANCELOG ml where ml.ALERTID=a.ALERTID and MAINTENANCEID={1} ))"; + var db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(SQL, machineid, maintencelogid); + foreach (DataRow dr in dt.Rows) + { + PMAlert alert = new PMAlert(); + alert.LogID = FIDbAccess.GetFieldString(dr["LOGID"], string.Empty); + alert.AlertID = FIDbAccess.GetFieldString(dr["ALERTID"], string.Empty); + alert.AlertTitle = FIDbAccess.GetFieldString(dr["ALERTTITLE"], string.Empty); + DateTime at = FIDbAccess.GetFieldDateTime(dr["ALERTTIME_UTC"], DateTime.MinValue); + if (at != DateTime.MinValue) + alert.AlertTime = at.ToString("yyyy-MM-dd HH:mm:ss"); + alerts.Add(alert); + } + return alerts.ToArray(); + } + + public static void SetPMAlertCompleted(long alertID, bool completed, string completedby) + { + const string SQL = "update ALERTS set COMPLETED={0},COMPLETEDBY={2},COMPLETEDDATE_UTC=(case {0} when 1 then GETUTCDATE() else null end) where ALERTID={1}"; + var db = SystemParams.GetDbInstance(); + db.ExecSQL(SQL, completed ? 1 : 0, alertID, completedby); + } + + private static MaintenanceLogInfo ConvertToMaintenanceLogInfo(DataRow dr, MachineMake[] makes, MachineModel[] models, MachineType[] types) + { + MaintenanceLogInfo ml = new MaintenanceLogInfo(); + ml.MaintenanceID = FIDbAccess.GetFieldString(dr["MAINTENANCEID"], string.Empty); + ml.MachineID = FIDbAccess.GetFieldInt(dr["MACHINEID"], 0); + ml.MaintenanceDate = FIDbAccess.GetFieldDateTime(dr["MAINTENANCEDATE"], DateTime.MinValue); + ml.MaintenanceHours = FIDbAccess.GetFieldDouble(dr["MAINTENANCEHOURS"], 0); + ml.Notes = FIDbAccess.GetFieldString(dr["NOTES"], string.Empty); + ml.AlertID = FIDbAccess.GetFieldInt(dr["ALERTID"], -1); + ml.MachinePin = FIDbAccess.GetFieldString(dr["VIN"], string.Empty); + ml.MachineName = FIDbAccess.GetFieldString(dr["MACHINENAME"], string.Empty); + ml.MachineName2 = FIDbAccess.GetFieldString(dr["MACHINENAME2"], string.Empty); + ml.EngineHours = FIDbAccess.GetFieldDouble(dr["ENGINEHOURS"], 0); + ml.ODOMeter = FIDbAccess.GetFieldDouble(dr["ODOMETER"], 0); + ml.ODOMemterUOM = FIDbAccess.GetFieldString(dr["ODOMETERUOM"], "Mile"); + ml.LogType = FIDbAccess.GetFieldString(dr["LOGTYPE"], "Hours"); + ml.Cost = FIDbAccess.GetFieldDouble(dr["COST"], 0); + ml.InvoiceNumber = FIDbAccess.GetFieldString(dr["INVOICENUMBER"], ""); + ml.CompletedByName = FIDbAccess.GetFieldString(dr["COMPLETEDBYUSERNAME"], ""); + + int makeid = FIDbAccess.GetFieldInt(dr["MAKEID"], 0); + MachineMake make = MachineManagement.GetMachineMake(makes, makeid); + ml.MachineMake = make == null ? string.Empty : make.Name; + + int modelid = FIDbAccess.GetFieldInt(dr["MODELID"], 0); + MachineModel model = MachineManagement.GetMachineModel(models, modelid); + ml.MachineModel = model == null ? string.Empty : model.Name; + + int typeid = FIDbAccess.GetFieldInt(dr["TYPEID"], 0); + MachineType mtype = MachineManagement.GetMachineType(types, typeid); + ml.MachineType = mtype == null ? string.Empty : mtype.Name; + + return ml; + } + + public static WorkOrderInfo[] GetMaintenanceWorkOrders(string sessionid, string custid, string[] assignedusers, string[] asseitgroups, string filter, string useriid) + { + const string SQL = @"select m.MAINTENANCEID,m.COMPLETEDBY,(select USERNAME from USERS where USERS.USERIID=m.COMPLETEDBY) as ASSIGNEDTONAME,m.NOTES,m.MAINTENANCEDATE + ,b.MACHINEID,b.VIN,b.MACHINENAME,b.MACHINENAME2 from MAINTENANCELOG m left join MACHINES b on b.MACHINEID=m.MACHINEID + where m.ALERTID not in (select ALERTID from WORKORDER_ALERTS) and m.MACHINEID = b.MACHINEID and ISNULL(b.HIDE,0)<>1 "; + const string SQL_FILTER = " and (m.NOTES like {0} or b.MACHINEID like {0} or b.VIN like {0} or b.MACHINENAME like {0} or b.MACHINENAME2 like {0}) "; + const string SQL_ORDERBY = " order by m.MAINTENANCEID"; + + var user = FleetServiceClientHelper.CreateClient(custid, sessionid).GetUserByIID(useriid); + if (user == null || (!user.Active)) + { + return new WorkOrderInfo[0]; + } + if (user == null || (!user.Active)) + { + return new WorkOrderInfo[0]; + } + if (string.Compare(user.CompanyID, SystemParams.CompanyID, true) != 0 && (!user.IsForesightUser)) + { + return new WorkOrderInfo[0]; + } + + string sql = SQL; + if ((!user.IsForesightUser) && (user.ContactType == Foresight.Fleet.Services.User.ContactTypes.Technician)) + { + sql += " and m.COMPLETEDBY in ('" + useriid + "') "; + } + else if (assignedusers != null && assignedusers.Length > 0) + { + string uids = JoinSQLString(assignedusers); + sql += " and m.COMPLETEDBY in (" + uids + ") "; + } + + FISqlConnection db = SystemParams.GetDbInstance(); + long[] assets = null; + if (asseitgroups != null && asseitgroups.Length > 0) + { + assets = MachineManagement.GetGroupMachines(asseitgroups, db); + } + DataTable dt = null; + if (string.IsNullOrWhiteSpace(filter)) + dt = db.GetDataTableBySQL(sql + SQL_ORDERBY); + else + dt = db.GetDataTableBySQL(sql + SQL_FILTER + SQL_ORDERBY, "%" + filter + "%"); + + if (dt.Rows.Count == 0) + return new WorkOrderInfo[0]; + + List list = new List(); + foreach (DataRow dr in dt.Rows) + { + WorkOrderInfo wo = new WorkOrderInfo(); + + long assetid = FIDbAccess.GetFieldInt64(dr["MACHINEID"], 0); + if (assets != null && assets.Length > 0) + { + if (!assets.Contains(assetid)) + { + continue; + } + } + wo.AssetID = assetid; + wo.AssignedTo = FIDbAccess.GetFieldString(dr["COMPLETEDBY"], string.Empty); + wo.MaintenanceID = FIDbAccess.GetFieldString(dr["MAINTENANCEID"], string.Empty); + wo.Description = FIDbAccess.GetFieldString(dr["NOTES"], string.Empty); + wo.CompleteDate = FIDbAccess.GetFieldDateTime(dr["MAINTENANCEDATE"], DateTime.MinValue); + wo.VIN = FIDbAccess.GetFieldString(dr["VIN"], string.Empty); + wo.AssetName = FIDbAccess.GetFieldString(dr["MACHINENAME"], string.Empty); + wo.AssignedToName = FIDbAccess.GetFieldString(dr["ASSIGNEDTONAME"], wo.AssignedTo); + + list.Add(wo); + } + return list.ToArray(); + } + + public static string JoinSQLString(IEnumerable items) + { + StringBuilder sb = new StringBuilder(); + foreach (string s in items) + { + if (sb.Length == 0) + { + sb.Append("'" + s + "'"); + } + else + { + sb.Append(",'" + s + "'"); + } + } + return sb.ToString(); + } + + #endregion + + #region Machines + + + public static MaintenanceMachineInfo[] GetMaintenanceMachines1(string sessionid, int machinetype, string searchtxt, string useriid, string companyid = null) + { + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + //普通用户机器权限过滤 + long[] availableAssetsids = null; + var user = Users.UserManagement.GetUserByIID(useriid); + var client = FleetServiceClientHelper.CreateClient(companyid, sessionid); + if (user.UserType < Users.UserTypes.Admin) + availableAssetsids = client.GetAvailableAssetsForUsers(companyid, useriid); + AssetBasicInfo[] assets = client.GetAssetBasicInfo(companyid, searchtxt, availableAssetsids); + if (assets != null && machinetype != -1) + assets = assets.Where(m => m.TypeID == machinetype).ToArray(); + long[] mids = null; + if (assets != null) + mids = assets.AsEnumerable().Select(m => m.ID).ToArray(); + //var ehs = SystemParams.AssetClient.GetAssetsCurrentPrimaryEngineHours(companyid, mids); + var odos = client.GetAssetsCurrentPrimaryOdometer(companyid, mids); + List list = new List(); + foreach (var a in assets) + { + if (a.Hide) continue; + MaintenanceMachineInfo mi = new MaintenanceMachineInfo(); + mi.MachineID = a.ID; + mi.VIN = a.VIN; + mi.MachineName = a.Name; + mi.MachineName2 = a.Name2; + mi.Make = a.MakeName; + mi.Model = a.ModelName; + mi.TypeID = a.TypeID; + mi.MachineType = a.TypeName; + mi.Hide = a.Hide; + mi.EngineHours = a.EngineHours; + if (odos != null && odos.Length > 0) + { + var odo = odos.FirstOrDefault((o) => o.AssetID == mi.MachineID); + if (odo != null) + mi.Odometer = odo.Corrected; + } + + list.Add(mi); + } + + return list.ToArray(); + } + + public static MaintenanceMachineInfo[] GetMaintenanceMachines(string sessionid, int machinetype, string searchtxt, string useriid, string companyid = null) + { + const string SQL = @"select m.MACHINEID,m.MACHINENAME2,m.MACHINENAME,m.MAKEID,m.MODELID,m.TYPEID,m.VIN,ISNULL(m.ENGINEHOURS,0) as ENGINEHOURS, + ISNULL(m.ODOMETER,0) as ODOMETER,ISNULL(m.ODOMETERUOM,'Mile') AS ODOMETERUOM,m.HIDE from MACHINES m + where 1=1"; + const string ORDER_BY = " order by MACHINEID"; + + string sql = string.Empty; + if (machinetype >= 0) + { + sql = SQL + " and TYPEID=" + machinetype.ToString() + ORDER_BY; + } + else + { + sql = SQL + ORDER_BY; + } + + FIDbAccess db = null; + if (string.IsNullOrEmpty(companyid)) + { + companyid = SystemParams.CompanyID; + db = SystemParams.GetDbInstance(); + } + else + { + string connetionstring = SystemParams.GetDbStringByCompany(companyid); + db = new FISqlConnection(connetionstring); + } + + DataTable tb = db.GetDataTableBySQL(sql); + if (tb.Rows.Count == 0) + { + return new MaintenanceMachineInfo[0]; + } + + long[] availableAssetsids = null; + var user = Users.UserManagement.GetUserByIID(useriid); + if (user.UserType < Users.UserTypes.Admin) + availableAssetsids = FleetServiceClientHelper.CreateClient(companyid, sessionid).GetAvailableAssetsForUsers(companyid, useriid); + + MachineManagement.RefreshBaseData(); + MachineMake[] makes = MachineManagement.GetMachineMakes(); + MachineModel[] models = MachineManagement.GetMachineModels(); + MachineType[] types = MachineManagement.GetMachineTypes(); + List ls = new List(); + foreach (DataRow dr in tb.Rows) + { + long mid = Convert.ToInt64(dr["MACHINEID"]); + if (user.UserType < Users.UserTypes.Admin && !availableAssetsids.Contains(mid)) + continue; + MaintenanceMachineInfo mi = ConvertToMaintenanceMachineInfo(dr, makes, models, types); + mi.Hide = FIDbAccess.GetFieldInt(dr["HIDE"], 0) == 1; + if (mi.Hide) continue; + if (!string.IsNullOrWhiteSpace(searchtxt)) + { + if (Helper.Contains(mi.VIN, searchtxt) + || Helper.Contains(mi.MachineID.ToString(), searchtxt) + || Helper.Contains(mi.MachineName, searchtxt) + || Helper.Contains(mi.MachineName2, searchtxt) + || Helper.Contains(mi.Make, searchtxt) + || Helper.Contains(mi.MachineType, searchtxt) + || Helper.Contains(mi.Model, searchtxt)) + { + ls.Add(mi); + } + } + else + { + ls.Add(mi); + } + } + return ls.ToArray(); + } + + public static MaintenanceMachineInfo GetmachineByMachineID(long machineid) + { + string SQL = @"select MACHINEID,MACHINENAME,MACHINENAME2,MAKEID,MODELID,TYPEID,VIN,ISNULL(ENGINEHOURS,0) as ENGINEHOURS, + ISNULL(ODOMETER,0) as ODOMETER,ISNULL(ODOMETERUOM,'Mile') AS ODOMETERUOM from MACHINES where MACHINEID={0}"; + FISqlConnection db = SystemParams.GetDbInstance(); + DataTable tb = db.GetDataTableBySQL(SQL, machineid); + MaintenanceMachineInfo mi = new MaintenanceMachineInfo(); + if (tb.Rows.Count == 0) + { + mi.MachineID = -1; + return mi; + } + MachineManagement.RefreshBaseData(); + MachineMake[] makes = MachineManagement.GetMachineMakes(); + MachineModel[] models = MachineManagement.GetMachineModels(); + MachineType[] types = MachineManagement.GetMachineTypes(); + foreach (DataRow dr in tb.Rows) + { + mi = ConvertToMaintenanceMachineInfo(dr, makes, models, types); + } + return mi; + } + + public static MaintenanceMachineInfo ConvertToMaintenanceMachineInfo(DataRow dr, MachineMake[] makes, MachineModel[] models, MachineType[] types) + { + MaintenanceMachineInfo mi = new MaintenanceMachineInfo(); + mi.MachineID = Convert.ToInt64(dr["MACHINEID"]); + mi.MachineName = FIDbAccess.GetFieldString(dr["MACHINENAME"], string.Empty); + mi.MachineName2 = FIDbAccess.GetFieldString(dr["MACHINENAME2"], string.Empty); + mi.VIN = FIDbAccess.GetFieldString(dr["VIN"], string.Empty); + mi.EngineHours = FIDbAccess.GetFieldDouble(dr["ENGINEHOURS"], 0); + mi.Odometer = FIDbAccess.GetFieldDouble(dr["ODOMETER"], 0); + + int makeid = FIDbAccess.GetFieldInt(dr["MAKEID"], 0); + MachineMake make = MachineManagement.GetMachineMake(makes, makeid); + mi.Make = make == null ? string.Empty : make.Name; + + int modelid = FIDbAccess.GetFieldInt(dr["MODELID"], 0); + MachineModel model = MachineManagement.GetMachineModel(models, modelid); + mi.Model = model == null ? string.Empty : model.Name; + + int typeid = FIDbAccess.GetFieldInt(dr["TYPEID"], 0); + MachineType mtype = MachineManagement.GetMachineType(types, typeid); + mi.TypeID = mtype == null ? 0 : mtype.ID; + mi.MachineType = mtype == null ? string.Empty : mtype.Name; + + + if (dr.Table.Columns.Contains("STARTDATE")) + { + mi.StartDate = FIDbAccess.GetFieldDateTime(dr["STARTDATE"], DateTime.MinValue); + } + if (dr.Table.Columns.Contains("STARTHOURS")) + { + mi.StartHours = FIDbAccess.GetFieldDouble(dr["STARTHOURS"], 0); + } + if (dr.Table.Columns.Contains("STARTOTOMETER")) + { + mi.StartOdometer = FIDbAccess.GetFieldDouble(dr["STARTOTOMETER"], 0); + } + + return mi; + } + + #endregion + + public static string[] GetPMDescriptionByAssetID(string companyid, long assetid) + { + const string SQL_1 = @"select * from usvMaintenanceAlertsMapLayer ml with (nolock) right join + (select cast(MachineID as nvarchar) + cast(max(MaintenanceDate) as nvarchar) as MaintenanceID from usvMaintenanceAlertsMapLayer with (nolock) where PMStatus = 'Complete' + group by MachineID) a on ml.MaintenanceID = a.MaintenanceID where PMStatus = 'Complete' and MachineID={0}"; + const string SQL_2 = "select * from usvMaintenanceAlertsMapLayer with (nolock) where PMStatus = 'Overdue' and MachineID={0}"; + const string SQL_3 = "select * from usvMaintenanceAlertsMapLayer with (nolock) where PMStatus = 'Upcoming' and MachineID={0}"; + + + string connetionstring = SystemParams.DataDbConnectionString; + if (SystemParams.IsDealer) + connetionstring = SystemParams.GetDbStringByCompany(companyid); + + FISqlConnection db = new FISqlConnection(connetionstring); + DataTable dt = db.GetDataTableBySQL(SQL_1, assetid); + if (dt == null || dt.Rows.Count == 0) + dt = db.GetDataTableBySQL(SQL_2, assetid); + if (dt == null || dt.Rows.Count == 0) + dt = db.GetDataTableBySQL(SQL_3, assetid); + + if (dt == null || dt.Rows.Count == 0) + return new string[0]; + + List list = new List(); + foreach (DataRow dr in dt.Rows) + { + string desc = FIDbAccess.GetFieldString(dr["DESCRIPTION"], string.Empty); + list.Add(desc); + } + + return list.ToArray(); + } + + } +} diff --git a/IronIntelContractorBusiness/Maintenance/SegmentInfo.cs b/IronIntelContractorBusiness/Maintenance/SegmentInfo.cs new file mode 100644 index 0000000..77a8d4a --- /dev/null +++ b/IronIntelContractorBusiness/Maintenance/SegmentInfo.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Maintenance +{ + public class SegmentInfo + { + public long SegmentID { get; set; } + public long WorkOrderID { get; set; } + public long JobsiteID { get; set; } + public string JobsiteName { get; set; } + public string UserIID { get; set; } + public string UserName { get; set; } + public decimal Cost { get; set; } + public decimal Hours { get; set; } + public string Description { get; set; } + public string Notes { get; set; } + public bool Completed { get; set; } = false; + public DateTime? CompletedDate { get; set; } + public string CompletedDateStr { get { return CompletedDate == null ? "" : CompletedDate.Value.ToShortDateString(); } } + public string Component { get; set; } + } +} diff --git a/IronIntelContractorBusiness/Maintenance/WorkOrderInfo.cs b/IronIntelContractorBusiness/Maintenance/WorkOrderInfo.cs new file mode 100644 index 0000000..c932372 --- /dev/null +++ b/IronIntelContractorBusiness/Maintenance/WorkOrderInfo.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Maintenance +{ + public class WorkOrderInfo + { + public long ID { get; set; } + public string MaintenanceID { get; set; } + public string WorkOrderType { get; set; } + public string AssignedTo { get; set; } + public string AssignedToName { get; set; } + public string Status { get; set; } + public long AssetID { get; set; } + public string AssetName { get; set; } + public string VIN { get; set; } + public string Description { get; set; } + public DateTime? DueDate { get; set; } + public string DueDateStr { get { return DueDate == null ? "" : DueDate.Value.ToShortDateString(); } } + public DateTime? CompleteDate { get; set; } + public string CompleteDateStr { get { return CompleteDate == null ? "" : CompleteDate.Value.ToShortDateString(); } } + public string InvoiceNumber { get; set; } + } + + public class WorkOrderDetailInfo : WorkOrderInfo + { + public string MeterType { get; set; } + public double HourMeter { get; set; } + + private double _Odometer; + public double Odometer + { + get + { + return _Odometer; + } + set + { + value = value > 0 ? value : 0; + _Odometer = Math.Round(value, 2); + } + } + public string OdometerUnits { get; set; } + public decimal WorkOrderTotalCost { get; set; } + public decimal HoursToComplete { get; set; } + public string InternalID { get; set; } + public string Notes { get; set; } + public decimal PartsCost { get; set; } + public decimal TravelTimeCost { get; set; } + public decimal LaborCost { get; set; } + public decimal HourlyRate { get; set; } + public decimal OtherCost { get; set; } + } +} diff --git a/IronIntelContractorBusiness/Maintenance/WorkOrderManager.cs b/IronIntelContractorBusiness/Maintenance/WorkOrderManager.cs new file mode 100644 index 0000000..4072671 --- /dev/null +++ b/IronIntelContractorBusiness/Maintenance/WorkOrderManager.cs @@ -0,0 +1,189 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Data; +using Foresight.Data; +using System.Web; +using Foresight.Fleet.Services.AssetHealth; +using Foresight.Fleet.Services.Asset; + +namespace IronIntel.Contractor.Maintenance +{ + public class WorkOrderManager : BusinessBase + { + public WorkOrderManager(string dbstr) : base(dbstr) + { + } + + public long[] GetOpenWorkOrderID(string machineid) + { + const string SQL = "select WORKORDERID from WORKORDER where MACHINEID={0} and STATUS<>'Completed' and and isnull(DELETED,0)=0"; + DataTable tb = GetDataTableBySQL(SQL, machineid); + + List result = new List(); + foreach (DataRow dr in tb.Rows) + { + result.Add(FIDbAccess.GetFieldInt(dr[0], 0)); + } + + return result.ToArray(); + } + + public bool CanAccessWorkOrder(string sessionid, string woid, string mid, string useriid) + { + const string SQL = "select count(1) from WORKORDER where WORKORDERID={0} and ASSIGNEDTO={1}"; + + bool result = true; + var user = FleetServiceClientHelper.CreateClient(sessionid).GetUserByIID(useriid); + if ((!user.IsForesightUser) && (user.ContactType == Foresight.Fleet.Services.User.ContactTypes.Technician)) + { + result = FIDbAccess.GetFieldInt(GetRC1BySQL(SQL, woid, useriid), 0) > 0; + } + if (result && user.UserType < Foresight.Fleet.Services.User.UserTypes.Admin) + { + long assetid = -1; + if (!string.IsNullOrEmpty(mid)) + Int64.TryParse(mid, out assetid); + else + { + var client = FleetServiceClientHelper.CreateClient(sessionid); + var workorder = client.GetWorkOrderDetail(SystemParams.CompanyID, Convert.ToInt64(woid)); + assetid = workorder.AssetID; + } + long[] availableAssetsids = FleetServiceClientHelper.CreateClient(sessionid).GetAvailableAssetsForUsers(SystemParams.CompanyID, useriid); + if (availableAssetsids != null && !availableAssetsids.Contains(assetid)) + result = false; + } + return result; + } + + public string[] GetInvoiceNumber(string woid) + { + const string SQL = @"select a.INVOICENUMBER from WORKORDER_ALERTS t left join MAINTENANCELOG a on a.ALERTID=t.ALERTID,MACHINES b + where t.WORKORDERID={0} and a.MACHINEID = b.MACHINEID and ISNULL(b.HIDE,0)<>1 and ISNULL(a.INVOICENUMBER,'')<>'' ORDER BY a.ADDEDON DESC"; + + DataTable dt = GetDataTableBySQL(SQL, woid); + if (dt.Rows.Count == 0) + return new string[0]; + + List list = new List(); + foreach (DataRow dr in dt.Rows) + { + string num = FIDbAccess.GetFieldString(dr["INVOICENUMBER"], string.Empty); + if (!string.IsNullOrEmpty(num)) + list.Add(num); + } + return list.ToArray(); + } + + public static string GenerateWorkOrderPrintHtml(string sessionid, string companyid, long woid) + { + StringBuilder str = new StringBuilder(); + str.AppendLine("

Work Order

"); + str.AppendFormat("
Details for work order <{0}> are listed below:
", woid); + str.AppendLine(""); + //str.AppendLine("
Work Order Information:
"); + str.AppendLine("
"); + + var client = FleetServiceClientHelper.CreateClient(companyid, sessionid); + WorkOrderDetail wo = client.GetWorkOrderDetail(companyid, woid); + str.Append(GenerateWorkOrderInfoHtml(wo)); + str.AppendLine("
"); + //str.AppendLine("
Segments:
"); + + WorkOrderSegmentItem[] segments = client.GetSegments(companyid, woid); + + if (segments != null && segments.Length > 0) + { + for (int i = 0; i < segments.Length; i++) + { + var se = segments[i]; + str.Append(GenerateSegmentHtml(se, i + 1)); + } + } + + return str.ToString(); + } + + private static string GenerateWorkOrderInfoHtml(WorkOrderDetail wo) + { + StringBuilder str = new StringBuilder(); + str.Append(""); + str.AppendFormat("", wo.WorkOrderType); + str.AppendLine(""); + str.AppendFormat("", HttpUtility.HtmlEncode(wo.AssignedToName)); + str.AppendLine(""); + str.AppendFormat("", wo.Status); + str.AppendLine(""); + str.AppendFormat("", wo.DueDate == null ? "" : wo.DueDate.Value.ToShortDateString()); + str.AppendLine(""); + str.AppendFormat("", HttpUtility.HtmlEncode(wo.Description).Replace("\n", "
")); + str.AppendLine(""); + str.AppendFormat("", wo.MeterType); + str.AppendLine(""); + if (string.Compare(wo.MeterType, "HourMeter", true) == 0 + || string.Compare(wo.MeterType, "Both", true) == 0) + str.AppendFormat("", wo.HourMeter); + if (string.Compare(wo.MeterType, "Odometer", true) == 0 + || string.Compare(wo.MeterType, "Both", true) == 0) + str.AppendFormat("", wo.Odometer, wo.OdometerUnits); + str.AppendFormat("", wo.WorkOrderTotalCost); + str.AppendLine(""); + str.AppendFormat("", wo.OtherCost); + str.AppendLine(""); + str.AppendFormat("", wo.PartsCost); + str.AppendLine(""); + str.AppendFormat("", wo.TravelTimeCost); + str.AppendLine(""); + str.AppendFormat("", wo.LaborCost); + str.AppendLine(""); + str.AppendFormat("", wo.HourlyRate); + str.AppendLine(""); + str.AppendFormat("", wo.HoursToComplete); + str.AppendLine(""); + str.AppendFormat("", wo.CompleteDate == null ? "" : wo.CompleteDate.Value.ToShortDateString()); + str.AppendLine(""); + str.AppendFormat("", wo.InternalID); + str.AppendLine(""); + str.AppendFormat("", HttpUtility.HtmlEncode(wo.InvoiceNumber)); + str.AppendLine(""); + str.AppendFormat("", HttpUtility.HtmlEncode(wo.Notes).Replace("\n", "
")); + str.AppendLine(""); + str.AppendFormat("
Work Order Type{0}
Assigned To{0}
Status{0}
Due Date{0}
Description{0}
Meter Type{0}
Hour Meter{0}
Odometer{0} {1}
Work Order Total Costs ($){0}
Other Cost ($){0}
Parts Cost ($){0}
Travel Time Cost ($){0}
Labor Cost ($){0}
Hourly Rate{0}
Time To Complete(Hrs){0}
Completed Date{0}
Internal ID{0}
Invoice Number{0}
Notes{0}
"); + + return str.ToString(); + } + + private static string GenerateSegmentHtml(WorkOrderSegmentItem se, int index) + { + StringBuilder str = new StringBuilder(); + //str.AppendFormat("
", (index - 2) % 4 == 0 ? "page-break-after: always;" : ""); + //str.AppendLine(""); + str.AppendLine("
"); + str.AppendLine(""); + str.AppendFormat("", index); + str.AppendLine(""); + str.AppendFormat("", HttpUtility.HtmlEncode(se.UserName)); + str.AppendLine(""); + str.AppendFormat("", se.Hours); + str.AppendLine(""); + str.AppendFormat("", se.JobsiteName); + str.AppendLine(""); + str.AppendFormat("", se.Cost); + str.AppendLine(""); + str.AppendFormat("", se.Component); + str.AppendLine(""); + str.AppendFormat("", se.Completed ? "Yes" : "No"); + str.AppendLine(""); + str.AppendFormat("", se.CompletedDate == null ? "" : se.CompletedDate.Value.ToShortDateString()); + str.AppendFormat("", HttpUtility.HtmlEncode(se.Description)); + str.AppendLine(""); + str.AppendFormat("", HttpUtility.HtmlEncode(se.Notes).Replace("\n", "
")); + str.AppendLine(""); + str.AppendLine("
Segment {0}
User{0}
Hours{0}
Job Site{0}
Cost{0}
Component{0}
Completed{0}
Completed Date{0}
Description{0}
Notes{0}
"); + str.AppendLine("
"); + return str.ToString(); + } + } +} diff --git a/IronIntelContractorBusiness/MapView/AssetMapViewManagement.cs b/IronIntelContractorBusiness/MapView/AssetMapViewManagement.cs new file mode 100644 index 0000000..08ef5cb --- /dev/null +++ b/IronIntelContractorBusiness/MapView/AssetMapViewManagement.cs @@ -0,0 +1,425 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Web; +using Foresight.Data; +using Foresight.ServiceModel; +using IronIntel.Services.Business.Admin; +using IronIntel.Contractor.Machines; +using Foresight.Fleet.Services.Asset; +using Foresight.Fleet.Services.MapView; +using Foresight.Fleet.Services.JobSite; + +namespace IronIntel.Contractor.MapView +{ + public class AssetMapViewManagement : MachineManagement + { + /// + /// 根据Contractorid获取机器列表 + /// + /// + public static AssetViewItem[] GetAssets(string sessionid, string companyid, string useriid, string filtertext, int onroad, MachineAlertViewQueryParameter param, bool IncludeNoLocation) + { + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + + MapViewAssetsQueryParam qp = new MapViewAssetsQueryParam(); + qp.FilterString = filtertext; + qp.OnRoad = onroad; + qp.IncludeNoLocation = IncludeNoLocation; + qp.IncludeAssetGroups = true; + qp.IncludeJobSites = true; + if (param != null) + { + qp.ViewId = param.ViewID; + qp.AlertViewQueryParam = param; + } + + var client = FleetServiceClientHelper.CreateClient(companyid, sessionid); + AssetMapViewPinItem[] assets = client.GetAssets(companyid, useriid, qp); + List result = new List(); + foreach (var a in assets) + { + AssetViewItem avi = new AssetViewItem(); + Helper.CloneProperty(avi, a); + result.Add(avi); + } + return result.ToArray(); + } + + public static AssetDetailViewItem GetAssetDetailItem(string sessionid, string companyid, long machineid, string datasource = null) + { + var client = FleetServiceClientHelper.CreateClient(companyid, sessionid); + var asset = client.GetAssetDetailInfo(companyid, machineid); + AssetDetailViewItem mi = new AssetDetailViewItem(); + mi.ID = asset.ID; + mi.Name = asset.Name; + mi.Name2 = asset.Name2; + mi.VIN = asset.VIN; + mi.MakeYear = asset.MakeYear; + mi.Make = asset.MakeName; + mi.Model = asset.ModelName; + mi.AssetType = asset.TypeName; + mi.GroupNames = asset.GroupNames; + mi.IconUrl = asset.MapViewIconUrl; + mi.AssetIconUrl = asset.AssetIconUrl; + + if (asset.CurrentHours != null) + { + mi.EngineHours = asset.CurrentHours.Corrected; + mi.EngineHoursDate = asset.CurrentHours.AsofTimeLocal; + } + + mi.Location = new LocationViewItem(); + var loc = asset.CurrentLocation; + if (!string.IsNullOrWhiteSpace(datasource) + && (loc == null || string.Compare(datasource, loc.DataSource, true) != 0)) + { + AssetLocationInfo[] locs = client.GetAssetCurrentLocation(companyid, machineid); + var tempLoc = locs.FirstOrDefault(l => string.Compare(datasource, l.DataSource, true) != 0); + if (tempLoc != null) + { + mi.Location.Latitude = tempLoc.Latitude; + mi.Location.Longitude = tempLoc.Longitude; + mi.Location.LocationTime = tempLoc.AsofTimeLocal; + mi.Location.Speed = tempLoc.Speed; + mi.Location.SpeedUnit = tempLoc.SpeedUnits; + mi.Location.PostedSpeed = tempLoc.PostedSpeedLimit; + mi.Location.PostedSpeedUnit = tempLoc.SpeedLimitUnits; + mi.Location.Street = tempLoc.Street; + } + } + else if (loc != null) + { + mi.Location.Latitude = loc.Latitude; + mi.Location.Longitude = loc.Longitude; + mi.Location.LocationTime = loc.AsofTimeLocal; + mi.Location.Speed = loc.Speed; + mi.Location.SpeedUnit = loc.SpeedUnits; + mi.Location.PostedSpeed = loc.PostedSpeedLimit; + mi.Location.PostedSpeedUnit = loc.SpeedLimitUnits; + mi.Location.Street = loc.Street; + } + + if (asset.CurrentOdometer != null) + { + mi.Odometer = asset.CurrentOdometer.Corrected; + mi.OdometerUOM = asset.CurrentOdometer.UOM; + } + + return mi; + } + + public static AssetGroupViewItem[] GetAssetGroups(string sessionid, string companyid, string useriid, string searchtext) + { + var client = FleetServiceClientHelper.CreateClient(companyid, sessionid); + AssetGroupInfo[] gs = client.GetAvailableAssetGroups(companyid, useriid, searchtext, false); + + List list = new List(); + foreach (var g in gs) + { + AssetGroupViewItem ag = new AssetGroupViewItem(); + ag.ID = g.Id; + ag.Name = g.Name; + //ag.Assets = g.Assets; + list.Add(ag); + } + return list.ToArray(); + } + + public static JobSiteViewItem[] GetJobsites(string sessionid, string companyid, string useriid, string searchtext) + { + var client = FleetServiceClientHelper.CreateClient(companyid, sessionid); + MapViewJobSiteInfo[] jss = client.GetAvailableJobSites(companyid, useriid, searchtext, false); + + List list = new List(); + foreach (var js in jss) + { + JobSiteViewItem ajs = new JobSiteViewItem(); + ajs.ID = js.ID; + ajs.Name = js.Name; + ajs.Latitude = js.Latitude; + ajs.Longitude = js.Longitude; + ajs.Radius = js.Radius; + ajs.Radius_UOM = js.RadiusUOM; + //ajs.Assets = js.Assets; + + System.Drawing.Color color = System.Drawing.Color.Orange; + try + { + color = System.Drawing.ColorTranslator.FromHtml(js.Color); + } + catch + { + } + ajs.Color = new IIColor() { Alpha = color.A, Red = color.R, Green = color.G, Blue = color.B }; + if (js.Polygon != null) + { + List temp = new List(); + foreach (var p in js.Polygon) + { + temp.Add(new PostionItem(p.Latitude, p.Longtitude)); + } + ajs.Polygon = temp.ToArray(); + } + ajs.Notes = js.Notes; + list.Add(ajs); + } + return list.ToArray(); + } + + private static Dictionary> GetGroupAssets(string useriid, FISqlConnection db = null) + { + const string SQL = @"if(select count(1) from USERMACHINEGROUPMAP where USERIID={0})=0 + select a.MACHINEID,a.GROUPID,b.VIN,b.MACHINENAME,b.MACHINENAME2 from MACHINEGROUPMAP a,MACHINES b where a.MACHINEID=b.MACHINEID and ISNULL(b.HIDE,0)=0 + else + select a.MACHINEID,a.GROUPID,b.VIN,b.MACHINENAME,b.MACHINENAME2 from MACHINEGROUPMAP a,MACHINES b where a.MACHINEID=b.MACHINEID and ISNULL(b.HIDE,0)=0 + and b.MACHINEID in (select distinct MACHINEID from MACHINEGROUPMAP + where GROUPID in (select GROUPID from USERMACHINEGROUPMAP where USERIID={0}))"; + + if (db == null) + db = SystemParams.GetDbInstance(); + DataTable dt = null; + dt = db.GetDataTableBySQL(SQL, useriid); + + Dictionary> result = new Dictionary>(StringComparer.OrdinalIgnoreCase); + if (dt.Rows.Count == 0) + { + return result; + } + foreach (DataRow dr in dt.Rows) + { + MachineViewItem mi = new MachineViewItem(); + mi.ID = FIDbAccess.GetFieldInt64(dr["MACHINEID"], 0); + mi.Name = FIDbAccess.GetFieldString(dr["MACHINENAME"], string.Empty); + mi.Name2 = FIDbAccess.GetFieldString(dr["MACHINENAME2"], string.Empty); + mi.VIN = FIDbAccess.GetFieldString(dr["VIN"], string.Empty); + string groupID = FIDbAccess.GetFieldString(dr["GROUPID"], string.Empty); + if (!result.ContainsKey(groupID)) + result[groupID] = new List(); + result[groupID].Add(mi); + } + return result; + } + + private static void ConvertSpeedUnitToMile(LocationViewItem loc) + { + if (loc == null) return; + if (loc.Speed >= 0 && loc.SpeedUnit.StartsWith("K", StringComparison.OrdinalIgnoreCase)) + { + loc.Speed = loc.Speed * 0.6213712; + loc.SpeedUnit = "mi/h"; + } + if (loc.PostedSpeed > 0 && loc.PostedSpeedUnit.StartsWith("K", StringComparison.OrdinalIgnoreCase)) + { + loc.PostedSpeed = loc.PostedSpeed * 0.6213712; + loc.PostedSpeedUnit = "mi/h"; + } + } + + public static AssetLocationHistoryViewItem GetMachineLocationHistory(string sessionid, string machineid, DateTime startTime, DateTime endTime, string companyid, bool notShow00loc, string datasource) + { + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + + var client = FleetServiceClientHelper.CreateClient(companyid, sessionid); + AssetBasicInfo asset = client.GetAssetBasicInfoByID(companyid, Convert.ToInt64(machineid)); + AssetViewItem ai = new AssetViewItem(); + Helper.CloneProperty(ai, asset); + + double timeOffset = SystemParams.GetHoursOffset(); + startTime = startTime.AddHours(-timeOffset); + endTime = endTime.AddHours(-timeOffset); + + AssetLocationInfo[] assetLocs = client.GetAssetBasicLocationHistory(companyid, long.Parse(machineid), startTime, endTime, datasource, "", !notShow00loc); + + List ls = new List(); + foreach (AssetLocationInfo assetLoc in assetLocs) + { + LocationViewItem li = new LocationViewItem(); + li.Latitude = assetLoc.Latitude; + li.Longitude = assetLoc.Longitude; + li.LocationTime = assetLoc.AsofTime.AddHours(timeOffset); + + li.Speed = assetLoc.Speed; + li.SpeedUnit = assetLoc.SpeedUnits; + li.PostedSpeed = assetLoc.PostedSpeedLimit; + li.PostedSpeedUnit = assetLoc.SpeedLimitUnits; + li.Street = assetLoc.Street; + li.HarshDringEvent = assetLoc.HarshDringEvent; + li.SpeedingBehavior = assetLoc.SpeedingBehavior; + li.IconURL = GenerateLocationIconUrl(assetLoc); + li.SmartWitnessVideoUrl = assetLoc.SmartWitnessVideoUrl; + + ConvertSpeedUnitToMile(li); + ls.Add(li); + } + AssetLocationHistoryViewItem al = new AssetLocationHistoryViewItem(); + al.Machine = ai; + al.Locations = ls.ToArray(); + return al; + } + + private static string GenerateLocationIconUrl(AssetLocationInfo loc) + { + //http://iron.soft.rz/admin/machinetypeicon.ashx + //http://iron.soft.rz/admin/machinemovingicon.ashx + string path = SystemParams.MachineTypeMapViewIconUrl.ToLower().Replace("machinetypeicon.ashx", "machinemovingicon.ashx"); + const string PARAM = "?tp={0}&bkcolor={1}&heading={2}"; + int tp = (int)HarshDrivingEvents.HardAccelerationEvent; + string color = ""; + switch (loc.HarshDringEvent) + { + case HarshDrivingEvents.None: + break; + case HarshDrivingEvents.HardAccelerationEvent: + color = "#ff3f48cc"; + break; + case HarshDrivingEvents.HardBrakeEvent: + color = "#ff00a8f3"; + break; + case HarshDrivingEvents.HardTurnEvent: + color = "#fffff200"; + break; + } + if (string.IsNullOrEmpty(color)) + { + if (loc.SpeedingBehavior == SpeedingBehaviors.MinorSpeeding) + color = "#ffff7f27"; + else if (loc.SpeedingBehavior == SpeedingBehaviors.SevereSpeeding) + color = "#ffec1c24"; + } + if (string.IsNullOrEmpty(color)) + { + if (loc.MoveStatus == AssetMoveStatus.InMotion) + color = "#ff228B22"; + } + + if (loc.Speed <= 0 && loc.MoveStatus == AssetMoveStatus.Unknown) + loc.Heading = -1; + + if (string.IsNullOrEmpty(color)) + { + if (loc.MoveStatus == AssetMoveStatus.StoppedOn) + return path + "?legend=StoppedOn"; + else if (loc.MoveStatus == AssetMoveStatus.StoppedOff) + return path + "?legend=StoppedOff"; + } + color = HttpUtility.UrlEncode(color); + path = path + string.Format(PARAM, tp, color, loc.Heading); + + return path; + } + + public static MapAlertViewDefinitionItem[] GetMapAlertViews(string sessionid, string companyid, string selectedViewID) + { + if (string.IsNullOrWhiteSpace(companyid)) + companyid = SystemParams.CompanyID; + + var client = FleetServiceClientHelper.CreateClient(companyid, sessionid); + AlertViewMapItem[] views = client.GetAlertViewMapItems(companyid); + + AlertViewMapItem viewInfo = null; + try + { + if (!string.IsNullOrWhiteSpace(selectedViewID))//获取View下使用的数据源信息 + viewInfo = client.GetAlertViewMapItem(companyid, selectedViewID); + } + catch { } + + string path = SystemParams.MachineTypeMapViewIconUrl; + List ls = new List(); + foreach (AlertViewMapItem ai in views) + { + MapAlertViewDefinitionItem mi = new MapAlertViewDefinitionItem(); + mi.ID = ai.ID; + mi.Name = ai.Name; + + if (viewInfo != null && viewInfo.ID.Equals(mi.ID, StringComparison.OrdinalIgnoreCase)) + { + mi.Layers = new MapAlertLayerDefinitionItem[viewInfo.Layers.Count]; + for (int i = 0; i < viewInfo.Layers.Count; i++) + { + var layer = viewInfo.Layers[i]; + mi.Layers[i] = new MapAlertLayerDefinitionItem(); + mi.Layers[i].ID = layer.LayerId; + mi.Layers[i].Title = layer.Title; + mi.Layers[i].LegendUrl = layer.LegendUrl; + + if (layer.Pivots != null && layer.Pivots.Count > 0) + mi.Layers[i].Pivots = ConvertPivotsDefine(layer.Pivots); + } + //mi.Layers = mi.Layers.OrderBy((l) => l.AlertLayerType).ToArray(); + mi.LookupDataSources = ConvertLookupData(viewInfo.LookupDataSources); + } + ls.Add(mi); + } + return ls.OrderBy((mal) => mal.Name).ToArray(); + + } + + private static List ConvertLookupData(List data) + { + List result = new List(); + if (data != null) + { + foreach (LookupDataSourceData d in data) + { + LookupDataSourceDataItem item = new LookupDataSourceDataItem(); + item.ID = d.ID; + item.Name = d.Name; + item.Items.AddRange(d.Items); + result.Add(item); + } + } + return result; + } + + private static AlertLayerPivotViewItem[] ConvertPivotsDefine(List paramerters) + { + List list = new List(); + foreach (AlertLayerPivot pd in paramerters) + { + AlertLayerPivotViewItem pi = new AlertLayerPivotViewItem(); + Helper.CloneProperty(pi, pd); + if (pi.DataType == DataTypes.Datetime) + { + try + { + pi.DefaultValue = DateTime.Parse(pi.DefaultValue).ToString("M/d/yyyy"); + } + catch + { + } + } + list.Add(pi); + } + + return list.ToArray(); + } + + public static long[] GetNoGroupAssets(string companyid) + { + const string SQL = @"select b.MACHINEID from MACHINES b where not exists(select 1 from MACHINEGROUPMAP a where a.MACHINEID=b.MACHINEID) and isnull(b.HIDE,0)=0"; + + string dbs = SystemParams.GetCompanyDbString(companyid); + FISqlConnection db = new FISqlConnection(dbs); + if (db == null) + db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(SQL); + + List result = new List(); + if (dt.Rows.Count == 0) + { + return new long[0]; + } + foreach (DataRow dr in dt.Rows) + { + result.Add(FIDbAccess.GetFieldInt64(dr["MACHINEID"], 0)); + } + return result.ToArray(); + } + } +} diff --git a/IronIntelContractorBusiness/MapView/AssetViewItems.cs b/IronIntelContractorBusiness/MapView/AssetViewItems.cs new file mode 100644 index 0000000..b9949c1 --- /dev/null +++ b/IronIntelContractorBusiness/MapView/AssetViewItems.cs @@ -0,0 +1,123 @@ +using Foresight; +using Foresight.Fleet.Services.Asset; +using Foresight.Fleet.Services.MapView; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.MapView +{ + public class AssetViewItem + { + public long ID { get; set; } + public string VIN { get; set; } + public string Name { get; set; } + public string Name2 { get; set; } + public string Make { get; set; } + public string Model { get; set; } + public int Priority { get; set; } + public string AssetType { get; set; } + public double Latitude { get; set; } + public double Longitude { get; set; } + public string IconUrl { get; set; } + public string AlertTips { get; set; } + public List AssetGroups { get; set; } + public List JobSites { get; set; } + public string ShowName + { + get + { + //Name取值顺序为Name2,Name,VIN,ID用于前端显示 + string name = Name2; + if (string.IsNullOrWhiteSpace(name)) + name = Name; + if (string.IsNullOrWhiteSpace(name)) + name = VIN; + if (string.IsNullOrWhiteSpace(name)) + name = ID.ToString(); + return name; + } + }//由于地图显示及排序的名称 + + } + public class AssetDetailViewItem + { + private double _EngineHours; + public double EngineHours + { + get + { + return _EngineHours; + } + set + { + value = value > 0 ? value : 0; + _EngineHours = Math.Round(value, 2); + } + } + public DateTime EngineHoursDate { get; set; } + public string GroupNames { get; set; } + + private double _Odometer; + public double Odometer + { + get + { + return _Odometer; + } + set + { + value = value > 0 ? value : 0; + _Odometer = Math.Round(value, 2); + } + } + public string OdometerUOM { get; set; } + public int MakeYear { get; set; } + public string AssetType { get; set; } + public string Model { get; set; } + public string Make { get; set; } + public string VIN { get; set; } + public string Name2 { get; set; } + public string Name { get; set; } + public long ID { get; set; } + public string IconUrl { get; set; } + public string AssetIconUrl { get; set; } + public LocationViewItem Location { get; set; } + public string EngineHoursDateText + { + get + { + if (EngineHoursDate != DateTime.MinValue) + { + return EngineHoursDate.ToString(); + } + return ""; + } + } + } + + public class AssetLocationHistoryViewItem + { + public AssetViewItem Machine { get; set; } + public LocationViewItem[] Locations { get; set; } + } + + public class AlertLayerPivotViewItem + { + public string ID { get; set; } + public string Caption { get; set; } + public string Name { get; set; } + public DataTypes DataType { get; set; } + public string DefaultValue { get; set; } + public string ParameterValue { get; set; } + public QueryParameterDisplayStyles DisplayStyle { get; set; } + public string LookupDatasourceID { get; set; } + public bool DisplayCaptionField { get; set; } + public bool IsField { get; set; } + public bool IsAllAllowed { get; set; } + public bool MutipleSelect { get; set; } + public bool IsCriteriaSQL { get; set; } + } +} diff --git a/IronIntelContractorBusiness/MapView/JobManagement.cs b/IronIntelContractorBusiness/MapView/JobManagement.cs new file mode 100644 index 0000000..8e34bea --- /dev/null +++ b/IronIntelContractorBusiness/MapView/JobManagement.cs @@ -0,0 +1,125 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Foresight.Data; + +namespace IronIntel.Contractor.MapView +{ + public class JobManagement + { + public static JobSiteViewItem[] GetJobSite(string searchtext, int onroad, string companyid) + { + const string sql_1 = @"select JOBSITEID,JOBSITENAME,LATITUDE,LONGITUDE ,RADIUS,RADUIS_UOM,CONTRACTORID,COLOR,NOTES,STARTDATE,ENDDATE,POLYGON from JOBSITES where ENDDATE is null or ENDDATE>getdate() order by JOBSITENAME"; + const string sql_2 = @"select JOBSITEID,JOBSITENAME,LATITUDE,LONGITUDE ,RADIUS,RADUIS_UOM,CONTRACTORID,COLOR,NOTES,STARTDATE,ENDDATE,POLYGON from JOBSITES where (ENDDATE is null or ENDDATE>getdate()) and JOBSITENAME like {0} order by JOBSITENAME"; + + FISqlConnection db = SystemParams.GetCompanyDbConnection(companyid); + if (db == null) + { + return new JobSiteViewItem[0]; + } + DataTable dt = null; + if (string.IsNullOrWhiteSpace(searchtext)) + { + dt = db.GetDataTableBySQL(sql_1); + } + else + { + dt = db.GetDataTableBySQL(sql_2, "%" + searchtext + "%"); + } + List list = new List(); + if (dt.Rows.Count > 0) + { + foreach (DataRow dr in dt.Rows) + { + JobSiteViewItem js = new JobSiteViewItem(); + long JobSiteId = FIDbAccess.GetFieldInt(dr["JOBSITEID"], 0); + js.ID = FIDbAccess.GetFieldInt(dr["JOBSITEID"], 0); + js.Name = FIDbAccess.GetFieldString(dr["JOBSITENAME"], string.Empty); + js.Latitude = FIDbAccess.GetFieldDouble(dr["LATITUDE"], 0); + js.Longitude = FIDbAccess.GetFieldDouble(dr["LONGITUDE"], 0); + js.Radius = FIDbAccess.GetFieldDouble(dr["RADIUS"], 0); + js.Radius_UOM = FIDbAccess.GetFieldString(dr["RADUIS_UOM"], string.Empty); + if (string.IsNullOrWhiteSpace(js.Radius_UOM)) + js.Radius_UOM = "Mile"; + js.ContractorID = FIDbAccess.GetFieldString(dr["CONTRACTORID"], string.Empty); + js.ColorString = FIDbAccess.GetFieldString(dr["COLOR"], string.Empty); + System.Drawing.Color color = System.Drawing.Color.Orange; + try + { + color = System.Drawing.ColorTranslator.FromHtml(js.ColorString); + } + catch + { + } + js.Color = new IIColor() { Alpha = color.A, Red = color.R, Green = color.G, Blue = color.B }; + + js.Notes = FIDbAccess.GetFieldString(dr["NOTES"], string.Empty); + js.StartDate = FIDbAccess.GetFieldDateTime(dr["STARTDATE"], DateTime.MinValue); + js.EndDate = FIDbAccess.GetFieldDateTime(dr["ENDDATE"], DateTime.MinValue); + string polygon = FIDbAccess.GetFieldString(dr["POLYGON"], string.Empty); + js.Polygon = ConvertPolygonToPointItem(polygon); + MachineViewItem[] msiary = GetJobSiteMachines(JobSiteId, onroad, db); + if (msiary.Count() > 0) + { + js.Machines = msiary.OrderBy((m) => m.VIN).ToArray(); + } + else + { + js.Machines = null; + } + list.Add(js); + } + } + return list.ToArray(); + } + + private static MachineViewItem[] GetJobSiteMachines(long jobsiteid, int onroad, FISqlConnection db = null) + { + const string sql_m = @"select a.MACHINEID,b.VIN,b.MACHINENAME,b.MACHINENAME2,ONROAD from JOBSITEMACHINES a,MACHINES b where a.MACHINEID=b.MACHINEID and ISNULL(b.HIDE,0)=0 and a.JOBSITEID={0}"; + + if (db == null) + db = SystemParams.GetDbInstance(); + DataTable dt = null; + dt = db.GetDataTableBySQL(sql_m, jobsiteid); + + if (dt.Rows.Count == 0) + { + return new MachineViewItem[0]; + } + List list = new List(); + foreach (DataRow dr in dt.Rows) + { + MachineViewItem mi = new MachineViewItem(); + mi.ID = FIDbAccess.GetFieldInt64(dr["MACHINEID"], 0); + mi.Name = FIDbAccess.GetFieldString(dr["MACHINENAME"], string.Empty); + mi.Name2 = FIDbAccess.GetFieldString(dr["MACHINENAME2"], string.Empty); + mi.VIN = FIDbAccess.GetFieldString(dr["VIN"], string.Empty); + mi.Onroad = FIDbAccess.GetFieldInt(dr["ONROAD"], 0); + if (onroad < 0 || onroad == mi.Onroad) + list.Add(mi); + } + return list.ToArray(); + } + + private static PostionItem[] ConvertPolygonToPointItem(string polygon) + { + if (string.IsNullOrWhiteSpace(polygon)) + return null; + + List list = new List(); + var polygons = polygon.Split(';'); + foreach (var py in polygons) + { + PostionItem pi = new PostionItem(); + var sap = py.Split(','); + pi.Latitude = Convert.ToDouble(sap[0]); + pi.Longitude = Convert.ToDouble(sap[1]); + list.Add(pi); + } + return list.ToArray(); + } + } +} diff --git a/IronIntelContractorBusiness/MapView/LocationManagement.cs b/IronIntelContractorBusiness/MapView/LocationManagement.cs new file mode 100644 index 0000000..9729f23 --- /dev/null +++ b/IronIntelContractorBusiness/MapView/LocationManagement.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Foresight.Fleet.Services.Customer; +using IronIntel.Services; +using IronIntel.Services.Business.Admin; + +namespace IronIntel.Contractor.MapView +{ + public class LocationManagement + { + public static CompanyLocationViewItem[] GetCompanyLocations(string companyid) + { + List ls = new List(); + if (string.IsNullOrWhiteSpace(companyid) || string.Compare(companyid, SystemParams.CompanyID, true) == 0) + { + GetCompanyLocations(SystemParams.CompanyID, ls); + if (!SystemParams.IsDealer) + { + Services.Customers.CustomerInfo dealer = SystemParams.GetFirstDealerInfo(); + if (dealer != null) + { + GetCompanyLocations(dealer.ID, ls); + } + } + } + return ls.ToArray(); + } + + private static void GetCompanyLocations(string companyid, List ls) + { + CustomerLocation[] locations = FleetServiceClientHelper.CreateClient(companyid, string.Empty).GetCustomerLocations(companyid); + + foreach (CustomerLocation loc in locations) + { + ls.Add(ConvertToViewItem(loc, companyid)); + } + } + + private static CompanyLocationViewItem ConvertToViewItem(CustomerLocation loc, string companyid) + { + CompanyLocationViewItem li = new CompanyLocationViewItem(); + li.CompanyID = companyid; + li.ID = loc.ID; + li.LocationName = loc.Name; + li.Latitude = loc.Latitude; + li.Longitude = loc.Longitude; + li.Notes = loc.Notes; + + return li; + } + } +} diff --git a/IronIntelContractorBusiness/MapView/MachineStateInfo.cs b/IronIntelContractorBusiness/MapView/MachineStateInfo.cs new file mode 100644 index 0000000..7fb8cd8 --- /dev/null +++ b/IronIntelContractorBusiness/MapView/MachineStateInfo.cs @@ -0,0 +1,298 @@ +using Foresight; +using Foresight.Fleet.Services.Asset; +using IronIntel.Services.Common; +using IronIntel.Services.MapView; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.MapView +{ + public class MachineViewItem + { + public string VIN { get; set; } + public long ID { get; set; } + public string Name { get; set; } + public string Name2 { get; set; } + public string IconUrl { get; set; } + public string EmptyIconUrl { get; set; }//不包含机器图标 + public string MachineType { get; set; } + public string Make { get; set; } + public string Model { get; set; } + public int MakeYear { get; set; } + + private double _EngineHours; + public double EngineHours + { + get + { + return _EngineHours; + } + set + { + value = value > 0 ? value : 0; + _EngineHours = Math.Round(value, 2); + } + } + public DateTime EngineHoursDate { get; set; } + public int TypeID { get; set; } + public string AlertTip { get; set; } + public bool OnSite { get; set; } + public string JobSiteName { get; set; }//当前所在的JobSiteName + public double DistanceFromSite { get; set; }//机器与Jobsite之间的距离 + public bool WithinSite { get; set; }//机器是否在JobSite多边形范围内 + public LocationViewItem Location { get; set; } + + private double _Odometer; + public double Odometer + { + get + { + return _Odometer; + } + set + { + value = value > 0 ? value : 0; + _Odometer = Math.Round(value, 2); + } + } + public string OdometerUOM { get; set; } + public int Onroad { get; set; } + public string IconFileName { get; set; } + public string MoveStatus { get; set; } + public int Directionalheading { get; set; } + public int MapAlertLayerPriority { get; set; } + public Int64 GpsDeviceID { get; set; } //空 -1 + public string AssetGroupNames { get; set; } + public string ShowName + { + get + { + //Name取值顺序为Name2,Name,VIN,ID用于前端显示 + string name = Name2; + if (string.IsNullOrWhiteSpace(name)) + name = Name; + if (string.IsNullOrWhiteSpace(name)) + name = VIN; + if (string.IsNullOrWhiteSpace(name)) + name = ID.ToString(); + return name; + } + }//由于地图显示及排序的名称 + + public string EngineHoursDateText + { + get + { + if (EngineHoursDate != DateTime.MinValue) + { + return EngineHoursDate.ToString(); + } + return ""; + } + } + } + + public class JobSiteViewItem + { + public Int64 ID { get; set; } + public string Name { get; set; } + public string[] Types { get; set; } + public double Latitude { get; set; } + public double Longitude { get; set; } + public double Radius { get; set; } + public string Radius_UOM { get; set; } + public string ContractorID { get; set; } + public string ColorString { get; set; } + public IIColor Color { get; set; } + public string Notes { get; set; } + public DateTime StartDate { get; set; } + public DateTime EndDate { get; set; } + public PostionItem[] Polygon { get; set; } + public Int64 BaseOnMachineID { get; set; } + public string Code { get; set; } + public long[] Assets { get; set; } + public bool IsDeleted { get; set; } + + public string strStartDate + { + get + { + if (StartDate == DateTime.MinValue) + { + return ""; + } + else + { + return StartDate.ToShortDateString(); + } + } + } + + + + public string strEndDate + { + get + { + if (EndDate == DateTime.MinValue) + { + return ""; + } + else + { + return EndDate.ToShortDateString(); + } + } + } + + public MachineViewItem[] Machines { get; set; } + } + + public class AssetGroupViewItem + { + public string ID { get; set; } + public string Name { get; set; } + public long[] Assets { get; set; } + } + + public class CompanyLocationViewItem + { + public int ID { get; set; } + public string CompanyID { get; set; } + public double Latitude { get; set; } + public double Longitude { get; set; } + public string LocationName { get; set; } + public string Notes { get; set; } + public string IconUrl { get; set; } + } + + public class MapAlertViewDefinitionItem + { + public string ID { get; set; } + public string Name { get; set; } + public MapAlertLayerDefinitionItem[] Layers { get; set; } + public List LookupDataSources { get; set; } + } + + public class LookupDataSourceDataItem + { + public string ID { get; set; } + + private List> _Items = new List>(); + public List> Items + { + get + { + return _Items; + } + } + public string Name { get; set; } + } + + public class MapAlertLayerDefinitionItem + { + public string ID { get; set; } + public string Title { get; set; } + public string Description { get; set; } + public string IconColor { get; set; } + public string AlertLayerType { get; set; }//Primary/Secondary + public string LegendUrl { get; set; } + public DbQueryParameterItem[] CriteriaSQLParameters { get; set; } + public DbQueryParameterItem[] AlertSQLParameters { get; set; } + public AlertLayerPivotViewItem[] Pivots { get; set; } + + } + + public class DbQueryParameterItem + { + public string ID { get; set; } + public string Name { get; set; } + public string Caption { get; set; } + public string Description { get; set; } + public DataTypes DataType { get; set; } + public string DefaultValue { get; set; } + public string ParameterValue { get; set; } + public QueryParameterDisplayStyles DisplayStyle { get; set; } + public string LookupDatasourceID { get; set; } + public bool DisplayCaptionField { get; set; }//当参数显示为dropdown时,指示显示Key或者text + public bool IsField { get; set; }//表明该参数名是一个数据库参数或是结果集的字段,如果是结果集的字段,则该定义必须要与lookupdatasource关联。 + public bool IsAllAllowed { get; set; } + public bool MutipleSelect { get; set; } + } + + public class QueryParameterSource + { + public string ID { get; set; } + public string Name { get; set; } + } + + public class LocationViewItem + { + public double Latitude { get; set; } + public double Longitude { get; set; } + public DateTime LocationTime { get; set; } + public string LocationTimeText + { + get + { + if (LocationTime != DateTime.MinValue) + { + return LocationTime.ToString(); + } + return ""; + } + } + public double Speed { get; set; } = -1; + public string SpeedUnit { get; set; } + public double PostedSpeed { get; set; } = -1; + public string PostedSpeedUnit { get; set; } + public string Street { get; set; } = string.Empty; + public string IconURL { get; set; } = string.Empty; + public List> SmartWitnessVideoUrl { get; set; } + public SpeedingBehaviors SpeedingBehavior { get; set; } + public HarshDrivingEvents HarshDringEvent { get; set; } + } + + public class MachineLocationHistoryViewItem + { + public MachineViewItem Machine { get; set; } + public LocationViewItem[] Locations { get; set; } + } + + + public class MachineTypeItem + { + public int ID { get; set; } + public string Name { get; set; } + } + + /// + /// 供JobSite选中的Mahcine + /// + public class AvailableMachines + { + public MachineViewItem[] Assigned { get; set; } + public MachineViewItem[] Unassigned { get; set; } + } + public struct PostionItem + { + public double Latitude; + public double Longitude; + + public PostionItem(double latitude, double longitude) + { + Latitude = latitude; + Longitude = longitude; + } + } + + public class ShapeFileItem + { + public long ID { get; set; } + public string Name { get; set; } + public string Notes { get; set; } + } +} diff --git a/IronIntelContractorBusiness/MapView/MachinesMapViewerManagement.cs b/IronIntelContractorBusiness/MapView/MachinesMapViewerManagement.cs new file mode 100644 index 0000000..3558a36 --- /dev/null +++ b/IronIntelContractorBusiness/MapView/MachinesMapViewerManagement.cs @@ -0,0 +1,1232 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Web; +using Foresight.Data; +using Foresight.ServiceModel; +using IronIntel.Services.Business.Admin; +using IronIntel.Contractor.Machines; +using IronIntel.Services.MapView; +using Foresight.Fleet.Services.Asset; + +namespace IronIntel.Contractor.MapView +{ + public class MachinesMapViewerManagement : MachineManagement + { + + private const string MachineFields = "{0}MACHINEID,{0}MACHINENAME,{0}MAKEID,{0}MODELID,{0}TYPEID,{0}MACHINEICONID,{0}DEVICEID,{0}VIN,{0}MAKEYEAR,{0}NOTES,{0}STATUS,{0}CONTRACTORID,{0}DEALERID,{0}UID,{0}ADDEDON,{0}CUR_LONGITUDE,{0}CUR_LATITUDE,{0}LOCDATE_UTC,{0}ENGINEHOURS,{0}HOURSDATE_UTC,{0}DATASOURCE,{0}HIDE,{0}FUEL_CONSUMED,{0}FUEL_UNITS,{0}FUEL_DATE,{0}ODOMETER,{0}ODODATE_UTC,{0}ODOMETERUOM,{0}FUELCOST,{0}FUELCOSTUOM,{0}MACHINERATE,{0}WORKTYPE,{0}RETIREMENTHOURS,{0}RETIREMENTODO,{0}ALTITUDE,{0}ALTITUDEUNITS,{0}IDLEHOURSUTC,{0}IDLEHOURS,{0}LOADCOUNTUTC,{0}LOADCOUNT,{0}PAYLOADTOTALUTC,{0}PAYLOADTOTAL,{0}PAYLOADTOTALUNITS,{0}DEFREMAININGUTC,{0}DEFREMAINING,{0}FUELREMAININGUTC,{0}FUELREMAININGPERCENT,{0}MACHINENAME2,{0}ONROAD,{0}LEASESTART,{0}LEASEEND,{0}LEASEHOURS,{0}UNDERCARRIAGEHOURS,{0}ODOSTART2,{0}ISDELETED,{0}DELETEDDATE,{0}ODOSTART2DATASOURCE,{0}LOCDATASOURCE,{0}HOURSDATASOURCE,{0}FUELDATASOURCE,{0}AQUISITIONTYPE,{0}ICONFILENAME,{0}STARTINGENGINEHOURS,{0}DISTANCECALCBY,{0}TELEMATICSENABLED,{0}COSTCENTER,{0}EQCLASS,{0}DESCRIPTION,{0}MoveStatus,{0}DIRECTIONALHEADING"; + + private static readonly List Status_InMotion = new List { "InMotion", "START", "PRIOD", "TOWING_START" }; + /// + /// 根据Contractorid获取机器列表 + /// + /// + public static MachineViewItem[] GetMachines(string sessionid, string companyid, string useriid, string filtertext, int onroad, MachineAlertViewQueryParameter param) + { + string companyid1 = string.IsNullOrWhiteSpace(companyid) ? SystemParams.CompanyID : companyid; + MachineViewItem[] rst = GetMachineMapViewItem(sessionid, companyid1, useriid, filtertext, onroad); + if (param == null || string.IsNullOrWhiteSpace(param.ViewID)) + return ProcessMachineIconUrl(rst); + else + return ProcessMachineIconUrl(rst, companyid1, param); + } + + private static long[] ToMachineLongID(IEnumerable machines) + { + List ls = new List(); + foreach (string s in machines) + { + ls.Add(Convert.ToInt64(s)); + } + return ls.ToArray(); + } + + public static MachineViewItem[] GetMachines(string sessionid, string companyid, string useriid, MachineAlertViewQueryParameter param, string[] machines) + { + string companyid1 = string.IsNullOrWhiteSpace(companyid) ? SystemParams.CompanyID : companyid; + MachineViewItem[] rst = GetMachineMapViewItems(sessionid, companyid1, useriid, ToMachineLongID(machines)); + if (param == null || string.IsNullOrWhiteSpace(param.ViewID)) + return ProcessMachineIconUrl(rst); + else + return ProcessMachineIconUrl(rst, companyid1, param); + } + + public static MachineViewItem GetMachine(string sessionid, string companyid, string useriid, MachineAlertViewQueryParameter param, string machineid) + { + string companyid1 = string.IsNullOrWhiteSpace(companyid) ? SystemParams.CompanyID : companyid; + MachineViewItem item = GetMachineMapViewItem(sessionid, companyid1, useriid, machineid); + MachineViewItem[] result; + if (param == null || string.IsNullOrWhiteSpace(param.ViewID)) + result = ProcessMachineIconUrl(new MachineViewItem[] { item }); + else + result = ProcessMachineIconUrl(new MachineViewItem[] { item }, companyid1, param); + if (result != null && result.Length > 0) + return result[0]; + return null; + } + + public static MachineViewItem GetMachineWithDatasource(string sessionid, string companyid, string useriid, string machineid, string datasource) + { + companyid = string.IsNullOrWhiteSpace(companyid) ? SystemParams.CompanyID : companyid; + MachineViewItem item = GetMachineMapViewItem(companyid, useriid, machineid, datasource); + MachineViewItem[] result = ProcessMachineIconUrl(new MachineViewItem[] { item }); + if (result != null && result.Length > 0) + { + item = result[0]; + var locs = FleetServiceClientHelper.CreateClient(companyid, sessionid).GetAssetCurrentLocation(companyid, item.ID); + var loc = locs.FirstOrDefault(l => l.IsPrimary); + if (loc != null) + { + item.Location.Latitude = loc.Latitude; + item.Location.Longitude = loc.Longitude; + item.Location.LocationTime = loc.AsofTimeLocal; + } + return item; + } + return null; + } + + private static Dictionary> GetGroupAssets(string useriid, FISqlConnection db = null) + { + const string SQL = @"if(select count(1) from USERMACHINEGROUPMAP where USERIID={0})=0 + select a.MACHINEID,a.GROUPID,b.VIN,b.MACHINENAME,b.MACHINENAME2 from MACHINEGROUPMAP a,MACHINES b where a.MACHINEID=b.MACHINEID and ISNULL(b.HIDE,0)=0 + else + select a.MACHINEID,a.GROUPID,b.VIN,b.MACHINENAME,b.MACHINENAME2 from MACHINEGROUPMAP a,MACHINES b where a.MACHINEID=b.MACHINEID and ISNULL(b.HIDE,0)=0 + and b.MACHINEID in (select distinct MACHINEID from MACHINEGROUPMAP + where GROUPID in (select GROUPID from USERMACHINEGROUPMAP where USERIID={0}))"; + + if (db == null) + db = SystemParams.GetDbInstance(); + DataTable dt = null; + dt = db.GetDataTableBySQL(SQL, useriid); + + Dictionary> result = new Dictionary>(StringComparer.OrdinalIgnoreCase); + if (dt.Rows.Count == 0) + { + return result; + } + foreach (DataRow dr in dt.Rows) + { + MachineViewItem mi = new MachineViewItem(); + mi.ID = FIDbAccess.GetFieldInt64(dr["MACHINEID"], 0); + mi.Name = FIDbAccess.GetFieldString(dr["MACHINENAME"], string.Empty); + mi.Name2 = FIDbAccess.GetFieldString(dr["MACHINENAME2"], string.Empty); + mi.VIN = FIDbAccess.GetFieldString(dr["VIN"], string.Empty); + string groupID = FIDbAccess.GetFieldString(dr["GROUPID"], string.Empty); + if (!result.ContainsKey(groupID)) + result[groupID] = new List(); + result[groupID].Add(mi); + } + return result; + } + + private static List GetNoGroupAssets(FISqlConnection db = null) + { + const string SQL = @"select b.MACHINEID,b.VIN,b.MACHINENAME,b.MACHINENAME2 from MACHINES b where not exists(select 1 from MACHINEGROUPMAP a where a.MACHINEID=b.MACHINEID)"; + + if (db == null) + db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(SQL); + + List result = new List(); + if (dt.Rows.Count == 0) + { + return result; + } + foreach (DataRow dr in dt.Rows) + { + MachineViewItem mi = new MachineViewItem(); + mi.ID = FIDbAccess.GetFieldInt64(dr["MACHINEID"], 0); + mi.Name = FIDbAccess.GetFieldString(dr["MACHINENAME"], string.Empty); + mi.Name2 = FIDbAccess.GetFieldString(dr["MACHINENAME2"], string.Empty); + mi.VIN = FIDbAccess.GetFieldString(dr["VIN"], string.Empty); + result.Add(mi); + } + return result; + } + + private static ViewTemp GetMapAlertViewData(string companyid, string alertviewid) + { + if (string.IsNullOrWhiteSpace(alertviewid)) + { + return null; + } + MapAlertLayerClient mc = SystemParams.GetMapAlertLayerClient(); + MapAlertViewItem view = mc.GetMapAlertView(alertviewid, true); + if (view == null) + { + return null; + } + List ls = new List(); + foreach (MapAlertLayerItem layer in view.Layers) + { + LayerDataTemp ld = new LayerDataTemp(); + ld.Layer = layer; + ld.Machines = GetAlertViewMachines(companyid, layer.ID); + if (!string.IsNullOrWhiteSpace(layer.AlertSQL)) + { + ld.AlertDescriptions = GetAlertSQLResult(companyid, layer.ID); + } + ls.Add(ld); + } + ViewTemp tmp = new ViewTemp(); + tmp.Layers = ls.ToArray(); + return tmp; + } + + private static MachineViewItem[] ProcessMachineIconUrl(MachineViewItem[] items) + { + const string DEFAULT_BACKCOLOR = "#FF000000"; + const string DEFAULT_DOTCOLOR = "#FF000000"; + const string DEFAULT_COLOR_InMotion = "#FF008000";//Color.Green + const string PARAM = "?typeid={0}&bkcolor={1}&dotcolor={2}&move={3}&angle={4}&sn={5}"; + const string PARAMMACHINE = "?mid={0}&typeid={1}&bkcolor={2}&dotcolor={3}&move={4}&angle={5}&sn={6}"; + + if (items.Count() == 0) + { + return new MachineViewItem[0]; + } + + string path = SystemParams.MachineTypeMapViewIconUrl; + foreach (MachineViewItem item in items) + { + string pcolor = HttpUtility.UrlEncode(DEFAULT_BACKCOLOR); + string scolor = HttpUtility.UrlEncode(DEFAULT_DOTCOLOR); + if (Status_InMotion.Contains(item.MoveStatus, StringComparer.OrdinalIgnoreCase) && item.Directionalheading >= 0) + scolor = HttpUtility.UrlEncode(DEFAULT_COLOR_InMotion); + + if (!string.IsNullOrWhiteSpace(item.IconFileName)) + item.IconUrl = path + string.Format(PARAMMACHINE, item.ID, item.TypeID, pcolor, scolor, item.MoveStatus, item.Directionalheading, DateTime.Now.Ticks); + else + item.IconUrl = path + string.Format(PARAM, item.TypeID, pcolor, scolor, item.MoveStatus, item.Directionalheading, DateTime.Now.Ticks); + item.EmptyIconUrl = path + string.Format(PARAM, "-1", pcolor, scolor, item.MoveStatus, item.Directionalheading, DateTime.Now.Ticks); + + } + return items; + } + + private static MachineViewItem[] ProcessMachineIconUrl(MachineViewItem[] items, string companyid, MachineAlertViewQueryParameter param) + { + const string DEFAULT_BACKCOLOR = "#FF000000"; + const string DEFAULT_DOTCOLOR = "#FF000000"; + const string DEFAULT_COLOR_InMotion = "#FF008000";//Color.Green + const string PARAM = "?typeid={0}&bkcolor={1}&dotcolor={2}&move={3}&angle={4}&sn={5}"; + const string PARAMMACHINE = "?mid={0}&typeid={1}&bkcolor={2}&dotcolor={3}&move={4}&angle={5}&sn={6}"; + + if (items.Count() == 0) + { + return new MachineViewItem[0]; + } + + string path = SystemParams.MachineTypeMapViewIconUrl; + + MachineAlertViewQueryResult result = null; + if (param != null) + { + MachineAlertViewClient mc = GetMachineAlertViewClient(); + result = mc.QueryMachineAlertView(companyid, param.ViewID, param); + } + + List list = new List(); + foreach (MachineViewItem item in items) + { + long machineid = Convert.ToInt64(item.ID); + MachineAlertViewLayerQueryResult primarylayer = null; + MachineAlertViewLayerQueryResult secondlayer = null; + if (result != null) + { + primarylayer = result.GetLayer(machineid, true); + secondlayer = result.GetLayer(machineid, false); + } + if ((primarylayer == null) && (secondlayer == null)) + { + continue;//如果机器没有出现在alert view当中,则不在地图上显示 + } + + list.Add(item); + string pcolor = HttpUtility.UrlEncode(primarylayer == null ? DEFAULT_BACKCOLOR : primarylayer.Layer.IconColor); + string scolor = ""; + if (Status_InMotion.Contains(item.MoveStatus, StringComparer.OrdinalIgnoreCase) && item.Directionalheading >= 0)//InMotion + { + scolor = HttpUtility.UrlEncode(secondlayer == null ? DEFAULT_COLOR_InMotion : secondlayer.Layer.IconColor); + } + else + { + scolor = HttpUtility.UrlEncode(secondlayer == null ? DEFAULT_DOTCOLOR : secondlayer.Layer.IconColor); + } + + if (!string.IsNullOrWhiteSpace(item.IconFileName)) + item.IconUrl = path + string.Format(PARAMMACHINE, item.ID, item.TypeID, pcolor, scolor, item.MoveStatus, item.Directionalheading, DateTime.Now.Ticks); + else + item.IconUrl = path + string.Format(PARAM, item.TypeID, pcolor, scolor, item.MoveStatus, item.Directionalheading, DateTime.Now.Ticks); + item.EmptyIconUrl = path + string.Format(PARAM, -1, pcolor, scolor, item.MoveStatus, item.Directionalheading, DateTime.Now.Ticks); + if (primarylayer != null) + item.MapAlertLayerPriority = primarylayer.Layer.Priority; + if (primarylayer != null) + { + item.AlertTip = primarylayer.GetAlertTip(machineid); + } + if (secondlayer != null) + { + if (string.IsNullOrWhiteSpace(item.AlertTip)) + { + item.AlertTip = secondlayer.GetAlertTip(machineid); + } + else + { + item.AlertTip = item.AlertTip + "\r\n" + secondlayer.GetAlertTip(machineid); + } + } + } + + return list.ToArray(); + } + + private static long[] GetAlertViewMachines(string companyid, string alertlayerid) + { + if (string.IsNullOrWhiteSpace(companyid) || string.IsNullOrWhiteSpace(alertlayerid)) + { + return new long[0]; + } + try + { + MapAlertLayerClient mc = SystemParams.GetMapAlertLayerClient(); + return mc.GetCriteriaMachines(companyid, alertlayerid); + } + catch (Exception ex) + { + SystemParams.WriteLog("Error", typeof(MachinesMapViewerManagement).FullName + ".GetAlertViewMachines(string companyid, string alertlayerid)", ex.Message, ex.ToString()); + return new long[0]; + } + } + + private static StringKeyValue[] GetAlertSQLResult(string companyid, string alertlayerid) + { + if (string.IsNullOrWhiteSpace(companyid) || string.IsNullOrWhiteSpace(alertlayerid)) + { + return new StringKeyValue[0]; + } + try + { + MapAlertLayerClient mc = SystemParams.GetMapAlertLayerClient(); + return mc.GetAlertDescriptionResult(companyid, alertlayerid); + } + catch (Exception ex) + { + SystemParams.WriteLog("Error", typeof(MachinesMapViewerManagement).FullName + ".GetAlertSQLResult(string companyid, string alertlayerid)", ex.Message, ex.ToString()); + return new StringKeyValue[0]; + } + } + + + private static MachineViewItem[] GetMachineMapViewItem(string sessionid, string companyid, string useriid, string filtertext, int onroad) + { + string SQL_M = "select " + string.Format(MachineFields, "") + " from MACHINES where ISNULL(HIDE,0)=0"; + + const string SQL_L = @"select AssetId as MACHINEID,LATITUDE,LONGITUDE,AsofTime as ASOFTIME_UTC,MOVESTATUS,HEADING, Speed,SpeedUnits,PostedSpeedLimit,SpeedLimitUnits,Street from AssetLocation where IsPrimary=1"; + const string SQL_EH = @"select * from +(select AssetId as MACHINEID,AsofTime as ASOFTIME_UTC,Amount,UOM,ROW_NUMBER() over(partition by AssetId order by AsofTime desc) as RowIndex from AssetEngineHours where Datasource<>'Calamp') t +where RowIndex=1"; + + FISqlConnection db = SystemParams.GetCompanyDbConnection(companyid); + if (db == null) + { + return new MachineViewItem[0]; + } + DataTable tb = db.GetDataTableBySQL(SQL_M, useriid); + if (tb.Rows.Count == 0) + { + return new MachineViewItem[0]; + } + + double timeadjust = SystemParams.GetHoursOffset(); + DataTable tbl = null; + DataTable tbeh = null; + string dbString2 = SystemParams.GetIronIntelReportDataDbString(companyid); + if (!string.IsNullOrWhiteSpace(dbString2)) + { + var db2 = new FISqlConnection(dbString2); + tbl = db2.GetDataTableBySQL(SQL_L); + //tbeh = db2.GetDataTableBySQL(SQL_EH); + } + + Dictionary machineLocations = new Dictionary(); + if (tbl != null && tbl.Rows.Count > 0) + { + foreach (DataRow dr in tbl.Rows) + { + long mID = FIDbAccess.GetFieldInt64(dr["MACHINEID"], 0); + var ml = new AssetLocation(); + ml.Location = new LocationViewItem(); + ml.Location.Latitude = FIDbAccess.GetFieldDouble(dr["LATITUDE"], 0); + ml.Location.Longitude = FIDbAccess.GetFieldDouble(dr["LONGITUDE"], 0); + ml.Location.LocationTime = FIDbAccess.GetFieldDateTime(dr["ASOFTIME_UTC"], DateTime.MinValue); + if (ml.Location.LocationTime != DateTime.MinValue) + ml.Location.LocationTime = ml.Location.LocationTime.AddHours(timeadjust); + + ml.MoveStatus = FIDbAccess.GetFieldString(dr["MOVESTATUS"], string.Empty); + ml.Directionalheading = FIDbAccess.GetFieldInt(dr["HEADING"], -1); + ml.Location.Speed = FIDbAccess.GetFieldDouble(dr["Speed"], -1); + ml.Location.SpeedUnit = FIDbAccess.GetFieldString(dr["SpeedUnits"], string.Empty); + ml.Location.PostedSpeed = FIDbAccess.GetFieldDouble(dr["PostedSpeedLimit"], -1); + ml.Location.PostedSpeedUnit = FIDbAccess.GetFieldString(dr["SpeedLimitUnits"], string.Empty); + ml.Location.Street = FIDbAccess.GetFieldString(dr["Street"], string.Empty); + + machineLocations[mID] = ml; + } + } + + //Dictionary machineEngineHours = new Dictionary(); + //if (tbeh != null && tbeh.Rows.Count > 0) + //{ + // foreach (DataRow dr in tbeh.Rows) + // { + // string mID = FIDbAccess.GetFieldString(dr["MACHINEID"], string.Empty); + // var meh = new AssetEngineHour(); + // meh.EngineHours = FIDbAccess.GetFieldDouble(dr["Amount"], -1); + // string uom = FIDbAccess.GetFieldString(dr["UOM"], string.Empty); + // if (uom.ToLower() == "s") + // meh.EngineHours = meh.EngineHours / 3600; + // meh.EngineHoursDate = FIDbAccess.GetFieldDateTime(dr["ASOFTIME_UTC"], DateTime.MinValue); + // if (meh.EngineHoursDate != DateTime.MinValue) + // meh.EngineHoursDate = meh.EngineHoursDate.AddHours(timeadjust); + + // machineEngineHours[mID] = meh; + // } + //} + + var mids = tb.AsEnumerable().Select(c => c.Field("MACHINEID")).ToArray(); + var client = FleetServiceClientHelper.CreateClient(companyid, sessionid); + var ehs = client.GetAssetsCurrentPrimaryEngineHours(companyid, mids); + var odos = client.GetAssetsCurrentPrimaryOdometer(companyid, mids); + + long[] availableAssetsids = null; + var user = Users.UserManagement.GetUserByIID(useriid); + if (user.UserType < Users.UserTypes.Admin) + availableAssetsids = client.GetAvailableAssetsForUsers(companyid, useriid); + + RefreshBaseData(); + MachineMake[] makes = GetMachineMakes(); + MachineModel[] models = GetMachineModels(); + MachineType[] types = GetMachineTypes(); + List ls = new List(); + if (tb.Rows.Count > 0) + { + var groupassets = GetGroupsAssets(db); + foreach (DataRow dr in tb.Rows) + { + long mid = FIDbAccess.GetFieldInt64(dr["MACHINEID"], 0); + if (user.UserType < Users.UserTypes.Admin && !availableAssetsids.Contains(mid)) + continue; + MachineViewItem mi = ConvertToMachineViewItem(dr, makes, models, types, timeadjust); + if (onroad >= 0 && onroad != mi.Onroad) + continue; + + if (!string.IsNullOrWhiteSpace(filtertext) + && !Contains(mi.Name, filtertext) + && !Contains(mi.Name2.ToString(), filtertext) + && !Contains(mi.VIN.ToString(), filtertext) + && !Contains(mi.ID.ToString(), filtertext) + && !Contains(mi.Make, filtertext) + && !Contains(mi.MachineType, filtertext) + && !Contains(mi.Model, filtertext)) + { + continue; + } + + if (groupassets.ContainsKey(Convert.ToInt32(mi.ID))) + { + var groups = groupassets[Convert.ToInt32(mi.ID)].ToArray(); + mi.AssetGroupNames = string.Join(", ", groups.Select(m => m.Value)); + } + else + mi.AssetGroupNames = string.Empty; + + if (machineLocations.ContainsKey(mi.ID)) + { + var ml = machineLocations[mi.ID]; + mi.Location = ml.Location; + mi.MoveStatus = ml.MoveStatus; + mi.Directionalheading = ml.Directionalheading; + } + + ConvertSpeedUnitToMile(mi.Location); + //if (machineEngineHours.ContainsKey(mi.ID)) + //{ + // var meh = machineEngineHours[mi.ID]; + // mi.EngineHours = meh.EngineHours; + // mi.EngineHoursDate = meh.EngineHoursDate; + //} + if (ehs != null && ehs.Length > 0) + { + var eh = ehs.FirstOrDefault((o) => o.AssetID == mi.ID); + if (eh != null) + { + mi.EngineHours = eh.Corrected; + mi.EngineHoursDate = eh.AsofTimeLocal; + } + } + + if (odos != null && odos.Length > 0) + { + var odo = odos.FirstOrDefault((o) => o.AssetID == mi.ID); + if (odo != null) + { + mi.Odometer = odo.Corrected; + mi.OdometerUOM = odo.UOM; + } + } + ls.Add(mi); + } + } + return ls.ToArray(); + } + + private static MachineViewItem[] GetMachineMapViewItems(string sessionid, string companyid, string useriid, long[] machinids) + { + string SQL = "select " + string.Format(MachineFields, "") + " from MACHINES where MACHINEID in({MIDS}) and ISNULL(HIDE,0)=0"; + + const string SQL_L = @"select AssetId as MACHINEID,LATITUDE,LONGITUDE,AsofTime as ASOFTIME_UTC,MOVESTATUS,HEADING, Speed,SpeedUnits,PostedSpeedLimit,SpeedLimitUnits,Street from AssetLocation where IsPrimary=1 and AssetId in({MIDS})"; + const string SQL_EH = @"select * from +(select AssetId as MACHINEID,AsofTime as ASOFTIME_UTC,Amount,UOM,ROW_NUMBER() over(partition by AssetId order by AsofTime desc) as RowIndex from AssetEngineHours where AssetId in({MIDS}) and Datasource<>'Calamp') t +where RowIndex=1"; + + FISqlConnection db = SystemParams.GetCompanyDbConnection(companyid); + if (db == null) + { + return new MachineViewItem[0]; + } + string wh = string.Empty; + foreach (long id in machinids) + { + if (string.IsNullOrWhiteSpace(wh)) + { + wh = id.ToString(); + } + else + { + wh = wh + "," + id.ToString(); + } + } + DataTable tb = db.GetDataTableBySQL(SQL.Replace("{MIDS}", wh), useriid); + if (tb.Rows.Count == 0) + { + return new MachineViewItem[0]; + } + + double timeadjust = SystemParams.GetHoursOffset(); + DataTable tbl = null; + DataTable tbeh = null; + string dbString2 = SystemParams.GetIronIntelReportDataDbString(companyid); + if (!string.IsNullOrWhiteSpace(dbString2)) + { + var db2 = new FISqlConnection(dbString2); + tbl = db2.GetDataTableBySQL(SQL_L.Replace("{MIDS}", wh)); + //tbeh = db2.GetDataTableBySQL(SQL_EH.Replace("{MIDS}", wh)); + } + + Dictionary machineLocations = new Dictionary(); + if (tbl != null && tbl.Rows.Count > 0) + { + foreach (DataRow dr in tbl.Rows) + { + long mID = FIDbAccess.GetFieldInt64(dr["MACHINEID"], 0); + var ml = new AssetLocation(); + ml.Location = new LocationViewItem(); + ml.Location.Latitude = FIDbAccess.GetFieldDouble(dr["LATITUDE"], 0); + ml.Location.Longitude = FIDbAccess.GetFieldDouble(dr["LONGITUDE"], 0); + ml.Location.LocationTime = FIDbAccess.GetFieldDateTime(dr["ASOFTIME_UTC"], DateTime.MinValue); + if (ml.Location.LocationTime != DateTime.MinValue) + ml.Location.LocationTime = ml.Location.LocationTime.AddHours(timeadjust); + + ml.MoveStatus = FIDbAccess.GetFieldString(dr["MOVESTATUS"], string.Empty); + ml.Directionalheading = FIDbAccess.GetFieldInt(dr["HEADING"], -1); + ml.Location.Speed = FIDbAccess.GetFieldDouble(dr["Speed"], -1); + ml.Location.SpeedUnit = FIDbAccess.GetFieldString(dr["SpeedUnits"], string.Empty); + ml.Location.PostedSpeed = FIDbAccess.GetFieldDouble(dr["PostedSpeedLimit"], -1); + ml.Location.PostedSpeedUnit = FIDbAccess.GetFieldString(dr["SpeedLimitUnits"], string.Empty); + ml.Location.Street = FIDbAccess.GetFieldString(dr["Street"], string.Empty); + + machineLocations[mID] = ml; + } + } + + //Dictionary machineEngineHours = new Dictionary(); + //if (tbeh != null && tbeh.Rows.Count > 0) + //{ + // foreach (DataRow dr in tbeh.Rows) + // { + // string mID = FIDbAccess.GetFieldString(dr["MACHINEID"], string.Empty); + // var meh = new AssetEngineHour(); + // meh.EngineHours = FIDbAccess.GetFieldDouble(dr["Amount"], -1); + // string uom = FIDbAccess.GetFieldString(dr["UOM"], string.Empty); + // if (uom.ToLower() == "s") + // meh.EngineHours = meh.EngineHours / 3600; + // meh.EngineHoursDate = FIDbAccess.GetFieldDateTime(dr["ASOFTIME_UTC"], DateTime.MinValue); + // if (meh.EngineHoursDate != DateTime.MinValue) + // meh.EngineHoursDate = meh.EngineHoursDate.AddHours(timeadjust); + + // machineEngineHours[mID] = meh; + // } + //} + var client = FleetServiceClientHelper.CreateClient(companyid, sessionid); + var ehs = client.GetAssetsCurrentPrimaryEngineHours(companyid, machinids); + var odos = client.GetAssetsCurrentPrimaryOdometer(companyid, machinids); + + long[] availableAssetsids = null; + var user = Users.UserManagement.GetUserByIID(useriid); + if (user.UserType < Users.UserTypes.Admin) + availableAssetsids = client.GetAvailableAssetsForUsers(companyid, useriid); + + MachineMake[] makes = GetMachineMakes(); + MachineModel[] models = GetMachineModels(); + MachineType[] types = GetMachineTypes(); + List ls = new List(); + if (tb.Rows.Count > 0) + { + var groupassets = GetGroupsAssets(db); + foreach (DataRow dr in tb.Rows) + { + long mid = FIDbAccess.GetFieldInt64(dr["MACHINEID"], 0); + if (user.UserType < Users.UserTypes.Admin && !availableAssetsids.Contains(mid)) + continue; + + MachineViewItem mi = ConvertToMachineViewItem(dr, makes, models, types, timeadjust); + + if (groupassets.ContainsKey(Convert.ToInt32(mi.ID))) + { + var groups = groupassets[Convert.ToInt32(mi.ID)].ToArray(); + mi.AssetGroupNames = string.Join(", ", groups.Select(m => m.Value)); + } + else + mi.AssetGroupNames = string.Empty; + + if (machineLocations.ContainsKey(mi.ID)) + { + var ml = machineLocations[mi.ID]; + mi.Location = ml.Location; + mi.MoveStatus = ml.MoveStatus; + mi.Directionalheading = ml.Directionalheading; + } + + ConvertSpeedUnitToMile(mi.Location); + //if (machineEngineHours.ContainsKey(mi.ID)) + //{ + // var meh = machineEngineHours[mi.ID]; + // mi.EngineHours = meh.EngineHours; + // mi.EngineHoursDate = meh.EngineHoursDate; + //} + + if (ehs != null && ehs.Length > 0) + { + var eh = ehs.FirstOrDefault((o) => o.AssetID == mi.ID); + if (eh != null) + { + mi.EngineHours = eh.Corrected; + } + } + + if (odos != null && odos.Length > 0) + { + var odo = odos.FirstOrDefault((o) => o.AssetID == mi.ID); + if (odo != null) + { + mi.Odometer = odo.Corrected; + mi.OdometerUOM = odo.UOM; + } + } + ls.Add(mi); + } + } + return ls.ToArray(); + } + + private static MachineViewItem GetMachineMapViewItem(string sessionid, string companyid, string useriid, string machineid, string datasource = "") + { + string SQL = "select " + string.Format(MachineFields, "") + " from MACHINES where MACHINEID={1}"; + + const string SQL_L = @"select AssetId as MACHINEID,LATITUDE,LONGITUDE,AsofTime as ASOFTIME_UTC,MOVESTATUS,HEADING, Speed,SpeedUnits,PostedSpeedLimit,SpeedLimitUnits,Street from AssetLocation where IsPrimary=1 and AssetId={0}"; + const string SQL_L_Datasource = @"select top 1 a.AssetId as MACHINEID,LATITUDE,LONGITUDE,AsofTime as ASOFTIME_UTC,MOVESTATUS,HEADING,Speed,SpeedUnits,PostedSpeedLimit,SpeedLimitUnits,Street from AssetLocation a where a.AssetId={0} and a.Datasource={1} order by AsofTime desc"; + + const string SQL_EH = @"select * from +(select AssetId as MACHINEID,AsofTime as ASOFTIME_UTC,Amount,UOM,ROW_NUMBER() over(partition by AssetId order by AsofTime desc) as RowIndex from AssetEngineHours where AssetId={0} and Datasource<>'Calamp') t +where RowIndex=1"; + FISqlConnection db = SystemParams.GetCompanyDbConnection(companyid); + if (db == null) + { + return null; + } + DataTable tb = db.GetDataTableBySQL(SQL, useriid, machineid); + if (tb.Rows.Count == 0) + { + return null; + } + DataTable tbl = null; + DataTable tbeh = null; + string dbString2 = SystemParams.GetIronIntelReportDataDbString(companyid); + if (!string.IsNullOrWhiteSpace(dbString2)) + { + var db2 = new FISqlConnection(dbString2); + if (string.IsNullOrEmpty(datasource)) + tbl = db2.GetDataTableBySQL(SQL_L, machineid); + else + tbl = db2.GetDataTableBySQL(SQL_L_Datasource, machineid, datasource); + //tbeh = db2.GetDataTableBySQL(SQL_EH, machineid); + } + + double timeadjust = SystemParams.GetHoursOffset(); + AssetLocation machineLocation = null; + if (tbl != null && tbl.Rows.Count > 0) + { + DataRow dr = tbl.Rows[0]; + string mID = FIDbAccess.GetFieldString(dr["MACHINEID"], string.Empty); + var ml = new AssetLocation(); + ml.Location = new LocationViewItem(); + ml.Location.Latitude = FIDbAccess.GetFieldDouble(dr["LATITUDE"], 0); + ml.Location.Longitude = FIDbAccess.GetFieldDouble(dr["LONGITUDE"], 0); + ml.Location.LocationTime = FIDbAccess.GetFieldDateTime(dr["ASOFTIME_UTC"], DateTime.MinValue); + if (ml.Location.LocationTime != DateTime.MinValue) + ml.Location.LocationTime = ml.Location.LocationTime.AddHours(timeadjust); + + ml.MoveStatus = FIDbAccess.GetFieldString(dr["MOVESTATUS"], string.Empty); + ml.Directionalheading = FIDbAccess.GetFieldInt(dr["HEADING"], -1); + ml.Location.Speed = FIDbAccess.GetFieldDouble(dr["Speed"], -1); + ml.Location.SpeedUnit = FIDbAccess.GetFieldString(dr["SpeedUnits"], string.Empty); + ml.Location.PostedSpeed = FIDbAccess.GetFieldDouble(dr["PostedSpeedLimit"], -1); + ml.Location.PostedSpeedUnit = FIDbAccess.GetFieldString(dr["SpeedLimitUnits"], string.Empty); + ml.Location.Street = FIDbAccess.GetFieldString(dr["Street"], string.Empty); + + machineLocation = ml; + } + + //AssetEngineHour machineEngineHour = null; + //if (tbeh != null && tbeh.Rows.Count > 0) + //{ + // DataRow dr = tbeh.Rows[0]; + // string mID = FIDbAccess.GetFieldString(dr["MACHINEID"], string.Empty); + // var meh = new AssetEngineHour(); + // meh.EngineHours = FIDbAccess.GetFieldDouble(dr["Amount"], -1); + // string uom = FIDbAccess.GetFieldString(dr["UOM"], string.Empty); + // if (uom.ToLower() == "s") + // meh.EngineHours = meh.EngineHours / 3600; + // meh.EngineHoursDate = FIDbAccess.GetFieldDateTime(dr["ASOFTIME_UTC"], DateTime.MinValue); + // if (meh.EngineHoursDate != DateTime.MinValue) + // meh.EngineHoursDate = meh.EngineHoursDate.AddHours(timeadjust); + + // machineEngineHour = meh; + //} + + var client = FleetServiceClientHelper.CreateClient(companyid, sessionid); + var ehs = client.GetAssetsCurrentPrimaryEngineHours(companyid, new long[] { long.Parse(machineid) }); + var odos = client.GetAssetsCurrentPrimaryOdometer(companyid, new long[] { long.Parse(machineid) }); + + MachineMake[] makes = GetMachineMakes(); + MachineModel[] models = GetMachineModels(); + MachineType[] types = GetMachineTypes(); + if (tb.Rows.Count > 0) + { + var groupassets = GetGroupsAssets(db); + + DataRow dr = tb.Rows[0]; + MachineViewItem mi = ConvertToMachineViewItem(dr, makes, models, types, timeadjust); + + if (groupassets.ContainsKey(Convert.ToInt32(mi.ID))) + { + var groups = groupassets[Convert.ToInt32(mi.ID)].ToArray(); + mi.AssetGroupNames = string.Join(", ", groups.Select(m => m.Value)); + } + else + mi.AssetGroupNames = string.Empty; + + if (machineLocation != null) + { + var ml = machineLocation; + mi.Location = ml.Location; + mi.MoveStatus = ml.MoveStatus; + mi.Directionalheading = ml.Directionalheading; + } + + ConvertSpeedUnitToMile(mi.Location); + //if (machineEngineHour != null) + //{ + // var meh = machineEngineHour; + // mi.EngineHours = meh.EngineHours; + // mi.EngineHoursDate = meh.EngineHoursDate; + //} + + if (ehs != null && ehs.Length > 0) + { + var eh = ehs.FirstOrDefault((o) => o.AssetID == mi.ID); + if (eh != null) + { + mi.EngineHours = eh.Corrected; + } + } + + if (odos != null && odos.Length > 0) + { + var odo = odos.FirstOrDefault((o) => o.AssetID == mi.ID); + if (odo != null) + { + mi.Odometer = odo.Corrected; + mi.OdometerUOM = odo.UOM; + } + } + + return mi; + } + + return null; + } + + private static MachineViewItem ConvertToMachineViewItem(DataRow dr, MachineMake[] makes, MachineModel[] models, MachineType[] types, double timeadjust) + { + MachineViewItem mi = new MachineViewItem(); + mi.ID = FIDbAccess.GetFieldInt64(dr["MACHINEID"], 0); + mi.Name = FIDbAccess.GetFieldString(dr["MACHINENAME"], string.Empty); + mi.Name2 = FIDbAccess.GetFieldString(dr["MACHINENAME2"], string.Empty); + mi.VIN = FIDbAccess.GetFieldString(dr["VIN"], string.Empty); + mi.MakeYear = FIDbAccess.GetFieldInt(dr["MAKEYEAR"], 0); + mi.EngineHours = FIDbAccess.GetFieldDouble(dr["ENGINEHOURS"], 0); + mi.EngineHoursDate = FIDbAccess.GetFieldDateTime(dr["HOURSDATE_UTC"], DateTime.MinValue); + if (mi.EngineHoursDate != DateTime.MinValue) + mi.EngineHoursDate = mi.EngineHoursDate.AddHours(timeadjust); + + mi.Location = new LocationViewItem(); + mi.Location.Latitude = FIDbAccess.GetFieldDouble(dr["CUR_LATITUDE"], 0); + mi.Location.Longitude = FIDbAccess.GetFieldDouble(dr["CUR_LONGITUDE"], 0); + mi.Location.LocationTime = FIDbAccess.GetFieldDateTime(dr["LOCDATE_UTC"], DateTime.MinValue); + if (mi.Location.LocationTime != DateTime.MinValue) + mi.Location.LocationTime = mi.Location.LocationTime.AddHours(timeadjust); + + mi.Odometer = FIDbAccess.GetFieldDouble(dr["ODOMETER"], 0); + mi.OdometerUOM = FIDbAccess.GetFieldString(dr["ODOMETERUOM"], string.Empty); + mi.IconFileName = FIDbAccess.GetFieldString(dr["ICONFILENAME"], string.Empty); + mi.Onroad = FIDbAccess.GetFieldInt(dr["ONROAD"], 0); + + mi.MoveStatus = FIDbAccess.GetFieldString(dr["MOVESTATUS"], string.Empty); + mi.Directionalheading = FIDbAccess.GetFieldInt(dr["DIRECTIONALHEADING"], -1); + + int makeid = FIDbAccess.GetFieldInt(dr["MAKEID"], 0); + MachineMake make = GetMachineMake(makes, makeid); + mi.Make = make == null ? string.Empty : make.Name; + + int modelid = FIDbAccess.GetFieldInt(dr["MODELID"], 0); + MachineModel model = GetMachineModel(models, modelid); + mi.Model = model == null ? string.Empty : model.Name; + + int typeid = FIDbAccess.GetFieldInt(dr["TYPEID"], 0); + mi.TypeID = typeid; + MachineType mtype = GetMachineType(types, typeid); + if (mtype != null) + { + mi.MachineType = mtype.Name; + mi.IconUrl = mtype.IconUrl; + } + else + { + mi.MachineType = string.Empty; + mi.IconUrl = DefaultMachineTypeIconUrl; + } + return mi; + } + + public static MachineViewItem GetMachineViewItem(string companyid, long machineid) + { + string SQL = "select " + string.Format(MachineFields, "") + " from MACHINES where MACHINEID={0}"; + + FISqlConnection db = SystemParams.GetCompanyDbConnection(companyid); + if (db == null) + { + return null; + } + DataTable tb = db.GetDataTableBySQL(SQL, machineid); + if (tb.Rows.Count == 0) + { + return null; + } + RefreshBaseData(); + MachineMake[] makes = GetMachineMakes(); + MachineModel[] models = GetMachineModels(); + MachineType[] types = GetMachineTypes(); + + double timeadjust = SystemParams.GetHoursOffset(); + MachineViewItem mi = ConvertToMachineViewItem(tb.Rows[0], makes, models, types, timeadjust); + + SQL = "select string_agg(g.GROUPNAME,',') from MACHINEGROUPMAP mg left join MACHINEGROUPS g on mg.GROUPID=g.GROUPID where mg.MACHINEID={0} group by mg.MACHINEID"; + mi.AssetGroupNames = FIDbAccess.GetFieldString(db.GetRC1BySQL(SQL, machineid), ""); + + return mi; + } + + public static MachineLocationHistoryViewItem GetMachineLocation(string machineid, DateTime startTime, DateTime endTime, string companyid, bool notShow00loc, string datasource) + { + const string SQL = "select LATITUDE,LONGITUDE,EVENTTIME_UTC from MACHINE_EVENTS where MACHINEID={0} and EVENTTIME_UTC>={1} and EVENTTIME_UTC<={2} order by EVENTTIME_UTC"; + const string SQL_L = "select LATITUDE,LONGITUDE, AsofTime as EVENTTIME_UTC,Speed,SpeedUnits,PostedSpeedLimit,SpeedLimitUnits,Street from AssetLocationHis where AssetId={0} and AsofTime>={1} and AsofTime<={2} and Datasource=(select top 1 from AssetLocation where AssetId={0} and IsPrimary=1) order by AsofTime"; + const string SQL_L_Datasource = "select LATITUDE,LONGITUDE, AsofTime as EVENTTIME_UTC,Speed,SpeedUnits,PostedSpeedLimit,SpeedLimitUnits,Street from AssetLocationHis where AssetId={0} and AsofTime>={1} and AsofTime<={2} and Datasource={3} order by AsofTime"; + const string SQL_EXISTS = "select COUNT(1) from AssetLocationHis where AssetId={0}"; + + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + + MachineViewItem machine = GetMachineViewItem(companyid, Convert.ToInt64(machineid));//暂时确定为取本单位的机器,因为Dealer目前不显示机器的历史位置 + if (machine == null) + { + return null; + } + + FISqlConnection db = SystemParams.GetCompanyDbConnection(companyid);//暂时确定为取本单位的机器,因为Dealer目前不显示机器的历史位置 + DataTable tb = null; + string dbString2 = SystemParams.GetIronIntelReportDataDbString(companyid); + if (!string.IsNullOrWhiteSpace(dbString2)) + { + var db2 = new FISqlConnection(dbString2); + object obj = db2.GetRC1BySQL(SQL_EXISTS, machineid); + if (Convert.ToInt32(obj) > 0) + if (string.IsNullOrEmpty(datasource)) + tb = db2.GetDataTableBySQL(SQL_L, machineid, startTime.ToUniversalTime(), endTime.ToUniversalTime()); + else + tb = db2.GetDataTableBySQL(SQL_L_Datasource, machineid, startTime.ToUniversalTime(), endTime.ToUniversalTime(), datasource); + else + tb = db.GetDataTableBySQL(SQL, machineid, startTime.ToUniversalTime(), endTime.ToUniversalTime()); + } + else + tb = db.GetDataTableBySQL(SQL, machineid, startTime.ToUniversalTime(), endTime.ToUniversalTime()); + + List ls = new List(); + double timeOffset = SystemParams.GetHoursOffset(); + foreach (DataRow dr in tb.Rows) + { + double lat = FIDbAccess.GetFieldDouble(dr["LATITUDE"], 0); + double lon = FIDbAccess.GetFieldDouble(dr["LONGITUDE"], 0); + if (notShow00loc && lat == 0 && lon == 0) + continue; + LocationViewItem li = new LocationViewItem(); + li.Latitude = lat; + li.Longitude = lon; + li.LocationTime = FIDbAccess.GetFieldDateTime(dr["EVENTTIME_UTC"], DateTime.Now); + li.LocationTime = li.LocationTime.AddHours(timeOffset); + + if (tb.Columns.Count > 3) + { + li.Speed = FIDbAccess.GetFieldDouble(dr["Speed"], -1); + li.SpeedUnit = FIDbAccess.GetFieldString(dr["SpeedUnits"], string.Empty); + li.PostedSpeed = FIDbAccess.GetFieldDouble(dr["PostedSpeedLimit"], -1); + li.PostedSpeedUnit = FIDbAccess.GetFieldString(dr["SpeedLimitUnits"], string.Empty); + li.Street = FIDbAccess.GetFieldString(dr["Street"], string.Empty); + } + ConvertSpeedUnitToMile(li); + ls.Add(li); + } + MachineLocationHistoryViewItem ml = new MachineLocationHistoryViewItem(); + ml.Machine = machine; + ml.Locations = ls.ToArray(); + return ml; + } + + private static void ConvertSpeedUnitToMile(LocationViewItem loc) + { + if (loc == null) return; + if (loc.Speed >= 0 && loc.SpeedUnit.StartsWith("K", StringComparison.OrdinalIgnoreCase)) + { + loc.Speed = loc.Speed * 0.6213712; + loc.SpeedUnit = "mi/h"; + } + if (loc.PostedSpeed > 0 && loc.PostedSpeedUnit.StartsWith("K", StringComparison.OrdinalIgnoreCase)) + { + loc.PostedSpeed = loc.PostedSpeed * 0.6213712; + loc.PostedSpeedUnit = "mi/h"; + } + } + + public static MachineLocationHistoryViewItem GetMachineLocationHistory(string sessionid, string machineid, DateTime startTime, DateTime endTime, string companyid, bool notShow00loc, string datasource) + { + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + + MachineViewItem machine = GetMachineViewItem(companyid, Convert.ToInt64(machineid));//暂时确定为取本单位的机器,因为Dealer目前不显示机器的历史位置 + if (machine == null) + { + return null; + } + double timeOffset = SystemParams.GetHoursOffset(); + startTime = startTime.AddHours(-timeOffset); + endTime = endTime.AddHours(-timeOffset); + + AssetLocationInfo[] assetLocs = FleetServiceClientHelper.CreateClient(companyid, sessionid).GetAssetBasicLocationHistory(companyid, long.Parse(machineid), startTime, endTime, datasource, "", !notShow00loc); + + List ls = new List(); + foreach (AssetLocationInfo assetLoc in assetLocs) + { + LocationViewItem li = new LocationViewItem(); + li.Latitude = assetLoc.Latitude; + li.Longitude = assetLoc.Longitude; + li.LocationTime = assetLoc.AsofTime.AddHours(timeOffset); + + li.Speed = assetLoc.Speed; + li.SpeedUnit = assetLoc.SpeedUnits; + li.PostedSpeed = assetLoc.PostedSpeedLimit; + li.PostedSpeedUnit = assetLoc.SpeedLimitUnits; + li.Street = assetLoc.Street; + li.HarshDringEvent = assetLoc.HarshDringEvent; + li.SpeedingBehavior = assetLoc.SpeedingBehavior; + li.IconURL = GenerateLocationIconUrl(assetLoc); + li.SmartWitnessVideoUrl = assetLoc.SmartWitnessVideoUrl; + + ConvertSpeedUnitToMile(li); + ls.Add(li); + } + MachineLocationHistoryViewItem ml = new MachineLocationHistoryViewItem(); + ml.Machine = machine; + ml.Locations = ls.ToArray(); + return ml; + } + + private static string GenerateLocationIconUrl(AssetLocationInfo loc) + { + //http://iron.soft.rz/admin/machinetypeicon.ashx + //http://iron.soft.rz/admin/machinemovingicon.ashx + string path = SystemParams.MachineTypeMapViewIconUrl.ToLower().Replace("machinetypeicon.ashx", "machinemovingicon.ashx"); + const string PARAM = "?tp={0}&bkcolor={1}&heading={2}"; + int tp = (int)HarshDrivingEvents.HardAccelerationEvent; + string color = ""; + switch (loc.HarshDringEvent) + { + case HarshDrivingEvents.None: + break; + case HarshDrivingEvents.HardAccelerationEvent: + color = "#ff3f48cc"; + break; + case HarshDrivingEvents.HardBrakeEvent: + color = "#ff00a8f3"; + break; + case HarshDrivingEvents.HardTurnEvent: + color = "#fffff200"; + break; + } + if (string.IsNullOrEmpty(color)) + { + if (loc.SpeedingBehavior == SpeedingBehaviors.MinorSpeeding) + color = "#ffff7f27"; + else if (loc.SpeedingBehavior == SpeedingBehaviors.SevereSpeeding) + color = "#ffec1c24"; + } + if (string.IsNullOrEmpty(color)) + { + if (loc.MoveStatus == AssetMoveStatus.InMotion) + color = "#ff228B22"; + } + + if (string.IsNullOrEmpty(color)) + { + if (loc.MoveStatus == AssetMoveStatus.StoppedOn) + return path + "?legend=StoppedOn"; + else if (loc.MoveStatus == AssetMoveStatus.StoppedOff) + return path + "?legend=StoppedOff"; + } + color = HttpUtility.UrlEncode(color); + path = path + string.Format(PARAM, tp, color, loc.Heading); + + return path; + } + + public static MapAlertViewDefinitionItem[] GetMapAlertViews(string companyid, string selectedViewID) + { + MachineAlertViewItem[] views = null; + MachineAlertViewClient mc = GetMachineAlertViewClient(); + if (string.IsNullOrWhiteSpace(companyid)) + companyid = SystemParams.CompanyID; + views = mc.GetAvailableAlertViews(companyid, true); + + MachineAlertViewQueryResult viewInfo = null; + try + { + if (!string.IsNullOrWhiteSpace(selectedViewID))//获取View下使用的数据源信息 + viewInfo = mc.QueryMachineAlertView(companyid, selectedViewID, null); + } + catch { } + + string path = SystemParams.MachineTypeMapViewIconUrl; + List ls = new List(); + foreach (MachineAlertViewItem ai in views) + { + MapAlertViewDefinitionItem mi = new MapAlertViewDefinitionItem(); + mi.ID = ai.ID; + mi.Name = ai.Name; + mi.Layers = new MapAlertLayerDefinitionItem[ai.Layers.Count]; + for (int i = 0; i < ai.Layers.Count; i++) + { + mi.Layers[i] = new MapAlertLayerDefinitionItem(); + mi.Layers[i].ID = ai.Layers[i].ID; + mi.Layers[i].Title = ai.Layers[i].Title; + mi.Layers[i].AlertLayerType = ai.Layers[i].AlertLayerType; + mi.Layers[i].IconColor = ai.Layers[i].IconColor; + mi.Layers[i].Description = ai.Layers[i].Description; + mi.Layers[i].LegendUrl = path + "?legend=" + ai.Layers[i].AlertLayerType + "&bkcolor=" + HttpUtility.UrlEncode(ai.Layers[i].IconColor); + if (ai.Layers[i].CriteriaSQLParameters != null && ai.Layers[i].CriteriaSQLParameters.Count > 0) + mi.Layers[i].CriteriaSQLParameters = ConvertToDbQueryParameterDefine(ai.Layers[i].CriteriaSQLParameters); + + if (ai.Layers[i].AlertSQLParameters != null && ai.Layers[i].AlertSQLParameters.Count > 0) + mi.Layers[i].AlertSQLParameters = ConvertToDbQueryParameterDefine(ai.Layers[i].AlertSQLParameters); + } + mi.Layers = mi.Layers.OrderBy((l) => l.AlertLayerType).ToArray(); + + if (viewInfo != null && viewInfo.ID.Equals(mi.ID, StringComparison.OrdinalIgnoreCase)) + mi.LookupDataSources = ConvertLookupData(viewInfo.LookupDataSources); + ls.Add(mi); + } + return ls.OrderBy((mal) => mal.Name).ToArray(); + + } + + private static List ConvertLookupData(List data) + { + List result = new List(); + if (data != null) + { + foreach (LookupDataSourceData d in data) + { + LookupDataSourceDataItem item = new LookupDataSourceDataItem(); + item.ID = d.ID; + item.Name = d.Name; + item.Items.AddRange(d.Items); + result.Add(item); + } + } + return result; + } + + + + private static DbQueryParameterItem[] ConvertToDbQueryParameterDefine(List paramerters) + { + List list = new List(); + foreach (DbQueryParameterDefine pd in paramerters) + { + DbQueryParameterItem pi = new DbQueryParameterItem(); + Helper.CloneProperty(pi, pd); + pi.DisplayCaptionField = pd.DisplayCaptionField; + pi.IsField = pd.IsField; + pi.IsAllAllowed = pd.IsAllAllowed; + pi.MutipleSelect = pd.MutipleSelect; + if (pi.DataType == Services.Common.DataTypes.Datetime) + { + try + { + pi.DefaultValue = DateTime.Parse(pi.DefaultValue).ToString("M/d/yyyy"); + } + catch + { + } + } + list.Add(pi); + } + + return list.ToArray(); + } + + class ViewTemp + { + public LayerDataTemp[] Layers = null; + + public LayerDataTemp GetLayer(string machineid, bool isprimary) + { + if ((Layers == null) || (Layers.Length == 0)) + { + return null; + } + foreach (LayerDataTemp tmp in Layers) + { + if (tmp.Layer.IsPrimary == isprimary) + { + if (tmp.Met(machineid)) + { + return tmp; + } + } + } + return null; + } + } + + class LayerDataTemp + { + public MapAlertLayerItem Layer = null; + public long[] Machines = null; + public StringKeyValue[] AlertDescriptions = null; + + public string GetAlertTip(string machineid) + { + if ((AlertDescriptions == null) || (AlertDescriptions.Length == 0)) + { + return string.Empty; + } + string rst = string.Empty; + foreach (StringKeyValue kv in AlertDescriptions) + { + if (string.Compare(kv.Key, machineid, true) == 0) + { + if (!string.IsNullOrWhiteSpace(kv.Value)) + { + if (string.IsNullOrEmpty(rst)) + { + rst = kv.Value; + } + else + { + rst = rst + "\r\n" + kv.Value; + } + } + } + } + return rst; + } + + public bool Met(string machineid) + { + if ((Machines == null) || (Machines.Length == 0)) + { + return false; + } + foreach (long m in Machines) + { + if (string.Compare(m.ToString(), machineid, true) == 0) + { + return true; + } + } + return false; + } + } + + class AssetLocation + { + public string MachineID { get; set; } + public LocationViewItem Location { get; set; } + public string MoveStatus { get; set; } + public int Directionalheading { get; set; } + } + + public class AssetEngineHour + { + public string MachineID { get; set; } + + private double _EngineHours; + public double EngineHours + { + get + { + return _EngineHours; + } + set + { + value = value > 0 ? value : 0; + _EngineHours = Math.Round(value, 2); + } + } + public DateTime EngineHoursDate { get; set; } + } + } +} diff --git a/IronIntelContractorBusiness/MapView/MapViewer.cs b/IronIntelContractorBusiness/MapView/MapViewer.cs new file mode 100644 index 0000000..65a2a78 --- /dev/null +++ b/IronIntelContractorBusiness/MapView/MapViewer.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using IronIntel.Services; +using IronIntel.Contractor.Users; +using IronIntel.Services.MapView; +using IronIntel.Services.Customers; + +namespace IronIntel.Contractor.MapView +{ + public static class MapViewer + { + public static KeyValuePair[] GetContractors(string useriid) + { + Users.UserInfo userinfo = UserManagement.GetUserByIID(useriid); + CustomerInfo[] cps = SystemParams.GetContractors(); + List> ls = new List>(); + if (userinfo.UserType == UserTypes.Admin || userinfo.UserType == UserTypes.SupperAdmin) + { + foreach (CustomerInfo cp in cps) + { + ls.Add(new KeyValuePair(cp.ID, cp.Name)); + } + } + else + { + string[] str = Acl.GetUserAvailableContractors(useriid); + foreach (CustomerInfo cp in cps) + { + foreach (string s in str) + { + if (string.Compare(cp.ID, s, true) == 0) + { + ls.Add(new KeyValuePair(cp.ID, cp.Name)); + break; + } + } + } + } + return ls.ToArray(); + } + } +} diff --git a/IronIntelContractorBusiness/OTRConfig/HarshDrivingItem.cs b/IronIntelContractorBusiness/OTRConfig/HarshDrivingItem.cs new file mode 100644 index 0000000..6327e6f --- /dev/null +++ b/IronIntelContractorBusiness/OTRConfig/HarshDrivingItem.cs @@ -0,0 +1,94 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.OTRConfig +{ + public class HarshDrivingItem + { + public long LogID { get; set; } + public long AssetID { get; set; } + public string Name { get; set; } + public string Name2 { get; set; } + public string VIN { get; set; } + public int MakeID { get; set; } + public int TypeID { get; set; } + public int ModelID { get; set; } + public string MakeName { get; set; } + public string ModelName { get; set; } + public string TypeName { get; set; } + + public DateTime AsofTime { get; set; } + public string AsofTimeStr { get { return AsofTime == DateTime.MinValue ? "" : AsofTime.ToString(); } } + public DateTime AsofTimeLocal { get; set; } + public string AsofTimeLocalStr { get { return AsofTimeLocal == DateTime.MinValue ? "" : AsofTimeLocal.ToString(); } } + public string EventType { get; set; } + public string Street { get; set; } + public string City { get; set; } + public string State { get; set; } + public string PostalCode { get; set; } + public string Country { get; set; } + public double StartingSpeed { get; set; } + public string SpeedUnits { get; set; } + public double Duration { get; set; } + public string DurationUnits { get; set; } + public double Magnitude { get; set; } + public string MagnitudeUnits { get; set; } + public bool Excluded { get; set; } + + public HarshDrivingEvents HarshDringEvent { get; set; } + public SpeedingBehaviors SpeedingBehavior { get; set; } + public string ShowName + { + get + { + string name = Name2; + if (string.IsNullOrWhiteSpace(name)) + name = Name; + if (string.IsNullOrWhiteSpace(name)) + name = VIN; + if (string.IsNullOrWhiteSpace(name)) + name = AssetID.ToString(); + return name; + } + } + public string EventDesc + { + get + { + string desc = EventType; + if (string.Compare(desc, "ACCEL", true) == 0) + desc = "Hard Acceleration"; + else if (string.Compare(desc, "DECEL", true) == 0) + desc = "Hard Brake"; + else if (string.Compare(desc, "HARD_CORNERING_LEFT", true) == 0 || string.Compare(EventType, "HARD_CORNERING_RIGHT", true) == 0) + desc = "Hard Turn"; + return desc; + } + } + } + public class HarshDrivintClient + { + public long LogID { get; set; } + public long AssetID { get; set; } + public bool Excluded { get; set; } + public string Notes { get; set; } + } + + public enum HarshDrivingEvents + { + None = 0, + HardAccelerationEvent = 1, + HardBrakeEvent = 2, + HardTurnEvent = 3 + } + + public enum SpeedingBehaviors + { + None = 0, + MinorSpeeding = 1, + SevereSpeeding = 2 + } +} diff --git a/IronIntelContractorBusiness/OTRConfig/HarshDrivingManagement.cs b/IronIntelContractorBusiness/OTRConfig/HarshDrivingManagement.cs new file mode 100644 index 0000000..527fc55 --- /dev/null +++ b/IronIntelContractorBusiness/OTRConfig/HarshDrivingManagement.cs @@ -0,0 +1,67 @@ +using Foresight.Fleet.Services.Asset; +using Foresight.Fleet.Services.OTRConfig; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.OTRConfig +{ + public class HarshDrivingManagement + { + public static HarshDrivingItem[] GetHarshDrivingEvents(string sessionid, DateTime startdate, DateTime enddate, string searchtxt, string useriid) + { + HarshDrivingInfo[] hds = FleetServiceClientHelper.CreateClient(sessionid).GetHarshDrivingEvents(SystemParams.CompanyID, startdate, enddate); + if (hds == null || hds.Length == 0) + return new HarshDrivingItem[0]; + + long[] availableAssetsids = null; + var user = Users.UserManagement.GetUserByIID(useriid); + if (user.UserType < Users.UserTypes.Admin) + availableAssetsids = FleetServiceClientHelper.CreateClient(sessionid).GetAvailableAssetsForUsers(SystemParams.CompanyID, useriid); + + List list = new List(); + foreach (HarshDrivingInfo hd in hds) + { + if (user.UserType < Users.UserTypes.Admin && !availableAssetsids.Contains(hd.AssetID)) + continue; + HarshDrivingItem item = new HarshDrivingItem(); + Helper.CloneProperty(item, hd); + + if (!string.IsNullOrEmpty(searchtxt)) + { + if (Helper.Contains(item.VIN, searchtxt) + || Helper.Contains(item.AssetID.ToString(), searchtxt) + || Helper.Contains(item.Name, searchtxt) + || Helper.Contains(item.Name2, searchtxt) + || Helper.Contains(item.MakeName, searchtxt) + || Helper.Contains(item.TypeName, searchtxt) + || Helper.Contains(item.ModelName, searchtxt) + || Helper.Contains(item.Street, searchtxt) + || Helper.Contains(item.City, searchtxt) + || Helper.Contains(item.State, searchtxt) + || Helper.Contains(item.PostalCode, searchtxt)) + { + list.Add(item); + } + } + else + list.Add(item); + } + + return list.ToArray(); + } + + public static void ExcludedHarshDrivingEvents(string sessionid, HarshDrivintClient hd, string useriid) + { + long[] logids = new long[] { hd.LogID }; + var client = FleetServiceClientHelper.CreateClient(sessionid); + if (hd.Excluded) + client.IncludedHarshDrivingEvents(SystemParams.CompanyID, hd.AssetID, logids, useriid, hd.Notes); + else + client.ExcludedHarshDrivingEvents(SystemParams.CompanyID, hd.AssetID, logids, useriid, hd.Notes); + } + + } +} diff --git a/IronIntelContractorBusiness/OTRConfig/SpeedingItem.cs b/IronIntelContractorBusiness/OTRConfig/SpeedingItem.cs new file mode 100644 index 0000000..241b342 --- /dev/null +++ b/IronIntelContractorBusiness/OTRConfig/SpeedingItem.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.OTRConfig +{ + public class SpeedingItem + { + public string ID { get; set; } + public long AssetID { get; set; } + public string AssetName { get; set; } + public string Make { get; set; } + public string Model { get; set; } + public DateTime EventTime { get; set; } + public string EventTimeStr { get { return EventTime == DateTime.MinValue ? "" : EventTime.ToString(); } } + public string Street { get; set; } + public string City { get; set; } + public string State { get; set; } + public string PostalCode { get; set; } + public string Country { get; set; } + public double TopSpeed { get; set; } + public double PostedSpeedLimit { get; set; } + public double SpeedingOverage { get; set; } + } +} diff --git a/IronIntelContractorBusiness/Properties/AssemblyInfo.cs b/IronIntelContractorBusiness/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..363d392 --- /dev/null +++ b/IronIntelContractorBusiness/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("IronIntelContractorBusiness")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Foresight Intelligence")] +[assembly: AssemblyProduct("IronIntelContractorBusiness")] +[assembly: AssemblyCopyright("Copyright © Foresight Intelligence 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("515fb61f-f032-4a48-8f32-93b59b9d37f8")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("2.20.429")] diff --git a/IronIntelContractorBusiness/Security/CurfewInfo.cs b/IronIntelContractorBusiness/Security/CurfewInfo.cs new file mode 100644 index 0000000..56bb488 --- /dev/null +++ b/IronIntelContractorBusiness/Security/CurfewInfo.cs @@ -0,0 +1,25 @@ +using Foresight.ServiceModel; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Security +{ + public class CurfewInfo + { + public string CurfewID { get; set; } + public string Title { get; set; } + public string Day { get; set; } + public string StartTime { get; set; } + public string EndTime { get; set; } + public int IsEnabled { get; set; } + public DateTime DateAdded { get; set; } + public string AddBy { get; set; } + public DateTime DateUpdated { get; set; } + public string UpdatedBy { get; set; } + public string TimePeriod { get; set; } + public StringKeyValue[] TimePeriods { get; set; } + } +} diff --git a/IronIntelContractorBusiness/Security/CurfewManagement.cs b/IronIntelContractorBusiness/Security/CurfewManagement.cs new file mode 100644 index 0000000..ac5a16f --- /dev/null +++ b/IronIntelContractorBusiness/Security/CurfewManagement.cs @@ -0,0 +1,281 @@ +using Foresight.Data; +using Foresight.ServiceModel; +using IronIntel.Contractor.Machines; +using IronIntel.Contractor.Maintenance; +using IronIntel.Contractor.MapView; +using IronIntel.Contractor.Users; +using IronIntel.Services.Business.Admin; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Security +{ + public class CurfewManagement + { + public static CurfewInfo[] GetCurfews(string sessionid, string searchtext, FISqlConnection db = null) + { + const string SQL = "select CURFEWID,TITLE,DAY,STARTTIME,ENDTIME,ISENABLED,DATEADDED_UTC,ADDBY,DATEUPDATED_UTC,UPDATEDBY,TIMEPERIOD from CURFEW where ISENABLED=1"; + + List list = new List(); + if (db == null) + db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(SQL); + if (dt.Rows.Count > 0) + { + UserInfo[] users = UserManagement.GetUsers(); + foreach (DataRow dr in dt.Rows) + { + CurfewInfo ci = ConvertToCurfewInfo(dr); + if (string.IsNullOrWhiteSpace(searchtext) + || Helper.Contains(ci.Title, searchtext)) + list.Add(ci); + } + } + return list.ToArray(); + } + + public static CurfewInfo GetCurfewInfo(string curfewid, FISqlConnection db = null) + { + const string SQL = "select CURFEWID,TITLE,DAY,STARTTIME,ENDTIME,ISENABLED,DATEADDED_UTC,ADDBY,DATEUPDATED_UTC,UPDATEDBY,TIMEPERIOD from CURFEW where ISENABLED=1 and CURFEWID={0}"; + + List list = new List(); + if (db == null) + db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(SQL, curfewid); + CurfewInfo ci = new CurfewInfo(); + if (dt.Rows.Count > 0) + { + ci = ConvertToCurfewInfo(dt.Rows[0]); + } + return ci; + } + + + public static void SaveCurfew(CurfewInfo ci, string useriid, FISqlConnection db = null) + { + const string SQL = @"if exists(select 1 from CURFEW where CURFEWID={0}) update CURFEW set TITLE={1},DAY={2},STARTTIME={3},ENDTIME={4},DATEUPDATED_UTC=GETUTCDATE(),UPDATEDBY={5},TIMEPERIOD={6} where CURFEWID={0} + else insert CURFEW(CURFEWID,TITLE,DAY,STARTTIME,ENDTIME,ISENABLED,DATEADDED_UTC,ADDBY,DATEUPDATED_UTC,UPDATEDBY,TIMEPERIOD) values({0},{1},{2},{3},{4},1,GETUTCDATE(),{5},GETUTCDATE(),{5},{6})"; + + const string SQL_C = "select COUNT(1) from CURFEW where CURFEWID!={0} and TITLE={1} and ISENABLED=1"; + + if (db == null) + db = SystemParams.GetDbInstance(); + object obj = db.GetRC1BySQL(SQL_C, ci.CurfewID, ci.Title); + if (Convert.ToInt32(obj) > 0) + { + throw new Exception("The curfew title must be unique."); + } + + string timeperiodStr = ""; + if (ci.TimePeriods == null || ci.TimePeriods.Length <= 0) + throw new Exception("Period cannot be empty."); + + foreach (StringKeyValue item in ci.TimePeriods) + { + int st = Convert.ToInt32(item.Tag1 + item.Tag2); + int et = Convert.ToInt32(item.Tag3 + item.Tag4); + if (st >= et) + throw new Exception("End Time must be later than Start Time."); + + string str = item.Tag1 + ":" + item.Tag2 + "-" + item.Tag3 + ":" + item.Tag4; + if (string.IsNullOrWhiteSpace(timeperiodStr)) + timeperiodStr = str; + else + timeperiodStr = timeperiodStr + "," + str; + } + + + db.ExecSQL(SQL, ci.CurfewID, ci.Title, ci.Day, ci.StartTime, ci.EndTime, useriid, timeperiodStr); + + } + + public static void DeleteCurfew(string curfewid, FISqlConnection db = null) + { + const string SQL = @"update CURFEW set ISENABLED=0 where CURFEWID={0}"; + if (db == null) + db = SystemParams.GetDbInstance(); + db.ExecSQL(SQL, curfewid); + } + + public static MaintenanceMachineInfo[] GetCurfewMachinesByID(string curfewid, FISqlConnection db = null) + { + const string SQL = @"select a.RELATEDID as MACHINEID,b.MACHINENAME,b.MACHINENAME2,b.VIN,b.MAKEID,b.MODELID,b.TYPEID,b.HIDE,ISNULL(b.ENGINEHOURS,0) as ENGINEHOURS, + ISNULL(b.ODOMETER,0) as ODOMETER,ISNULL(b.ODOMETERUOM,'Mile') AS ODOMETERUOM from RELATIONSHIP a,MACHINES b + where a.RELATEDID=b.MACHINEID and a.RELATIONSHIPTYPEID='CurfewToMachine' and a.REMOVED<>1 and a.PRIMARYID={0}"; + + if (db == null) + db = SystemParams.GetDbInstance(); + DataTable tb = db.GetDataTableBySQL(SQL, curfewid); + if (tb.Rows.Count == 0) + { + return new MaintenanceMachineInfo[0]; + } + MachineManagement.RefreshBaseData(); + MachineMake[] makes = MachineManagement.GetMachineMakes(); + MachineModel[] models = MachineManagement.GetMachineModels(); + MachineType[] types = MachineManagement.GetMachineTypes(); + List ls = new List(); + foreach (DataRow dr in tb.Rows) + { + MaintenanceMachineInfo mi = MaintenanceManagement.ConvertToMaintenanceMachineInfo(dr, makes, models, types); + ls.Add(mi); + } + return ls.ToArray(); + + } + + public static void SaveCurfewMachines(string curfewid, string contractorid, string[] machineids, FISqlConnection db) + { + const string SQL_R = "update RELATIONSHIP set REMOVEDON=GETUTCDATE(),REMOVED=1 where RELATIONSHIPTYPEID='CurfewToMachine' and REMOVED<>1 and PRIMARYID={0}"; + const string SQL = @"if exists(select 1 from RELATIONSHIP where RELATIONSHIPTYPEID='CurfewToMachine' and PRIMARYID={0} and RELATEDID={1}) update RELATIONSHIP + set REMOVEDON=null,REMOVED=0 where RELATIONSHIPTYPEID='CurfewToMachine' and PRIMARYID={0} and RELATEDID={1} else insert into RELATIONSHIP + (RELATIONSHIPID,RELATIONSHIPTYPEID,CONTRACTORID,PRIMARYID,RELATEDID,ADDEDON) values({3},'CurfewToMachine',{2},{0},{1},GETUTCDATE())"; + + if (db == null) + db = SystemParams.GetDbInstance(); + db.ExecSQL(SQL_R, curfewid); + + foreach (var mid in machineids) + { + db.ExecSQL(SQL, curfewid, mid, contractorid, Guid.NewGuid().ToString()); + } + } + + private static CurfewInfo ConvertToCurfewInfo(DataRow dr) + { + CurfewInfo ci = new CurfewInfo(); + ci.CurfewID = FIDbAccess.GetFieldString(dr["CURFEWID"], string.Empty); + ci.Title = FIDbAccess.GetFieldString(dr["TITLE"], string.Empty); + ci.Day = FIDbAccess.GetFieldString(dr["DAY"], string.Empty); + ci.StartTime = FIDbAccess.GetFieldString(dr["STARTTIME"], string.Empty); + ci.EndTime = FIDbAccess.GetFieldString(dr["ENDTIME"], string.Empty); + ci.IsEnabled = FIDbAccess.GetFieldInt(dr["ISENABLED"], 0); + ci.DateAdded = FIDbAccess.GetFieldDateTime(dr["DATEADDED_UTC"], DateTime.MinValue); + ci.DateAdded = ci.DateAdded.AddHours(SystemParams.GetHoursOffset()); + ci.AddBy = FIDbAccess.GetFieldString(dr["ADDBY"], string.Empty); + ci.DateUpdated = FIDbAccess.GetFieldDateTime(dr["DATEUPDATED_UTC"], DateTime.MinValue); + ci.DateUpdated = ci.DateUpdated.AddHours(SystemParams.GetHoursOffset()); + ci.UpdatedBy = FIDbAccess.GetFieldString(dr["UPDATEDBY"], string.Empty); + ci.TimePeriod = FIDbAccess.GetFieldString(dr["TIMEPERIOD"], string.Empty); + if (!string.IsNullOrWhiteSpace(ci.TimePeriod)) + { + List list = new List(); + string[] periods = ci.TimePeriod.Split(','); + foreach (string pd in periods) + { + StringKeyValue kv = new StringKeyValue(); + string[] time = pd.Split('-'); + string[] starttime = time[0].Split(':'); + string[] endtime = time[1].Split(':'); + kv.Tag1 = starttime[0]; + kv.Tag2 = starttime[1]; + kv.Tag3 = endtime[0]; + kv.Tag4 = endtime[1]; + list.Add(kv); + } + ci.TimePeriods = list.ToArray(); + } + else + ci.TimePeriods = new StringKeyValue[0]; + return ci; + } + + + + public static JobSiteViewItem[] GetCurfewJobsitesByID(string curfewid, FISqlConnection db = null) + { + const string SQL = @"select a.RELATEDID as JOBSITEID,JOBSITENAME,LATITUDE,LONGITUDE ,RADIUS,RADUIS_UOM,b.CONTRACTORID,COLOR,NOTES,STARTDATE,ENDDATE,POLYGON from RELATIONSHIP a,JOBSITES b + where a.RELATIONSHIPTYPEID='CurfewToJobsite' and a.REMOVED<>1 and a.RELATEDID=b.JOBSITEID and a.PRIMARYID={0}"; + if (db == null) + db = SystemParams.GetDbInstance(); + DataTable tb = db.GetDataTableBySQL(SQL, curfewid); + if (tb.Rows.Count == 0) + { + return new JobSiteViewItem[0]; + } + List ls = new List(); + foreach (DataRow dr in tb.Rows) + { + JobSiteViewItem js = ConvertToJobSiteViewItem(dr); + ls.Add(js); + } + return ls.ToArray(); + + } + + public static void SaveCurfewJobsites(string curfewid, string contractorid, string[] jobsiteids, FISqlConnection db = null) + { + const string SQL_R = "update RELATIONSHIP set REMOVEDON=GETUTCDATE(),REMOVED=1 where RELATIONSHIPTYPEID='CurfewToJobsite' and REMOVED<>1 and PRIMARYID={0}"; + const string SQL = @"if exists(select 1 from RELATIONSHIP where RELATIONSHIPTYPEID='CurfewToJobsite' and PRIMARYID={0} and RELATEDID={1}) update RELATIONSHIP + set REMOVEDON=null,REMOVED=0 where RELATIONSHIPTYPEID='CurfewToJobsite' and PRIMARYID={0} and RELATEDID={1} else insert into RELATIONSHIP + (RELATIONSHIPID,RELATIONSHIPTYPEID,CONTRACTORID,PRIMARYID,RELATEDID,ADDEDON) values({3},'CurfewToJobsite',{2},{0},{1},GETUTCDATE())"; + + if (db == null) + db = SystemParams.GetDbInstance(); + db.ExecSQL(SQL_R, curfewid); + + foreach (var mid in jobsiteids) + { + db.ExecSQL(SQL, curfewid, mid, contractorid, Guid.NewGuid().ToString()); + } + } + private static JobSiteViewItem ConvertToJobSiteViewItem(DataRow dr) + { + JobSiteViewItem js = new JobSiteViewItem(); + long JobSiteId = FIDbAccess.GetFieldInt(dr["JOBSITEID"], 0); + js.ID = FIDbAccess.GetFieldInt(dr["JOBSITEID"], 0); + js.Name = FIDbAccess.GetFieldString(dr["JOBSITENAME"], string.Empty); + js.Latitude = FIDbAccess.GetFieldDouble(dr["LATITUDE"], 0); + js.Longitude = FIDbAccess.GetFieldDouble(dr["LONGITUDE"], 0); + js.Radius = FIDbAccess.GetFieldDouble(dr["RADIUS"], 0); + js.Radius_UOM = FIDbAccess.GetFieldString(dr["RADUIS_UOM"], string.Empty); + if (string.IsNullOrWhiteSpace(js.Radius_UOM)) + js.Radius_UOM = "Mile"; + js.ContractorID = FIDbAccess.GetFieldString(dr["CONTRACTORID"], string.Empty); + //js.ColorString = FIDbAccess.GetFieldString(dr["COLOR"], string.Empty); + //System.Drawing.Color color = System.Drawing.Color.Orange; + //try + //{ + // color = System.Drawing.ColorTranslator.FromHtml(js.ColorString); + //} + //catch + //{ + //} + //js.Color = new IIColor() { Alpha = color.A, Red = color.R, Green = color.G, Blue = color.B }; + + js.Notes = FIDbAccess.GetFieldString(dr["NOTES"], string.Empty); + js.StartDate = FIDbAccess.GetFieldDateTime(dr["STARTDATE"], DateTime.MinValue); + js.EndDate = FIDbAccess.GetFieldDateTime(dr["ENDDATE"], DateTime.MinValue); + return js; + } + + /// + /// 获取机器Curfew和机器的对应关系 + /// + /// + public static Dictionary> GetCurfewMachines(FISqlConnection db) + { + const string SQL_C = "select PRIMARYID,RELATEDID from RELATIONSHIP where RELATIONSHIPTYPEID='CurfewToMachine' and REMOVED<>1"; + + Dictionary> result = new Dictionary>(); + if (db == null) + db = SystemParams.GetDbInstance(); + DataTable tb = db.GetDataTableBySQL(SQL_C); + + foreach (DataRow dr in tb.Rows) + { + int machineid = FIDbAccess.GetFieldInt(dr["RELATEDID"], 0); + string curfewid = FIDbAccess.GetFieldString(dr["PRIMARYID"], ""); + if (!result.ContainsKey(machineid)) + result[machineid] = new List(); + result[machineid].Add(curfewid); + } + return result; + } + } +} + diff --git a/IronIntelContractorBusiness/Security/CurfewMovementToleranceInfo.cs b/IronIntelContractorBusiness/Security/CurfewMovementToleranceInfo.cs new file mode 100644 index 0000000..6448613 --- /dev/null +++ b/IronIntelContractorBusiness/Security/CurfewMovementToleranceInfo.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Security +{ + public class CurfewMovementToleranceInfo + { + public decimal DefaultTolerance { get; set; } + public List JobSites { get; set; } + } + + public class JobSiteCurfewMovementToleranceInfo + { + public long JobSiteId { get; set; } + public string JobSiteName { get; set; } + public decimal Tolerance { get; set; } + } +} diff --git a/IronIntelContractorBusiness/Security/JobsiteLimitInfo.cs b/IronIntelContractorBusiness/Security/JobsiteLimitInfo.cs new file mode 100644 index 0000000..feaad42 --- /dev/null +++ b/IronIntelContractorBusiness/Security/JobsiteLimitInfo.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Security +{ + public class JobsiteLimitInfo + { + public long ID { get; set; } + public long JobSiteID { get; set; } + public string JobSiteName { get; set; } + public bool Active { get; set; } + public string StartTime { get; set; } + public string EndTime { get; set; } + public int MinTrucks { get; set; } + public int MaxTrucks { get; set; } + public string AssetTypes { get; set; } + public string AssetTypeNames { get; set; } + public string Notes { get; set; } + } +} diff --git a/IronIntelContractorBusiness/Security/JobsiteLimitManagement.cs b/IronIntelContractorBusiness/Security/JobsiteLimitManagement.cs new file mode 100644 index 0000000..1e78d6a --- /dev/null +++ b/IronIntelContractorBusiness/Security/JobsiteLimitManagement.cs @@ -0,0 +1,48 @@ +using Foresight.Data; +using IronIntel.Contractor.Users; +using IronIntel.Services.Business.Admin; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Security +{ + public class JobsiteLimitManagement + { + public static UserInfo[] GetSubscribeContacts(Int64 jlid) + { + const string SQL = "select u.USERIID,u.USERNAME,u.CONTACTTYPE from JOBSITELIMITSUBSCRIBE js left join USERS u on js.CONTACTID=u.USERIID where js.JOBSITELIMITID={0} and u.USERIID is not null"; + + List list = new List(); + DataTable dt = SystemParams.GetDbInstance().GetDataTableBySQL(SQL, jlid); + if (dt.Rows.Count > 0) + { + foreach (DataRow dr in dt.Rows) + { + UserInfo ci = new UserInfo(); + ci.IID = FIDbAccess.GetFieldString(dr["USERIID"], string.Empty); + ci.DisplayName = FIDbAccess.GetFieldString(dr["USERNAME"], string.Empty); + ci.ContactType = (ContactTypes)FIDbAccess.GetFieldInt(dr["CONTACTTYPE"], 100); + list.Add(ci); + } + } + return list.ToArray(); + } + public static void SaveSubscribeContacts(string jlid, string[] contactids) + { + const string SQL_D = "delete from JOBSITELIMITSUBSCRIBE where JOBSITELIMITID={0}"; + const string SQL = @"insert into JOBSITELIMITSUBSCRIBE(JOBSITELIMITID,CONTACTID) values({0},{1})"; + + FISqlConnection db = SystemParams.GetDbInstance(); + db.ExecSQL(SQL_D, jlid); + + foreach (var cid in contactids) + { + db.ExecSQL(SQL, jlid, cid); + } + } + } +} diff --git a/IronIntelContractorBusiness/Shape/MapPoint.cs b/IronIntelContractorBusiness/Shape/MapPoint.cs new file mode 100644 index 0000000..5538e95 --- /dev/null +++ b/IronIntelContractorBusiness/Shape/MapPoint.cs @@ -0,0 +1,127 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.IO; + +namespace IronIntel.Contractor.Shape +{ + public sealed class MapPoint + { + public double Longitude = 0; + public double Latitude = 0; + } + + public sealed class MapPoints + { + private List _Points = new List(); + public List Points + { + get { return _Points; } + } + } + + public sealed class Polyline + { + private List _Parts = new List(); + + public List Parts + { + get { return _Parts; } + } + + /// + /// 表示extent的左上角 + /// + public MapPoint TopLeft = null; + + /// + /// 表示extent的右下角 + /// + public MapPoint BottomRight = null; + } + + public sealed class Polygon + { + private List _Rings = new List(); + + public List Rings + { + get { return _Rings; } + } + + /// + /// 表示extent的左上角 + /// + public MapPoint TopLeft = null; + + /// + /// 表示extent的右下角 + /// + public MapPoint BottomRight = null; + } + + public sealed class Shape + { + private List _Points = new List(); + private List _Polylines = new List(); + private List _Polygones = new List(); + + public List Points + { + get { return _Points; } + } + + public List Polylines + { + get { return _Polylines; } + } + + public List Polygons + { + get { return _Polygones; } + } + } + + public sealed class SimpleShape + { + private List _Points = new List(); + private List _Polylines = new List(); + private List _Polygones = new List(); + + public List Points + { + get { return _Points; } + } + + public List Polylines + { + get { return _Polylines; } + } + + public List Polygons + { + get { return _Polygones; } + } + + public void FromShapeObj(Shape s) + { + if (s != null) + { + foreach (var p in s.Points) + { + Points.AddRange(p.Points); + } + foreach (var p in s.Polylines) + { + Polylines.AddRange(p.Parts); + } + foreach (var p in s.Polygons) + { + Polygons.AddRange(p.Rings); + } + } + } + } + +} diff --git a/IronIntelContractorBusiness/Shape/ShapeFileParser.cs b/IronIntelContractorBusiness/Shape/ShapeFileParser.cs new file mode 100644 index 0000000..b04623c --- /dev/null +++ b/IronIntelContractorBusiness/Shape/ShapeFileParser.cs @@ -0,0 +1,324 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Data; +using System.IO; +using System.Linq; +using System.Text; + +namespace IronIntel.Contractor.Shape +{ + public static class ShapeFileParser + { + private static void ParsePoints(BinaryReader binaryReader, MapPoints points) + { + while (binaryReader.PeekChar() != -1) + { + binaryReader.ReadUInt32(); + binaryReader.ReadInt32(); + int shapeType = binaryReader.ReadInt32(); + + MapPoint p = new MapPoint(); + p.Longitude = binaryReader.ReadDouble(); + p.Latitude = binaryReader.ReadDouble(); + points.Points.Add(p); + + if (shapeType == 11)//PointZ + { + binaryReader.ReadDouble();//Z + binaryReader.ReadDouble();//M + } + else if (shapeType == 21)//PointM + { + binaryReader.ReadDouble();//M + } + } + } + + private static void ParsePolylines(BinaryReader binaryReader, List polylines) + { + while (binaryReader.PeekChar() != -1) + { + Polyline polyling = new Polyline(); + polylines.Add(polyling); + + binaryReader.ReadUInt32(); + binaryReader.ReadInt32(); + int shapeType = binaryReader.ReadInt32(); + + polyling.TopLeft = new MapPoint(); + polyling.BottomRight = new MapPoint(); + polyling.TopLeft.Longitude = binaryReader.ReadDouble(); + polyling.TopLeft.Latitude = binaryReader.ReadDouble(); + polyling.BottomRight.Longitude = binaryReader.ReadDouble(); + polyling.BottomRight.Latitude = binaryReader.ReadDouble(); + + List parts = new List();//记录每条线的起始点索引 + int partCount = binaryReader.ReadInt32(); + int pointCount = binaryReader.ReadInt32(); + for (int i = 0; i < partCount; i++) + { + int part = new int(); + part = binaryReader.ReadInt32(); + parts.Add(part); + } + + MapPoints ring = null; + int partIndex = 0; + for (int j = 0; j < pointCount; j++) + { + if (partIndex < parts.Count && parts[partIndex] == j) + { + ring = new MapPoints(); + polyling.Parts.Add(ring); + } + MapPoint mp = new MapPoint(); + mp.Longitude = binaryReader.ReadDouble(); + mp.Latitude = binaryReader.ReadDouble(); + ring.Points.Add(mp); + } + + if (shapeType == 13)//PolylineZ + { + binaryReader.ReadDouble();//Zmin + binaryReader.ReadDouble();//Zmax + for (int j = 0; j < pointCount; j++) + { + binaryReader.ReadDouble();//Zarray + } + + binaryReader.ReadDouble();//Mmin + binaryReader.ReadDouble();//Mmax + for (int j = 0; j < pointCount; j++) + { + binaryReader.ReadDouble();//Marray + } + } + else if (shapeType == 23)//PolylineM + { + binaryReader.ReadDouble();//Mmin + binaryReader.ReadDouble();//Mmax + for (int j = 0; j < pointCount; j++) + { + binaryReader.ReadDouble();//Marray + } + } + } + } + + private static void ParsePolygons(BinaryReader binaryReader, List ls) + { + while (binaryReader.PeekChar() != -1) + { + binaryReader.ReadUInt32(); + binaryReader.ReadInt32(); + int shapeType = binaryReader.ReadInt32(); + + Polygon p = new Polygon(); + p.TopLeft = new MapPoint(); + p.BottomRight = new MapPoint(); + p.TopLeft.Longitude = binaryReader.ReadDouble(); + p.TopLeft.Latitude = binaryReader.ReadDouble(); + p.BottomRight.Longitude = binaryReader.ReadDouble(); + p.BottomRight.Latitude = binaryReader.ReadDouble(); + + List parts = new List();//记录每个区域的起始点索引 + int partCount = binaryReader.ReadInt32(); + int pointCount = binaryReader.ReadInt32(); + for (int j = 0; j < partCount; j++) + { + int part = binaryReader.ReadInt32(); + parts.Add(part); + } + + MapPoints ring = null; + int partIndex = 0; + for (int j = 0; j < pointCount; j++) + { + if (partIndex < parts.Count && parts[partIndex] == j) + { + ring = new MapPoints(); + p.Rings.Add(ring); + partIndex++; + } + MapPoint mp = new MapPoint(); + mp.Longitude = binaryReader.ReadDouble(); + mp.Latitude = binaryReader.ReadDouble(); + ring.Points.Add(mp); + } + + ls.Add(p); + + if (shapeType == 15)//PolygonZ + { + binaryReader.ReadDouble();//Zmin + binaryReader.ReadDouble();//Zmax + for (int j = 0; j < pointCount; j++) + { + binaryReader.ReadDouble();//Zarray + } + + binaryReader.ReadDouble();//Mmin + binaryReader.ReadDouble();//Mmax + for (int j = 0; j < pointCount; j++) + { + binaryReader.ReadDouble();//Marray + } + } + else if (shapeType == 25)//PolygonM + { + binaryReader.ReadDouble();//Mmin + binaryReader.ReadDouble();//Mmax + for (int j = 0; j < pointCount; j++) + { + binaryReader.ReadDouble();//Marray + } + } + } + } + + /// + /// 解析.shp文件 + /// + /// + public static void ParseFromShapeFile(string fileName, Shape shape) + { + using (FileStream fileStream = File.Open(fileName, FileMode.Open, FileAccess.Read, FileShare.Read)) + { + ParseFromShapeFile(fileStream, shape); + } + } + + /// + /// 解析.shp文件 + /// + /// .shp文件数据 + /// + public static void ParseFromShapeFile(byte[] buffer, Shape shape) + { + using (MemoryStream ms = new MemoryStream(buffer, false)) + { + ParseFromShapeFile(ms, shape); + } + } + + /// + /// 解析.shp文件 + /// + /// 装载.shp文件数据的流 + public static void ParseFromShapeFile(Stream fs, Shape shape) + { + fs.Seek(0, SeekOrigin.Begin); + using (BinaryReader binaryReader = new BinaryReader(fs)) + { + binaryReader.ReadBytes(24); + + int FileLength = binaryReader.ReadInt32();//<0代表数据长度未知 + int FileBanben = binaryReader.ReadInt32(); + int ShapeType = binaryReader.ReadInt32(); + + double xmin = binaryReader.ReadDouble(); + double ymax = -1 * binaryReader.ReadDouble(); + double xmax = binaryReader.ReadDouble(); + double ymin = -1 * binaryReader.ReadDouble(); + double width = xmax - xmin; + double height = ymax - ymin; + + binaryReader.ReadBytes(32); + + switch (ShapeType) + { + case 1://Point + case 11://PointZ + case 21://PointM + MapPoints points = new MapPoints(); + shape.Points.Add(points); + ParsePoints(binaryReader, points); + break; + case 3://PolyLine + case 13://PolyLineZ + case 23://PolyLineM + ParsePolylines(binaryReader, shape.Polylines); + break; + case 5://Polygon + case 15://PolygonZ + case 25://PolygonM + ParsePolygons(binaryReader, shape.Polygons); + break; + } + } + } + + /// + /// 从zip文件当中解析.shp + /// + /// 装载.zip文件内容的流 + /// + public static void ParseFromZipFile(Stream stream, Shape shape) + { + const string EXT = ".shp"; + //using (ZipInputStream s = new ZipInputStream(stream)) + //{ + // ZipEntry zipentry = s.GetNextEntry(); + // while (zipentry != null) + // { + // if (zipentry.IsDirectory) + // { + // zipentry = s.GetNextEntry(); + // continue; + // } + // string ext = Path.GetExtension(zipentry.FileName); + // if (string.Compare(ext, EXT, true) == 0) + // { + // Stream shpStream = new MemoryStream(); + // int size = 0; + // byte[] data = new byte[2048]; + // while (true) + // { + // size = s.Read(data, 0, data.Length); + // if (size > 0) + // { + // shpStream.Write(data, 0, size); + // } + // else + // { + // break; + // } + // } + // ParseFromShapeFile(shpStream, shape); + // } + // zipentry = s.GetNextEntry(); + // }//while + //} + } + + /// + /// 从.zip文件当中解析.shp + /// + /// .zip文件数据 + /// + public static void ParseFromZipFile(byte[] buffer, Shape shape) + { + using (MemoryStream ms = new MemoryStream(buffer, false)) + { + ParseFromZipFile(ms, shape); + } + } + + /// + /// 从.zip文件当中解析.shp + /// + /// + /// + public static void ParseFromZipFile(string filename, Shape shape) + { + using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read)) + { + ParseFromZipFile(fs, shape); + } + } + } + +} + + diff --git a/IronIntelContractorBusiness/SystemParams.cs b/IronIntelContractorBusiness/SystemParams.cs new file mode 100644 index 0000000..ba1f2a3 --- /dev/null +++ b/IronIntelContractorBusiness/SystemParams.cs @@ -0,0 +1,841 @@ +using System; +using System.Configuration; +using System.Collections.Generic; +using System.Collections.Concurrent; +using System.Reflection; +using System.Linq; +using System.Text; +using System.Net; +using System.Data; +using System.IO; +using System.Diagnostics; +using System.Threading; +using System.Data.SqlClient; +using Foresight.Security; +using Foresight.Data; +using IronIntel.Services; +using IronIntel.Services.Business.Admin; +using IronIntel.Contractor.Users; +using IronIntel.Services.Contractor.Machine; +using IronIntel.Services.Users; +using Foresight.Fleet.Services.Asset; +using Foresight.Fleet.Services.Attachment; +using Foresight.ServiceModel; +using Foresight.Fleet.Services.FITracker; +using Foresight.Fleet.Services.AssetHealth; +using Foresight.Fleet.Services.User; +using Foresight.Fleet.Services.Device; +using Foresight.Fleet.Services.JobSite; +using Foresight.Fleet.Services; +using Foresight.Fleet.Services.OTRConfig; +using Foresight.Fleet.Services.Customer; +using Foresight.Fleet.Services.MapView; +using Foresight.Fleet.Services.SystemOption; +using Foresight.Fleet.Services.Inspection; + +namespace IronIntel.Contractor +{ + public static class SystemParams + { + private static Dictionary _CompanyDbString = new Dictionary(StringComparer.OrdinalIgnoreCase); + + private static ConcurrentDictionary _Params = new ConcurrentDictionary(StringComparer.OrdinalIgnoreCase); + + private static readonly byte[] KEY = new byte[] { 134, 109, 104, 92, 86, 241, 196, 160, 203, 10, 175, 253, 14, 48, 138, 42, 131, 123, 238, 226, 146, 45, 125, 185, 217, 119, 183, 64, 16, 113, 37, 62 }; + private static readonly byte[] IV = new byte[] { 178, 198, 121, 147, 158, 41, 192, 222, 198, 61, 142, 50, 24, 111, 158, 169 }; + + private static string _ContractorVersion = ""; + private static string _FICVersion = ""; + + private static string EncryptString(string s) + { + byte[] buf = Encoding.UTF8.GetBytes(s); + byte[] tmp = SecurityHelper.AesEncrypt(buf, KEY, IV); + return Convert.ToBase64String(tmp); + } + + private static string GetAssemblyFileVersion() + { + try + { + string filename = Assembly.GetExecutingAssembly().GetName().Name + ".dll"; + string fn = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "bin\\" + filename); + FileVersionInfo fv = FileVersionInfo.GetVersionInfo(fn); + return fv.FileVersion.ToString(); + } + catch + { + return string.Empty; + } + } + + public static void CreateDbObjects() + { + try + { + FI.FIC.Database.FIC.FICDbInitializer ficdb = new FI.FIC.Database.FIC.FICDbInitializer(FICDbConnectionString); + ficdb.RunIronIntel(); + } + catch + { } + } + + public static string AppVersion + { + get + { + return GetVersion(); + } + } + + internal static string GetCompanyDbString(string companyid) + { + string rst = null; + if (_CompanyDbString.TryGetValue(companyid, out rst)) + { + return rst; + } + try + { + CustomerDetail cust = FleetServiceClientHelper.CreateClient(companyid, string.Empty).GetCustomerDetail(companyid); + string dbstr = cust.MasterDataDbString; + if (!string.IsNullOrWhiteSpace(dbstr)) + { + _CompanyDbString[companyid] = dbstr; + return dbstr; + } + } + catch + { + return string.Empty; + } + return string.Empty; + } + + internal static FISqlConnection GetCompanyDbConnection(string companyid) + { + if (string.IsNullOrWhiteSpace(companyid) || string.Compare(companyid, CompanyID, true) == 0) + { + return GetDbInstance(); + } + string s = GetCompanyDbString(companyid); + if (string.IsNullOrWhiteSpace(s)) + { + return null; + } + else + { + return new FISqlConnection(s); + } + } + + private static string DecryptString(string s) + { + if (string.IsNullOrWhiteSpace(s)) + { + return string.Empty; + } + byte[] tmp = Convert.FromBase64String(s); + byte[] buf = SecurityHelper.AesDecrypt(tmp, KEY, IV); + return Encoding.UTF8.GetString(buf); + } + + private static string _HostName = null; + + public static string HostName + { + get + { + if (_HostName == null) + { + try + { + _HostName = Dns.GetHostName(); + } + catch + { + _HostName = string.Empty; + } + } + return _HostName; + } + } + + private static string _DataDbConnectionString = null; + + /// + /// 获取主数据库连接字符串 + /// + /// 获取主数据库连接字符串 + public static string DataDbConnectionString + { + get + { + if (_DataDbConnectionString == null) + { + SqlConnectionStringBuilder sb = new SqlConnectionStringBuilder(ConfigurationManager.AppSettings["DbConntionString"]); + try + { + sb.Password = DecryptString(sb.Password); + } + catch + { + } + _DataDbConnectionString = sb.ToString(); + } + return _DataDbConnectionString; + } + } + + private static string _ficdbstr = null; + + public static string FICDbConnectionString + { + get + { + if (_ficdbstr == null) + { + string db = GetStringParam("FICSysDBName"); + if (string.IsNullOrWhiteSpace(db)) + { + _ficdbstr = string.Empty; + } + else + { + SqlConnectionStringBuilder sc = new SqlConnectionStringBuilder(DataDbConnectionString); + sc.InitialCatalog = db; + _ficdbstr = sc.ToString(); + } + } + return _ficdbstr; + } + } + + public static FISqlConnection GetDbInstance() + { + return new FISqlConnection(DataDbConnectionString); + } + + public static FISqlConnection FICDBInstance + { + get + { + return new FISqlConnection(FICDbConnectionString); + } + } + + public static void SetStringParam(string paramname, string value) + { + const string SQL = "if exists(select 1 from SYSPARAMS where PARAMNAME={0}) update SYSPARAMS set PARAMVALUE={1} where PARAMNAME={0}" + + " else insert into SYSPARAMS(PARAMNAME,PARAMVALUE) values({0},{1})"; + FIDbAccess db = GetDbInstance(); + db.ExecSQL(SQL, paramname, value); + _Params[paramname] = value; + } + + /// + /// 根据参数名称获取参数值 + /// + /// 参数名称 + /// 参数值 + public static string GetStringParam(string paramname, bool useCache = true, FISqlConnection db = null) + { + const string SQL = "select PARAMVALUE from SYSPARAMS where PARAMNAME={0}"; + + string v = null; + if (useCache && _Params.TryGetValue(paramname, out v)) + { + return v; + } + if (db == null) + db = GetDbInstance(); + object obj = db.GetRC1BySQL(SQL, paramname); + v = FIDbAccess.GetFieldString(obj, string.Empty); + _Params[paramname] = v; + return v; + } + + public static string GetFICStringParam(string paramcode) + { + const string SQL = "select PARAMVALUE from SystemParams where PARAMCODE={0}"; + if (string.IsNullOrWhiteSpace(FICDbConnectionString)) + { + return string.Empty; + } + + object obj = FICDBInstance.GetRC1BySQL(SQL, paramcode); + return FIDbAccess.GetFieldString(obj, string.Empty); + } + + public static void SetFICStringParameter(string paramname, string value) + { + const string SQL = "if exists(select 1 from SYSTEMPARAMS where PARAMCODE={0}) " + + " update SYSTEMPARAMS set PARAMVALUE={1} where PARAMCODE={0} " + + " else insert into SYSTEMPARAMS(IID,PARAMTYPE,PARAMCODE,PARAMNAME,PARAMVALUE,PARAMMEMO) values(newid(),1,{0},{0},{1},{0}) "; + + FICDBInstance.ExecSQL(SQL, paramname, value); + } + + private static Services.Customers.CustomerInfo _Company = null; + + public static string CompanyID + { + get + { + return GetStringParam("CompanyID"); + } + } + + private static CustomerDetail _Customer = null; + private static object _syccust = new object(); + + public static CustomerDetail CustomerDetail + { + get + { + if (_Customer == null) + { + lock (_syccust) + { + if (_Customer == null) + { + _Customer = FleetServiceClientHelper.CreateClient().GetCustomerDetail(CompanyID); + } + } + } + return _Customer; + } + } + + + + public static T GetServiceClient() where T : Foresight.ServiceModel.ServiceClientBase, new() + { + T rst = new T(); + rst.ServiceAddress = SystemServiceAddresses[0]; + rst.AppName = APPNAME; + return rst; + } + + public static T GetServiceClient(string sessionid) where T : Foresight.ServiceModel.ServiceClientBase, new() + { + T rst = new T(); + rst.ServiceAddress = SystemServiceAddresses[0]; + rst.AppName = APPNAME; + rst.LoginSessionID = sessionid; + return rst; + } + + public static Services.LicenseInfo GetLicense() + { + var ic = GetServiceClient(); + return ic.GetLicenseInfo(CompanyID); + } + + public static bool HasLicense(string itemName) + { + bool result = false; + var license = SystemParams.GetLicense(); + if (license != null && license.Items.Count > 0) + { + var item = license.Items.FirstOrDefault(m => m.Key.Equals(itemName, StringComparison.OrdinalIgnoreCase)); + if (item != null && Helper.IsTrue(item.Value)) + result = true; + } + return result; + } + + public static string GetVersion() + { + if (string.IsNullOrEmpty(_ContractorVersion)) + { + //IronSysServiceClient ic = GetIronSystemServiceClient(); + //_ContractorVersion = ic.GetServerVersion(); + _ContractorVersion = GetAssemblyFileVersion(); + } + return _ContractorVersion; + } + + public static string GetFICVersion() + { + if (string.IsNullOrEmpty(_FICVersion)) + { + string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "bin\\FICBLC.dll"); + if (File.Exists(path)) + { + FileVersionInfo fv = FileVersionInfo.GetVersionInfo(path); + _FICVersion = fv.FileVersion.ToString(); + } + } + return _FICVersion; + } + + private static string[] _IronIntelSystemServiceAddresses = null; + + public static string[] SystemServiceAddresses + { + get + { + if (_IronIntelSystemServiceAddresses == null) + { + string s = GetStringParam("MasterServiceAddress"); + _IronIntelSystemServiceAddresses = s.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); + } + return _IronIntelSystemServiceAddresses; + } + } + + private static string _ReportDbString = string.Empty; + + public static string GetIronIntelReportDataDbString(string companyid = null) + { + if (string.IsNullOrEmpty(companyid)) + companyid = CompanyID; + if (!string.IsNullOrWhiteSpace(_ReportDbString)) + { + return _ReportDbString; + } + string svcaddress = GetStringParam("IronIntelSystemServiceAddress"); + if (string.IsNullOrWhiteSpace(svcaddress)) + { + return string.Empty; + } + CustomerDetail cust = FleetServiceClientHelper.CreateClient(companyid, string.Empty).GetCustomerDetail(companyid); + string dbstring = cust.ReportDataDbString; + if (!string.IsNullOrEmpty(dbstring)) + { + _ReportDbString = dbstring; + return _ReportDbString; + } + return string.Empty; + } + + static Dictionary _CompanyDBStrings = new Dictionary(StringComparer.OrdinalIgnoreCase); + public static string GetDbStringByCompany(string companyid) + { + return GetCustomerDbString(companyid, "MASTER_DATA_DB"); + } + + public static string GetCustomerDbString(string companyid, string dbtype) + { + string key = companyid + dbtype; + if (_CompanyDBStrings.ContainsKey(key)) + return _CompanyDBStrings[key]; + + CustomerDetail cust = FleetServiceClientHelper.CreateClient(companyid, string.Empty).GetCustomerDetail(companyid); + string dbstring = cust.MasterDataDbString; + _CompanyDBStrings[key] = dbstring; + return dbstring; + } + + public static Services.Customers.CustomerInfo GetCompanyInfo() + { + if (_Company == null) + { + var ic = GetCustomerProvider(); + _Company = ic.GetCustomerByID(CompanyID); + } + return _Company; + } + public static MainStyle GetMainStyle() + { + IronSysServiceClient ic = GetIronSystemServiceClient(); + return ic.GetMainStyle(CompanyID); + } + + public static bool IsDealer + { + get + { + return CustomerDetail.IsDealer; + } + } + + public static Services.Customers.CustomerInfo[] GetContractors() + { + if (IsDealer) + { + var cust = GetCustomerProvider(); + return cust.GetContractors(CompanyID); + } + else + { + return new Services.Customers.CustomerInfo[0]; + } + } + + public static byte[] GetCompanyLOGO(string companyid) + { + return FleetServiceClientHelper.CreateClient(companyid, string.Empty).GetCustomerLOGO(companyid); + } + + public static byte[] GetForesightLOGOInMainStyle() + { + IronSysServiceClient ic = GetIronSystemServiceClient(); + return ic.GetLogoInMainStyle(CompanyID, 1); + } + + public static byte[] GetCompanyLocationLOGO(string companyid) + { + byte[] buffer = FleetServiceClientHelper.CreateClient(companyid, string.Empty).GetDefaultLocationLOGO(companyid); + if ((buffer == null) || (buffer.Length == 0)) + { + return GetCompanyLOGO(companyid); + } + else + { + return buffer; + } + } + + public static Services.Customers.CustomerInfo GetFirstDealerInfo() + { + if (IsDealer) + { + return GetCompanyInfo(); + } + else + { + var cust = GetCustomerProvider(); + var cmps = cust.GetDealers(CompanyID); + if ((cmps != null) && (cmps.Length > 0)) + { + return cmps[0]; + } + } + return null; + } + + public static bool HasLOGO(string companyid) + { + IronSysServiceClient ic = GetIronSystemServiceClient(); + return ic.HasLOGO(companyid); + } + public static void ExecSQL(FIDbAccess db, int retrytimes, string sql, params object[] values) + { + int n = 0; + while (true) + { + n++; + try + { + db.ExecSQL(sql, values); + return; + } + catch + { + if (n >= retrytimes) + { + throw; + } + } + System.Threading.Thread.Sleep(100); + } + } + + public static IronSysServiceClient GetIronSystemServiceClient() + { + IronSysServiceClient ic = GetServiceClient(); + return ic; + } + + public static MachineServiceClient2 GetMachineServiceClient() + { + MachineServiceClient2 ic = GetServiceClient(); + return ic; + } + + public static MapAlertLayerClient GetMapAlertLayerClient() + { + MapAlertLayerClient ic = GetServiceClient(); + return ic; + } + + public static Services.Customers.CustomerProvider GetCustomerProvider() + { + var ic = GetServiceClient(); + return ic; + } + + /**Fleet Service***/ + public static string[] FleetAssetServiceAddresses + { + get + { + string addresses = ConfigurationManager.AppSettings["FleetAssetServiceAddress"]; + if (!string.IsNullOrWhiteSpace(addresses)) + return addresses.Split(';'); + return new string[0]; + } + } + + //public static T GetFleetServiceClient() where T : Foresight.Fleet.Services.RemoteClientBase, new() + //{ + // T rst = (T)System.Activator.CreateInstance(typeof(T), new object[] { FleetAssetServiceAddresses }); + // return rst; + //} + + //public static T GetFleetServiceClient(string sessionid, string workingCompanyID) where T : Foresight.Fleet.Services.RemoteClientBase, new() + //{ + // T rst = (T)System.Activator.CreateInstance(typeof(T), new object[] { FleetAssetServiceAddresses }); + // rst.SessionID = sessionid; + // rst.WorkingCompanyID = sessionid; + // return rst; + //} + + + private static string _MachineTypeMapViewIconUrl = string.Empty; + public static string MachineTypeMapViewIconUrl + { + get + { + if (string.IsNullOrWhiteSpace(_MachineTypeMapViewIconUrl)) + { + MachineServiceClient2 mc2 = SystemParams.GetMachineServiceClient(); + _MachineTypeMapViewIconUrl = mc2.GetMachineTypeIconUrl(); + } + return _MachineTypeMapViewIconUrl; + } + } + + public static CustUIStyle GetUIStyle(string useriid) + { + //var up = UserParams.GetUserParams(useriid); + string sid = UserParams.GetStringParameter(useriid, UserParams._SystemStyleID); + int styleID = -1; + if (string.IsNullOrEmpty(sid) || !int.TryParse(sid, out styleID)) + styleID = -1; + var sc = GetIronSystemServiceClient(); + CustUIStyle style = sc.GetDefaultUIStyle(SystemParams.CompanyID, styleID); + return style; + } + + //public static int GetTimeAdjust() + //{ + // var sc = GetIronSystemServiceClient(); + // return sc.GetCompanyTimeAdjust(CompanyID); + //} + + public static double GetHoursOffset() + { + //double offsetMinutes = 0; + //string offset = GetStringParam("CustomerTimeZoneOffset"); + //if (!string.IsNullOrEmpty(offset) && double.TryParse(offset, out offsetMinutes)) + //{ + // return offsetMinutes / 60; + //} + //else + //{ + string tzName = GetStringParam("CustomerTimeZone"); + if (!string.IsNullOrEmpty(tzName)) + { + var tz = TimeZoneInfo.FindSystemTimeZoneById(tzName.Trim()); + if (tz != null) + { + TimeSpan offset = tz.GetUtcOffset(DateTime.UtcNow); + return offset.Hours + (double)offset.Minutes / 60; + } + } + //} + + var sc = GetIronSystemServiceClient(); + double offsetHours = sc.GetCompanyTimeAdjust(CompanyID); + return offsetHours; + } + + public static TimeZoneInfo GetTimeZoneInfo(string custid, FISqlConnection db = null) + { + + string tzName = GetStringParam("CustomerTimeZone", true, db); + if (string.IsNullOrEmpty(tzName)) + tzName = FleetServiceClientHelper.CreateClient(custid, string.Empty).GetCustomerTimeZoneName(custid); + var tz = TimeZoneInfo.FindSystemTimeZoneById(tzName.Trim()); + return tz; + } + + public static StringKeyValue[] GetTimeZones() + { + var tzs = TimeZoneInfo.GetSystemTimeZones(); + List result = new List(); + + foreach (TimeZoneInfo tz in tzs) + { + StringKeyValue skv = new StringKeyValue(); + skv.Key = tz.Id; + TimeSpan offset = tz.GetUtcOffset(DateTime.UtcNow); + skv.Value = string.Format("{0}{1}:{2}", offset.Hours >= 0 ? "+" : "", offset.Hours.ToString("00"), Math.Abs(offset.Minutes).ToString("00")); + + skv.Tag1 = offset.TotalMinutes.ToString(); + result.Add(skv); + } + return result.OrderBy(tz => double.Parse(tz.Tag1)).ThenBy(tz => tz.Key).ToArray(); + //const string SQL = "select name,current_utc_offset as offset from sys.time_zone_info"; + + //FISqlConnection db = GetDbInstance(); + //DataTable tb = db.GetDataTableBySQL(SQL); + //if (tb.Rows.Count > 0) + //{ + // foreach (DataRow dr in tb.Rows) + // { + // StringKeyValue skv = new StringKeyValue(); + // skv.Key = FIDbAccess.GetFieldString(dr["name"], string.Empty); + // skv.Value = FIDbAccess.GetFieldString(dr["offset"], string.Empty); + + // string offsetstr = skv.Value; + // string symbol = offsetstr.Substring(0, 1); + // string offset = offsetstr.Remove(0, 1); + // string[] strs = offset.Split(':'); + + // skv.Tag1 = (int.Parse(symbol + strs[0]) * 60 + int.Parse(symbol + strs[1])).ToString(); + // result.Add(skv); + // } + //} + //return result.ToArray(); + } + + + public const string APPNAME = "IronIntelCustomerSite"; + private const string WORKING_COMPANY_HEADER = "WorkingCompanyID"; + + public static void SendMail(System.Net.Mail.MailMessage msg) + { + SendMail(APPNAME, msg); + } + + public static void SendMail(string appname, System.Net.Mail.MailMessage msg) + { + FleetServiceClientHelper.CreateClient().SendMail(CompanyID, appname, msg); + } + + public static void WriteLog(string logType, string source, string message, string detail) + { + try + { + FleetServiceClientHelper.CreateClient().WriteLog(CompanyID, APPNAME, logType, source, message, detail, string.Empty); + } + catch + { + } + } + + public static void WriteLog(string logType, string category, string source, string message, string detail) + { + try + { + FleetServiceClientHelper.CreateClient().WriteLog(CompanyID, category, logType, source, message, detail, string.Empty); + } + catch + { + } + } + + public static void WriteRefreshLog(string useriid, string userhost, string objname, string refreshtype) + { + ThreadPool.QueueUserWorkItem(new WaitCallback((e) => { _WriteRefreshLog(useriid, userhost, objname, refreshtype); }), null); + } + + + private static void _WriteRefreshLog(string useriid, string userhost, string objname, string refreshtype) + { + const string SQL = "insert into REFRESHLOG(USERIID,HOSTADDRESS,OBJNAME,REFRESHTYPE,REFRESHTIME_UTC) values({0},{1},{2},{3},GETUTCDATE())"; + + try + { + FIDbAccess db = GetDbInstance(); + db.ExecSQL(SQL, useriid, userhost, objname, refreshtype); + } + catch + { } + } + + public static string GetResourceLock(string resourceid, int locksecond) + { + try + { + return FleetServiceClientHelper.CreateClient().GetResourceLock(CompanyID, resourceid, locksecond); + } + catch + { + return ""; + } + } + + public static void ReleaseResourceLock(string lockid) + { + try + { + FleetServiceClientHelper.CreateClient().ReleaseResourceLock(lockid); + } + catch + { } + } + + public static string ConnectorToken + { + get + { + return GetFICStringParam("ConnectorToken"); + } + } + + public static string ConnectorServer + { + get + { + return GetFICStringParam("ConnectorServer"); + } + } + + public static string LdapAgentID + { + get + { + return GetFICStringParam("LdapAgentID"); + } + } + + public static string LdapAgentToken + { + get + { + return GetFICStringParam("LdapAgentToken"); + } + } + public static bool CanUseConnectorLDAP + { + get + { + return GetFICStringParam("CanUseConnectorLDAP") == "1"; + } + } + public static bool RedisEnabled + { + get + { + return string.Equals(GetFICStringParam("RedisEnabled"), "Yes", StringComparison.OrdinalIgnoreCase); + } + } + + public static string RedisToken + { + get + { + return GetFICStringParam("RedisToken"); + } + } + + public static Dictionary GetAdditionalParameter() + { + var dict = new Dictionary + { + { "ConnectorToken", ConnectorToken }, + { "ConnectorServer", ConnectorServer }, + { "LdapAgentID", LdapAgentID }, + { "LdapAgentToken", LdapAgentToken }, + { "CanUseConnectorLDAP", CanUseConnectorLDAP ? "1" : "0" } + }; + + return dict; + } + } +} diff --git a/IronIntelContractorBusiness/Users/Acl.cs b/IronIntelContractorBusiness/Users/Acl.cs new file mode 100644 index 0000000..45eabb2 --- /dev/null +++ b/IronIntelContractorBusiness/Users/Acl.cs @@ -0,0 +1,45 @@ +using Foresight.Data; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Users +{ + public static class Acl + { + public static string[] GetUserAvailableContractors(string useriid) + { + const string SQL = @"select distinct CONTRACTORID from USERTOCONTRACTOR where USERIID={0} + or USERIID in(select GROUPID from USERGROUPMAP where USERIID ={0})"; + FIDbAccess db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(SQL, useriid); + List list = new List(); + foreach (DataRow dr in dt.Rows) + { + list.Add(FIDbAccess.GetFieldString(dr["CONTRACTORID"], string.Empty)); + } + return list.ToArray(); + } + + public static AppModuleInfo[] GetAvailableAppModuleInfos(UserInfo user) + { + return AppModulesManagement.GetAvailableAppModuleInfos(user); + } + + public static AppModuleInfo[] GetAvailableAppModuleInfos(string useriid) + { + UserInfo ui = UserManagement.GetUserByIID(useriid); + return GetAvailableAppModuleInfos(ui); + } + + public static SecurityNavigateItem[] GetSecurityNavigateItems(UserInfo user) + { + return AppModulesManagement.GetSecurityNavigateItems(user); + } + + + } +} diff --git a/IronIntelContractorBusiness/Users/AppModuleInfo.cs b/IronIntelContractorBusiness/Users/AppModuleInfo.cs new file mode 100644 index 0000000..75fe67c --- /dev/null +++ b/IronIntelContractorBusiness/Users/AppModuleInfo.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Data; +using Foresight.Data; + +namespace IronIntel.Contractor.Users +{ + public class AppModuleInfo + { + public string ID { get; set; } + public string Name { get; set; } + public string Description { get; set; } + public bool Visible { get; set; } + public string Url { get; set; } + public string IconPath { get; set; } + public string BackColor { get; set; } + public string ForeColor { get; set; } + public bool OpenInNewWindow { get; set; } + public AppModuleType ModuleType { get; set; } + } + + public class SecurityNavigateItem + { + public string ID { get; set; } + public string Title { get; set; } + public string Url { get; set; } + public string IconPath { get; set; } + } + + public enum AppModuleType + { + System, + Workspace + } +} diff --git a/IronIntelContractorBusiness/Users/AppModulesManagement.cs b/IronIntelContractorBusiness/Users/AppModulesManagement.cs new file mode 100644 index 0000000..464559d --- /dev/null +++ b/IronIntelContractorBusiness/Users/AppModulesManagement.cs @@ -0,0 +1,195 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Data; +using Foresight.Data; +using IronIntel.Contractor.Users; +using IronIntel.Services; + +namespace IronIntel.Contractor.Users +{ + class AppModulesManagement + { + private const string FITracker = "FITracker"; + private const string Inspect = "Inspection"; + private const string TeamIntelligence = "TeamIntelligence"; + public static AppModuleInfo[] GetAvailableAppModuleInfos(UserInfo user) + { + const string SQL = @"select ID,APPMODULENAME,APPMODULEDESC,URL,ICONPATH,BACKCOLOR,FORECOLOR,OPENINNEWWINDOW from APPMODULES where VISIBLE>0 and (isnull(SITETYPE,'All')='All' or SITETYPE={0}) "; + + if (user == null) + { + return new AppModuleInfo[0]; + } + + string sql = SQL; + switch (user.UserType) + { + case UserTypes.Readonly: + sql = SQL + " and SECURITYLEVEL=0"; + break; + case UserTypes.Common: + sql = SQL + " and SECURITYLEVEL<=1"; + break; + case UserTypes.Admin: + sql = SQL + " and SECURITYLEVEL<=2"; + break; + case UserTypes.SupperAdmin: + sql = SQL + " and SECURITYLEVEL<=3"; + break; + default: + sql = SQL; + break; + } + + sql = sql + " order by ORDERINDEX "; + + FIDbAccess db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(sql, SystemParams.CustomerDetail.CustomerType); + + CustUIStyle style = SystemParams.GetUIStyle(user.IID);//获取样式设置 + string moudleBackgroundColor = "#0078D7"; + if (style != null && !string.IsNullOrEmpty(style.MenuBackgroundColor)) + moudleBackgroundColor = style.MenuBackgroundColor; + + List list = new List(); + bool fitracter = SystemParams.HasLicense(FITracker); + bool inspect = SystemParams.HasLicense(Inspect); + bool teamintelligence = SystemParams.HasLicense(TeamIntelligence); + foreach (DataRow dr in dt.Rows) + { + AppModuleInfo ami = ConvertToAppModule(dr); + ami.BackColor = moudleBackgroundColor; + if (ami.ID.Equals(FITracker, StringComparison.OrdinalIgnoreCase)) + { + if (fitracter) + list.Add(ami); + } + else if (ami.ID.Equals(Inspect, StringComparison.OrdinalIgnoreCase)) + { + if (inspect) + list.Add(ami); + } + else if (ami.ID.Equals(TeamIntelligence, StringComparison.OrdinalIgnoreCase)) + { + if (teamintelligence) + list.Add(ami); + } + else + list.Add(ami); + } + AppModuleInfo[] wsps = GetFICWorkspace(user); + foreach (AppModuleInfo ap in wsps) + { + if (!Exists(ap.Url, list)) + { + ap.BackColor = moudleBackgroundColor; + list.Add(ap); + } + } + return list.ToArray(); + } + + private static bool Exists(string url, IEnumerable items) + { + foreach (AppModuleInfo item in items) + { + if (string.Compare(url, item.Url, true) == 0) + { + return true; + } + } + return false; + } + + private static AppModuleInfo ConvertToAppModule(DataRow dr) + { + AppModuleInfo ai = new AppModuleInfo(); + ai.ID = FIDbAccess.GetFieldString(dr["ID"], string.Empty); + ai.Name = FIDbAccess.GetFieldString(dr["APPMODULENAME"], string.Empty); + ai.Description = FIDbAccess.GetFieldString(dr["APPMODULEDESC"], string.Empty); + ai.Url = FIDbAccess.GetFieldString(dr["URL"], string.Empty); + ai.IconPath = FIDbAccess.GetFieldString(dr["ICONPATH"], string.Empty); + ai.BackColor = FIDbAccess.GetFieldString(dr["BACKCOLOR"], string.Empty); + ai.ForeColor = FIDbAccess.GetFieldString(dr["FORECOLOR"], string.Empty); + ai.OpenInNewWindow = FIDbAccess.GetFieldInt(dr["OPENINNEWWINDOW"], 0) == 1; + ai.Visible = true; + ai.ModuleType = AppModuleType.System; + return ai; + } + + private static AppModuleInfo[] GetFICWorkspace(UserInfo user) + { + if (string.IsNullOrWhiteSpace(SystemParams.FICDbConnectionString)) + { + return new AppModuleInfo[0]; + } + + string SQL = @"select w.IID,isnull(l.WorkSpaceName,w.WSPNAME) as WSPNAME,w.WSPDESCRIPTION from WORKSPACE w + left join WorkSpaceLanguage l on w.IID=l.WorkspaceIID and l.LanguageCode='en-us' + where (ISPUBLIC=1 or ISPUBLIC>10)"; + + FISqlConnection db = new FISqlConnection(SystemParams.FICDbConnectionString); + if (user.UserType == UserTypes.Readonly) + { + SQL += " and w.IID in( select ObjectValue from UserDefaultInfo where UserID='" + user.IID + "' and UserDefaultType=0)"; + } + SQL += " order by isnull(l.WorkspaceName,w.WSPNAME)"; + + + + DataTable tb = db.GetDataTableBySQL(SQL); + List ls = new List(); + foreach (DataRow dr in tb.Rows) + { + AppModuleInfo ap = new AppModuleInfo(); + ap.ID = dr["IID"].ToString(); + ap.Name = FIDbAccess.GetFieldString(dr["WSPNAME"], string.Empty); + ap.OpenInNewWindow = false; + ap.Description = FIDbAccess.GetFieldString(dr["WSPDESCRIPTION"], string.Empty); + ap.Visible = true; + if (string.IsNullOrWhiteSpace(ap.Description)) + { + ap.Description = ap.Name; + } + ap.ForeColor = "white"; + ap.Url = @"fic/Workspace.aspx?IID=" + ap.ID; + ap.IconPath = @"img/modules/pie1.png?t=0"; + ap.ModuleType = AppModuleType.Workspace; + ls.Add(ap); + } + return ls.ToArray(); + } + + public static SecurityNavigateItem[] GetSecurityNavigateItems(UserInfo user) + { + const string SQL = "select * from SECURITYNAVNODE where (isnull(SITETYPE,'All')='All' or SITETYPE={0}) order by ORDERINDEX"; + + if ((user == null) || (user.UserType == UserTypes.Readonly) || (user.UserType == UserTypes.Common)) + { + return new SecurityNavigateItem[0]; + } + + FIDbAccess db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(SQL, SystemParams.CustomerDetail.CustomerType); + List ls = new List(); + foreach (DataRow dr in dt.Rows) + { + SecurityNavigateItem si = new SecurityNavigateItem(); + si.ID = FIDbAccess.GetFieldString(dr["NODEID"], string.Empty); + si.Title = FIDbAccess.GetFieldString(dr["TITLE"], string.Empty); + si.IconPath = FIDbAccess.GetFieldString(dr["ICONPATH"], string.Empty); + si.Url = FIDbAccess.GetFieldString(dr["TARGETURL"], string.Empty); + + if ("nav_dts" == si.ID.ToLower()) + si.Url = "../fic/fic/Management/DataTablePermission.aspx"; + if ("nav_filters" == si.ID.ToLower()) + si.Url = "../fic/fic/Management/FiltersManagement.aspx"; + ls.Add(si); + } + return ls.ToArray(); + } + } +} diff --git a/IronIntelContractorBusiness/Users/UserGroupInfo.cs b/IronIntelContractorBusiness/Users/UserGroupInfo.cs new file mode 100644 index 0000000..3190b9c --- /dev/null +++ b/IronIntelContractorBusiness/Users/UserGroupInfo.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Users +{ + public class UserGroupInfo + { + public string ID { get; set; } + public string Name { get; set; } + public string Notes { get; set; } + + public UserInfo[] Users { get; set; } + } + + + public class UserToContractorInfo + { + public string ID { get; set; } + public string Name { get; set; } + public bool IsChecked { get; set; } + public bool AuthorizedIngroup { get; set; } //用户权限是否继承至组权限 + } +} diff --git a/IronIntelContractorBusiness/Users/UserInfo.cs b/IronIntelContractorBusiness/Users/UserInfo.cs new file mode 100644 index 0000000..29c50df --- /dev/null +++ b/IronIntelContractorBusiness/Users/UserInfo.cs @@ -0,0 +1,84 @@ +using FI.FIC; +using FI.FIC.Contracts.DataObjects.BaseObject; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Users +{ + public class UserInfo + { + private static string[] ContactTypeNames = { "Foreman", "Driver", "Inventory Manager", "Rental Manager", "Service Manager", "Fleet Manager", "Technician", "Other" }; + public string IID { get; set; } + public string ID { get; set; } + public string DisplayName { get; set; } + public string TextAddress { get; set; } + public bool IsUser { get; set; } + public ContactTypes ContactType { get; set; } + public string Mobile { get; set; } + public string BusinessPhone { get; set; } + public string Notes { get; set; } + public bool Active { get; set; } + public UserTypes UserType { get; set; } + public string TransPass { get; set; } + public string ManagerIID { get; set; } + public string ManagerName { get; set; } + public bool EmailOptOut { get; set; } + public bool InspectEmailList { get; set; } + public bool TeamIntelligenceUser { get; set; } + public string FOB { get; set; } + public decimal HourlyRate { get; set; } + public string[] GroupIDs { get; set; } + public string[] GroupNames { get; set; } + public string GroupNamesStr { get { return (GroupNames == null || GroupNames.Length == 0) ? "" : string.Join(",", GroupNames); } } + + public string ContactTypeName + { + get + { + int cType = (int)ContactType; + if (cType > 7) + cType = 7; + return ContactTypeNames[cType]; + } + } + } + + public class UserObject + { + public UserInfo UserInfo { get; set; } + public SubscribeMessageByEmail Subscribe { get; set; } + public KeyValuePair[] Features { get; set; } + + public EmailSchedule Schedule { get; set; } + + } + + public enum UserTypes + { + Readonly = 0, + Common = 1, + Admin = 2, + SupperAdmin = 3 + } + public enum ContactTypes + { + Foreman = 0, + Driver = 1, + InventoryManager = 2, + RentalManager = 3, + ServiceManager = 4, + FleetManager = 5, + Technician = 6, + Other = 100 + } + + public class UserNameInfoItem + { + public string IID { get; set; } + public string ID { get; set; } + public string Name { get; set; } + } +} diff --git a/IronIntelContractorBusiness/Users/UserManagement.cs b/IronIntelContractorBusiness/Users/UserManagement.cs new file mode 100644 index 0000000..b703781 --- /dev/null +++ b/IronIntelContractorBusiness/Users/UserManagement.cs @@ -0,0 +1,1200 @@ +using FI.FIC; +using FI.FIC.Contracts.DataObjects; +using FI.FIC.Contracts.DataObjects.BaseObject; +using FI.FIC.Contracts.DataObjects.Enumeration; +using Foresight.Data; +using Foresight.Fleet.Services.Asset; +using Foresight.Fleet.Services.User; +using Foresight.ServiceModel; +using IronIntel.Services.Customers; +using IronIntel.Services.Users; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; + +namespace IronIntel.Contractor.Users +{ + public static class UserManagement + { + public static UserInfo[] GetUsers(string companyid = null) + { + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + var users = FleetServiceClientHelper.CreateClient(companyid, string.Empty).GetUsersByCustomerID(companyid, ""); + if (users == null || users.Length == 0) + return new UserInfo[0]; + + var maps = GetGroupsMaps(); + List list = new List(); + foreach (var user in users) + { + UserInfo u = ConvertUserItem(user); + if (maps.ContainsKey(u.IID)) + u.GroupNames = maps[u.IID].ToArray(); + list.Add(u); + } + return list.ToArray(); + + //const string SQL = @"SELECT USERIID,USERID,USERNAME,USERTYPE,EMAIL,ACTIVE,MOBILE,BUSINESSPHONE,NOTES FROM USERS"; + //FIDbAccess db = SystemParams.GetDbInstance(); + //DataTable dt = db.GetDataTableBySQL(SQL); + //List list = new List(); + //foreach (DataRow dr in dt.Rows) + //{ + // list.Add(ConvertToUserInfo(dr)); + //} + //return list.ToArray(); + } + + + private static Dictionary> GetGroupsMaps() + { + const string SQL = "select m.USERIID,m.GROUPID,g.GROUPNAME from USERGROUPMAP m left join USERGROUPS g on m.GROUPID=g.GROUPID order by GROUPNAME"; + + FIDbAccess db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(SQL); + if (dt.Rows.Count == 0) + return new Dictionary>(); + + Dictionary> result = new Dictionary>(); + foreach (DataRow dr in dt.Rows) + { + string useriid = FIDbAccess.GetFieldString(dr["USERIID"], string.Empty); + string groupid = FIDbAccess.GetFieldString(dr["GROUPID"], string.Empty); + string groupname = FIDbAccess.GetFieldString(dr["GROUPNAME"], string.Empty); + if (!result.ContainsKey(useriid)) + result[useriid] = new List(); + if (!string.IsNullOrEmpty(groupname)) + result[useriid].Add(groupname); + + } + return result; + } + + public static UserInfo[] GetActiveUsers(string sessionid, string companyid = null) + { + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + var users = FleetServiceClientHelper.CreateClient(companyid, sessionid).GetUsersByCustomerID(companyid, ""); + List list = new List(); + foreach (var user in users) + { + if (user.Active) + list.Add(ConvertUserItem(user)); + } + return list.ToArray(); + } + + private static UserInfo ConvertUserItem(Foresight.Fleet.Services.User.UserInfo user) + { + if (user == null) + return null; + UserInfo u = new UserInfo(); + u.IID = user.UID; + u.ID = user.ID; + u.DisplayName = user.Name; + u.UserType = (UserTypes)user.UserType; + u.Active = user.Active; + u.TextAddress = user.TextAddress; + u.Mobile = user.Mobile; + u.BusinessPhone = user.BusinessPhone; + u.Notes = user.Remark; + u.IsUser = user.IsUser; + u.ContactType = (ContactTypes)user.ContactType; + u.ManagerIID = user.ManagerIID; + u.ManagerName = user.ManagerName; + u.EmailOptOut = user.EmailOptOut; + u.InspectEmailList = user.InspectEmailList; + u.TeamIntelligenceUser = user.TeamIntelligenceUser; + u.FOB = user.FOB; + u.HourlyRate = user.HourlyRate; + return u; + } + + private static Foresight.Fleet.Services.User.UserInfo ConvertUserItem(UserInfo user) + { + if (user == null) + return null; + Foresight.Fleet.Services.User.UserInfo u = new Foresight.Fleet.Services.User.UserInfo(); + u.UID = user.IID; + u.ID = user.ID; + u.Name = user.DisplayName; + u.UserType = (Foresight.Fleet.Services.User.UserTypes)user.UserType; + u.Active = user.Active; + u.Email = user.ID; + u.TextAddress = user.TextAddress; + u.Mobile = user.Mobile; + u.BusinessPhone = user.BusinessPhone; + u.Remark = user.Notes; + u.IsUser = user.IsUser; + u.ContactType = (Foresight.Fleet.Services.User.ContactTypes)user.ContactType; + u.ManagerIID = user.ManagerIID; + u.EmailOptOut = user.EmailOptOut; + u.InspectEmailList = user.InspectEmailList; + u.TeamIntelligenceUser = user.TeamIntelligenceUser; + u.FOB = user.FOB; + u.HourlyRate = user.HourlyRate; + return u; + } + + public static UserInfo[] GetUnmanagementUsers() + { + const string SQL = @"SELECT USERIID,USERID,USERNAME,USERTYPE,EMAIL,ACTIVE,MOBILE,BUSINESSPHONE,NOTES FROM USERS where isnull(ISUSER,0)=1 and (USERTYPE=0 or USERTYPE=1)"; + FIDbAccess db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(SQL); + List list = new List(); + foreach (DataRow dr in dt.Rows) + { + list.Add(ConvertToUserInfo(dr)); + } + return list.ToArray(); + } + + /// + /// local+dealer+foresight + /// + /// + public static UserInfo[] GetAllAvailableUsers() + { + List ls = new List(); + ls.AddRange(GetUsers()); + ls.AddRange(GetForesightUsers()); + if (!SystemParams.IsDealer) + { + var dealer = SystemParams.GetFirstDealerInfo(); + if (dealer != null) + { + var dealerusers = GetUsers(dealer.ID); + ls.AddRange(dealerusers); + //LoginProvider lp = SystemParams.GetLoginProvider(); + //UserInfoEx[] dealerusers = lp.GetAllUsersByCustomerID(dealer.ID); + //foreach (UserInfoEx u in dealerusers) + //{ + // ls.Add(ConvertToServiceUserInfo(u)); + //} + } + } + return ls.ToArray(); + } + + public static UserInfo[] GetForesightUsers() + { + var users = FleetServiceClientHelper.CreateClient().GetUsersByCustomerID("Foresight", ""); + List list = new List(); + foreach (var user in users) + { + list.Add(ConvertUserItem(user)); + } + return list.ToArray(); + + //LoginProvider lp = SystemParams.GetLoginProvider(); + //UserInfoEx[] susers = lp.GetAllUsersByCustomerID("Foresight"); + + //List list = new List(); + //foreach (UserInfoEx u in susers) + //{ + // UserInfo user = ConvertToServiceUserInfo(u); + // list.Add(user); + //} + //return list.ToArray(); + } + + private static UserInfo ConvertToServiceUserInfo(UserInfoEx suer) + { + UserInfo user = new UserInfo(); + user.IID = suer.UID; + user.ID = suer.ID; + user.DisplayName = suer.Name; + user.Mobile = suer.Mobile; + user.BusinessPhone = suer.BusinessPhone; + user.Active = suer.Active; + user.UserType = (UserTypes)3; + return user; + } + + private static UserInfo ConvertToUserInfo(DataRow dr) + { + UserInfo ui = new UserInfo(); + ui.IID = FIDbAccess.GetFieldString(dr["USERIID"], string.Empty); + ui.ID = FIDbAccess.GetFieldString(dr["USERID"], string.Empty); + ui.DisplayName = FIDbAccess.GetFieldString(dr["USERNAME"], string.Empty); + ui.UserType = (UserTypes)FIDbAccess.GetFieldInt(dr["USERTYPE"], 0); + ui.Active = FIDbAccess.GetFieldInt(dr["ACTIVE"], 0) == 1; + ui.Mobile = FIDbAccess.GetFieldString(dr["MOBILE"], string.Empty); + ui.BusinessPhone = FIDbAccess.GetFieldString(dr["BUSINESSPHONE"], string.Empty); + ui.Notes = FIDbAccess.GetFieldString(dr["NOTES"], string.Empty); + + return ui; + } + + private static UserInfo GetLocalUserInfo(string sessionid, string iid) + { + var user = FleetServiceClientHelper.CreateClient(sessionid).GetUserByIID(iid); + return ConvertUserItem(user); + //const string SQL = "select * from USERS where USERIID={0}"; + + //FIDbAccess db = SystemParams.GetDbInstance(); + //DataTable dt = db.GetDataTableBySQL(SQL, iid); + //if (dt.Rows.Count == 0) + //{ + // return null; + //} + //return ConvertToUserInfo(dt.Rows[0]); + } + + public static UserInfo GetUserBySessionID(string sessionid) + { + var ls = FleetServiceClientHelper.CreateClient(sessionid).GetLoginSession(sessionid); + if (ls == null) + { + return null; + } + if (ls.User.IsForesightUser) + { + UserInfo ui = new UserInfo(); + ui.IID = ls.User.UID; + ui.ID = ls.User.ID; + ui.DisplayName = ls.User.Name; + ui.Active = true; + ui.UserType = UserTypes.SupperAdmin; + return ui; + } + else + { + return ConvertUserItem(ls.User); + } + + //LoginProvider lp = SystemParams.GetLoginProvider(); + //LoginSession ls = lp.GetLoginSession(sessionid); + + //if (ls == null) + //{ + // return null; + //} + //if (ls.User.IsForesightUser) + //{ + // UserInfo ui = new UserInfo(); + // ui.IID = ls.User.UID; + // ui.ID = ls.User.ID; + // ui.DisplayName = ls.User.Name; + // ui.Active = true; + // ui.UserType = UserTypes.SupperAdmin; + // return ui; + //} + //else + //{ + // return GetLocalUserInfo(ls.User.UID); + //} + } + + public static UserInfo GetUserByIID(string iid) + { + var user = FleetServiceClientHelper.CreateClient().GetUserByIID(iid); + return ConvertUserItem(user); + + //LoginProvider lp = SystemParams.GetLoginProvider(); + //UserInfoEx ui1 = lp.GetUserInfoEx(iid); + //if (ui1 == null) + //{ + // return null; + //} + + //if (ui1.IsForesightUser) + //{ + // UserInfo ui = new UserInfo(); + // ui.IID = ui1.UID; + // ui.ID = ui1.ID; + // ui.DisplayName = ui1.Name; + // ui.Active = true; + // ui.UserType = UserTypes.SupperAdmin; + // return ui; + //} + //else + //{ + // return GetLocalUserInfo(iid); + //} + } + + public static UserInfo GetUserByID(string userid) + { + var user = FleetServiceClientHelper.CreateClient().GetUserByUserID(userid); + return ConvertUserItem(user); + //LoginProvider lp = SystemParams.GetLoginProvider(); + //UserInfoEx ui1 = lp.GetUserInfoExByUserID(userid); + //if (ui1 == null) + //{ + // return null; + //} + //return GetUserByIID(ui1.UID); + } + + public static string AddUser(UserInfo ui, string password, string addby, string sessionid, string clienthost) + { + try + { + var user = ConvertUserItem(ui); + user.CompanyID = SystemParams.CompanyID; + + var client = FleetServiceClientHelper.CreateClient(sessionid); + client.SessionID = sessionid; + client.ClientHost = clienthost; + user = client.AddNewUser(user, password, addby); + return user.UID; + } + catch (Exception ex) + { + SystemParams.WriteLog("Error", typeof(UserManagement).FullName + ".AddUser", "Add new user failed: " + ui.ID, ex.ToString()); + throw; + } + + //const string SQL = @"insert into USERS(USERIID,USERID,USERNAME,USERTYPE,EMAIL,ACTIVE,MOBILE,BUSINESSPHONE,NOTES) values({0},{1},{2},{3},{4},{5},{6},{7},{8})"; + //try + //{ + // LoginProvider lp = SystemParams.GetLoginProvider(); + // FIDbAccess db = SystemParams.GetDbInstance(); + // UserInfoEx user = ConvertUserInfoTOUserInfoEx(ui); + // if (!string.IsNullOrWhiteSpace(password)) + // { + // ui.IID = lp.RegisterUser(user, password); + // db.ExecSQL(SQL, ui.IID, ui.ID, ui.DisplayName, (int)ui.UserType, ui.ID, ui.Active ? 1 : 0, ui.Mobile, ui.BusinessPhone, ui.Notes); + // } + // else + // { + // ui.IID = lp.RegisterUser(user, Guid.NewGuid().ToString()); + // db.ExecSQL(SQL, ui.IID, ui.ID, ui.DisplayName, (int)ui.UserType, ui.ID, ui.Active ? 1 : 0, ui.Mobile, ui.BusinessPhone, ui.Notes); + // lp.ForgotPassword(ui.ID); + // } + // return ui.IID; + //} + //catch (Exception ex) + //{ + // SystemParams.WriteLog("Error", typeof(UserManagement).FullName + ".AddUserInfo", "Add new user failed: " + ui.ID, ex.ToString()); + // throw; + //} + } + + private static UserInfoEx ConvertUserInfoTOUserInfoEx(UserInfo ui) + { + UserInfoEx user = new UserInfoEx(); + user.UID = ui.IID; + user.ID = ui.ID; + user.Name = ui.DisplayName; + user.Mobile = ui.Mobile; + user.BusinessPhone = ui.BusinessPhone; + user.Active = ui.Active; + user.CompanyID = SystemParams.CompanyID; + return user; + } + + public static void UpdateUserInfo(UserInfo ui, string updatedby, string sessionid, string clienthost) + { + try + { + var user = ConvertUserItem(ui); + user.CompanyID = SystemParams.CompanyID; + + var client = FleetServiceClientHelper.CreateClient(sessionid); + client.SessionID = sessionid; + client.ClientHost = clienthost; + client.UpdateUser(user, updatedby); + } + catch (Exception ex) + { + SystemParams.WriteLog("Error", typeof(UserManagement).FullName + ".UpdateUserInfo", "Update user failed: " + ui.IID, ex.ToString()); + throw; + } + + + //const string SQL = @" update USERS set USERNAME={0},MOBILE={1},BUSINESSPHONE={2},ACTIVE={3},USERTYPE={4},NOTES={5} where USERIID={6}"; + //try + //{ + // LoginProvider lp = SystemParams.GetLoginProvider(); + // UserInfoEx user = ConvertUserInfoTOUserInfoEx(ui); + // lp.UpdateUser(user); + // FIDbAccess db = SystemParams.GetDbInstance(); + // db.ExecSQL(SQL, ui.DisplayName, ui.Mobile, ui.BusinessPhone, ui.Active ? 1 : 0, ui.UserType, ui.Notes, ui.IID); + //} + //catch (Exception ex) + //{ + // SystemParams.WriteLog("Error", typeof(UserManagement).FullName + ".UpdateUserInfo", "Update user failed: " + ui.IID, ex.ToString()); + // throw; + //} + } + + public static void ResetPassword(string useriid, string password, string resetby, string sessionid, string clienthost) + { + var client = FleetServiceClientHelper.CreateClient(sessionid); + client.SessionID = sessionid; + client.ClientHost = clienthost; + client.ResetPassword(useriid, password, true, resetby); + + //const string SQL = "select USERID from USERS where USERIID={0}"; + //FIDbAccess db = SystemParams.GetDbInstance(); + //string userid = db.GetRC1BySQL(SQL, useriid).ToString(); + //try + //{ + // LoginProvider lp = SystemParams.GetLoginProvider(); + // lp.ForgotPassword(userid); + //} + //catch (Exception ex) + //{ + // SystemParams.WriteLog("Error", typeof(UserManagement).FullName + ".ResetPassword", "Reset Password failed: " + useriid, ex.ToString()); + // throw; + //} + } + + public static bool CanDeleteUser(string useriid) + { + //TODO + return true; + } + + + #region user group + + public static UserGroupInfo[] GetGroups() + { + const string SQL = @"select GROUPID,GROUPNAME,NOTES from USERGROUPS order by GROUPNAME ASC"; + FIDbAccess db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(SQL); + List list = new List(); + foreach (DataRow dr in dt.Rows) + { + list.Add(ConvertToUserGroupInfo(dr)); + } + return list.ToArray(); + } + public static UserGroupInfo[] GetGroupsByUser(string useriid) + { + const string SQL = @"select GROUPID,GROUPNAME,NOTES from USERGROUPS where GROUPID in (select GroupID from USERGROUPMAP where UserIID={0}) order by GROUPNAME ASC"; + FIDbAccess db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(SQL, useriid); + List list = new List(); + foreach (DataRow dr in dt.Rows) + { + list.Add(ConvertToUserGroupInfo(dr)); + } + return list.ToArray(); + } + + public static UserGroupInfo GetGroup(string groupid) + { + const string SQL = @"select GROUPID,GROUPNAME,NOTES from USERGROUPS where GROUPID={0}"; + FIDbAccess db = SystemParams.GetDbInstance(); + UserGroupInfo ui = null; + DataTable dt = db.GetDataTableBySQL(SQL, groupid); + if (dt.Rows.Count > 0) + { + ui = ConvertToUserGroupInfo(dt.Rows[0]); + ui.Users = GetUserInfoByGoupid(groupid); + } + return ui; + } + + public static List GetUserGroupIDByUserIID(string userIID) + { + const string SQL = "select GroupID from [USERGROUPMAP] where UserIID={0}"; + var db = SystemParams.GetDbInstance(); + var dt = db.GetDataTableBySQL(SQL, userIID); + var result = new List(); + foreach (DataRow row in dt.Rows) + { + result.Add(FIDbAccess.GetFieldString(row["GroupID"], Guid.Empty.ToString())); + } + if (result.Count == 0) + { + result.Add(Guid.Empty.ToString()); + } + return result; + } + + public static void SaveUserGroups(string userIID, string[] groupids) + { + if (groupids == null) return;//groupids为null表示前端group没有加载,不修改用户的Group. + const string SQL_map = "insert into USERGROUPMAP(GROUPID,USERIID) values({0},{1})"; + const string SQL_del = "delete from USERGROUPMAP where USERIID={0}"; + + using (FISqlTransaction tran = new FISqlTransaction(SystemParams.DataDbConnectionString)) + { + tran.ExecSQL(SQL_del, userIID); + if (groupids.Length > 0) + { + foreach (string id in groupids) + { + tran.ExecSQL(SQL_map, id, userIID); + } + } + tran.Commit(); + } + } + + public static void AddGroup(UserGroupInfo gi) + { + const string SQL_group = "insert into USERGROUPS(GROUPID,GROUPNAME,NOTES) values({0},{1},{2})"; + const string SQL_map = "insert into USERGROUPMAP(GROUPID,USERIID) values({0},{1})"; + if (CheckGroupnameRepeat(gi.Name, gi.ID)) + { + throw new Exception("The User Group name must be unique."); + } + using (FISqlTransaction tran = new FISqlTransaction(SystemParams.DataDbConnectionString)) + { + tran.ExecSQL(SQL_group, gi.ID, gi.Name, gi.Notes); + if (gi.Users.Count() > 0) + { + foreach (UserInfo ui in gi.Users) + { + tran.ExecSQL(SQL_map, gi.ID, ui.IID); + } + } + tran.Commit(); + } + + } + + public static void UpdateGroup(UserGroupInfo gi) + { + const string SQL_group = "update USERGROUPS set GROUPNAME={1},NOTES={2} where GROUPID={0}"; + const string SQL_map = "insert into USERGROUPMAP(GROUPID,USERIID) values({0},{1})"; + const string SQL_del = "delete from USERGROUPMAP where GROUPID={0}"; + if (CheckGroupnameRepeat(gi.Name, gi.ID)) + { + throw new Exception("The User Group name must be unique"); + } + using (FISqlTransaction tran = new FISqlTransaction(SystemParams.DataDbConnectionString)) + { + tran.ExecSQL(SQL_group, gi.ID, gi.Name, gi.Notes); + tran.ExecSQL(SQL_del, gi.ID); + if (gi.Users.Count() > 0) + { + foreach (UserInfo ui in gi.Users) + { + tran.ExecSQL(SQL_map, gi.ID, ui.IID); + } + } + tran.Commit(); + } + } + + public static void DeleteGroup(string groupid) + { + const string SQL = "delete from USERGROUPS where GROUPID={0}" + + " delete from USERGROUPMAP where GROUPID={0}" + + " delete from USERTOCONTRACTOR where USERIID ={0}"; + if (CheckGroupHasUser(groupid)) + { + throw new Exception("There are one or more users in this user group,so it cannot be deleted."); + } + FIDbAccess db = SystemParams.GetDbInstance(); + db.ExecSQL(SQL, groupid); + } + + + public static UserInfo[] GetUserInfoByGoupid(string groupid) + { + const string SQL = @"select a.USERIID,a.USERID,a.USERNAME,a.USERTYPE,a.EMAIL,a.ACTIVE,a.MOBILE,a.BUSINESSPHONE,a.NOTES + from USERS a, USERGROUPMAP b where a.USERIID = b.USERIID and b.GROUPID ={0}"; + FIDbAccess db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(SQL, groupid); + List list = new List(); + foreach (DataRow dr in dt.Rows) + { + list.Add(ConvertToUserInfo(dr)); + } + return list.ToArray(); + } + + private static bool CheckGroupnameRepeat(string groupname, string groupid) + { + const string SQL = "select count(1) from USERGROUPS where GROUPNAME={0} and GROUPID!={1}"; + FIDbAccess db = SystemParams.GetDbInstance(); + object obj = db.GetRC1BySQL(SQL, groupname, groupid); + if (Convert.ToInt32(obj) > 0) + { + return true; + } + return false; + } + private static bool CheckGroupHasUser(string groupid) + { + const string SQL = "select COUNT(1) from USERGROUPMAP where GROUPID={0}"; + FIDbAccess db = SystemParams.GetDbInstance(); + object obj = db.GetRC1BySQL(SQL, groupid); + if (Convert.ToInt32(obj) > 0) + { + return true; + } + return false; + } + + private static UserGroupInfo ConvertToUserGroupInfo(DataRow dr) + { + UserGroupInfo gi = new UserGroupInfo(); + gi.ID = FIDbAccess.GetFieldString(dr["GROUPID"], string.Empty); + gi.Name = FIDbAccess.GetFieldString(dr["GROUPNAME"], string.Empty); + gi.Notes = FIDbAccess.GetFieldString(dr["NOTES"], string.Empty); + return gi; + } + #endregion + + #region User Machines/Jobsite + + public static void SaveUserMachines(string uid, string[] machineids) + { + const string SQL_D = "delete USERMACHINEMAP where USERIID={0}"; + const string SQL = @"insert into USERMACHINEMAP(USERIID,MACHINEID) values ({0},{1})"; + + FIDbAccess db = SystemParams.GetDbInstance(); + db.ExecSQL(SQL_D, uid); + + foreach (var mid in machineids) + { + db.ExecSQL(SQL, uid, mid); + } + } + + public static void SaveUserJobsites(string uid, string[] jobsiteids) + { + const string SQL_D = "delete USERJOBSITEMAP where USERIID={0}"; + const string SQL = @"insert into USERJOBSITEMAP(USERIID,JOBSITEID) values ({0},{1})"; + + FIDbAccess db = SystemParams.GetDbInstance(); + db.ExecSQL(SQL_D, uid); + + foreach (var jsid in jobsiteids) + { + db.ExecSQL(SQL, uid, jsid); + } + } + + public static void SaveMachineUsers(string machineid, string[] uids, FISqlConnection db = null) + { + const string SQL_D = "delete USERMACHINEMAP where MACHINEID={0}"; + const string SQL = @"insert into USERMACHINEMAP(USERIID,MACHINEID) values ({0},{1})"; + if (db == null) + db = SystemParams.GetDbInstance(); + db.ExecSQL(SQL_D, machineid); + + foreach (var uid in uids) + { + db.ExecSQL(SQL, uid, machineid); + } + } + + public static UserInfo[] GetUsersByAssetID(string sessionid, long assetid, string companyid) + { + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + var users = FleetServiceClientHelper.CreateClient(companyid, sessionid).GetUsersAvailableForAsset(companyid, assetid); + List list = new List(); + foreach (var user in users) + { + list.Add(ConvertUserItem(user)); + } + return list.ToArray(); + } + + /// + /// 获取机器对应的ContactID + /// + /// + public static string[] GetAssignedUsersByAssetID(FISqlConnection db, long machineid) + { + const string SQL_C = "select USERIID from USERMACHINEMAP where MACHINEID={0}"; + + Dictionary> result = new Dictionary>(); + if (db == null) + db = SystemParams.GetDbInstance(); + DataTable tb = db.GetDataTableBySQL(SQL_C, machineid); + if (tb.Rows.Count <= 0) + return new string[0]; + + List list = new List(); + foreach (DataRow dr in tb.Rows) + { + string contactid = FIDbAccess.GetFieldString(dr["USERIID"], ""); + list.Add(contactid); + } + return list.ToArray(); + } + #endregion + + + #region user to contractor + + public static void AddUserToContractor(string iid, string[] contractorids) + { + const string DelSQL = "delete from USERTOCONTRACTOR where USERIID ={0}"; + const string SQL = "insert into USERTOCONTRACTOR(CONTRACTORID,USERIID) values({0},{1})"; + using (FISqlTransaction tran = new FISqlTransaction(SystemParams.DataDbConnectionString)) + { + tran.ExecSQL(DelSQL, iid); + foreach (string cid in contractorids) + { + tran.ExecSQL(SQL, cid, iid); + } + tran.Commit(); + } + } + + public static void DeleteUserToContractor(string iid, string[] contractorids) + { + const string SQL = "delete from USERTOCONTRACTOR where CONTRACTORID={0} and USERIID ={1}"; + FIDbAccess db = SystemParams.GetDbInstance(); + using (FISqlTransaction tran = new FISqlTransaction(SystemParams.DataDbConnectionString)) + { + foreach (string cid in contractorids) + { + tran.ExecSQL(SQL, cid, iid); + } + tran.Commit(); + } + } + + public static UserToContractorInfo[] GetContractorsByIId(string iid, int seltype)//seltype 1、用户 2、用户组 + { + CustomerInfo[] cps = SystemParams.GetContractors(); + + List list = new List(); + string[] str = GetContractorById(iid, seltype); + foreach (CustomerInfo cp in cps) + { + UserToContractorInfo ui = new UserToContractorInfo(); + ui.ID = cp.ID; + ui.Name = cp.Name; + if (seltype == 1) + { + ui.AuthorizedIngroup = CheckAuthorizedIngroup(iid, cp.ID); + } + foreach (string s in str) + { + if (string.Compare(cp.ID, s, true) == 0) + { + ui.IsChecked = true; + break; + } + } + list.Add(ui); + } + + return list.ToArray(); + } + + private static string[] GetContractorById(string iid, int seltype) + { + const string SQL_user = @"select distinct CONTRACTORID from USERTOCONTRACTOR where USERIID={0} + or USERIID in(select GROUPID from USERGROUPMAP where USERIID ={0})"; + const string SQL_group = @"select distinct CONTRACTORID from USERTOCONTRACTOR where USERIID={0}"; + FIDbAccess db = SystemParams.GetDbInstance(); + DataTable dt = null; + if (seltype == 1) + { + dt = db.GetDataTableBySQL(SQL_user, iid); + } + else + { + dt = db.GetDataTableBySQL(SQL_group, iid); + } + List list = new List(); + foreach (DataRow dr in dt.Rows) + { + list.Add(FIDbAccess.GetFieldString(dr["CONTRACTORID"], string.Empty)); + } + return list.ToArray(); + } + + private static bool CheckAuthorizedIngroup(string useriid, string contractorid) + { + const string SQL = @"select Count(*) from USERTOCONTRACTOR where CONTRACTORID={0} and USERIID in(select GROUPID from USERGROUPMAP where USERIID ={1})"; + FIDbAccess db = SystemParams.GetDbInstance(); + object obj = db.GetRC1BySQL(SQL, contractorid, useriid); + if (Convert.ToInt32(obj) > 0) + { + return true; + } + return false; + } + + + #endregion + + + #region Host + + public static bool ChangePassword(string uid, string oldpwd, string newpwd, string sessionid, string clienthost) + { + try + { + var client = FleetServiceClientHelper.CreateClient(sessionid); + client.SessionID = sessionid; + client.ClientHost = clienthost; + client.ChangePassword(uid, oldpwd, newpwd, sessionid); + } + catch (Exception) + { + return false; + } + + return true; + } + + public static List SearchLocalGroups(string prefix) + { + const string SQL = @"select GROUPID as IID,GROUPNAME as GroupName,NOTES as Description,0 as GroupMode from USERGROUPS where GROUPNAME like {0} order by GroupName"; + var db = SystemParams.GetDbInstance(); + var table = db.GetDataTableBySQL(SQL, "%" + prefix + "%"); + + var list = new List(); + foreach (DataRow dr in table.Rows) + { + list.Add(new UserGroupSimple + { + UserGroupID = FIDbAccess.GetFieldString(dr["IID"], null), + UserGroupName = FIDbAccess.GetFieldString(dr["GroupName"], null), + Description = FIDbAccess.GetFieldString(dr["Description"], null), + GroupMode = FIDbAccess.GetFieldInt(dr["GroupMode"], 0) + }); + } + + return list; + } + internal static UserInfoItem[] GetPermissionUsers() + { + List users = new List(); + + DataTable authenDt = SystemParams.GetDbInstance().GetDataTableBySQL("SELECT * FROM Users"); + + string str = ""; + for (int i = authenDt.Rows.Count - 1; i >= 0; i--) + { + str = authenDt.Rows[i]["USERID"].ToString(); + if (string.Compare(str, "admin", true) == 0 || FIDbAccess.GetFieldInt(authenDt.Rows[i]["USERTYPE"], 1) != 1) //EMUserType.Common + { + authenDt.Rows.RemoveAt(i); + } + else + { + UserInfoItem user = new UserInfoItem(); + user.IID = FIDbAccess.GetFieldString(authenDt.Rows[i]["USERIID"], string.Empty); + user.ID = FIDbAccess.GetFieldString(authenDt.Rows[i]["USERID"], string.Empty); + user.DisplayName = FIDbAccess.GetFieldString(authenDt.Rows[i]["USERNAME"], string.Empty); + users.Add(user); + } + } + return users.ToArray(); + } + + internal static UserPermissionData[] GetUserOrGroupPermission(string UserOrGroup, string objIID, string userIID) + { + List UserOrGroupPermissionDatas = new List(); + + DataTable UserGroupPermissionList = null; + if (UserOrGroup == "Group") + { + UserGroupPermissionList = GetUserGroupOperationPermissions(objIID); + } + else + { + UserGroupPermissionList = GetUserOperationPermissions(objIID); + } + + List allPermissionList = GetOperationPermissions(); + foreach (var opr in allPermissionList) + { + UserPermissionData upmd = new UserPermissionData(); + upmd.FunctionIID = opr.IID; + upmd.IsAllowed = false; + upmd.ManagementFunction = ResManager.GetLanguage(ResManager.GetResourceString(opr.FunctionName)); + upmd.Description = ResManager.GetLanguage(ResManager.GetResourceString(opr.Description)); + upmd.IsNotPermissionInGroup = true; + + UserOrGroupPermissionDatas.Add(upmd); + } + + foreach (DataRow row in UserGroupPermissionList.Rows) + { + var iid = FIDbAccess.GetFieldString(row["FunctionID"], Guid.Empty.ToString()); + + int pos = GetPermissionFunctionIndex(iid, allPermissionList); + if (pos < 0) continue; + + if (FIDbAccess.GetFieldInt(row["RightValue"], 0) > 0) + { + UserOrGroupPermissionDatas[pos].IsAllowed = true; + } + else + { + UserOrGroupPermissionDatas[pos].IsAllowed = false; + } + } + + List permissionOfUserInGroup = null; + if (UserOrGroup == "User") + permissionOfUserInGroup = GetMaxUserGroupOperationPermissionsOfUser(objIID); + if (permissionOfUserInGroup != null) + { + for (int i = 0; i < permissionOfUserInGroup.Count; i++) + { + int pos = GetPermissionFunctionIndex(permissionOfUserInGroup[i], allPermissionList); + if (pos < 0) continue; + + UserOrGroupPermissionDatas[pos].IsAllowed = true; + UserOrGroupPermissionDatas[pos].IsNotPermissionInGroup = false; + } + } + + #region 当前用户若是user并且没有被授权可以修改指定权限,则该用户只能查看该权限。20100715. + string AllowOperationDataConnection = UserParametersInfo.GetUserSystemParameter(EMUserDefaultInfoType.AllowOperationDataConnection, userIID); + bool CanCurrentUserAllowed = false; + if (string.Equals(AllowOperationDataConnection, "1", StringComparison.OrdinalIgnoreCase)) + { + CanCurrentUserAllowed = true; + } + else + { + CanCurrentUserAllowed = false; + } + if (!CanCurrentUserAllowed) + { + for (int i = 0; i < allPermissionList.Count; i++) + { + bool CanThisPermissionSet = true; + CanThisPermissionSet = CanThisPermissionAllowed(allPermissionList[i].IID, true); + if (!CanThisPermissionSet) + { + UserOrGroupPermissionDatas[i].IsAllowed = false; + UserOrGroupPermissionDatas[i].IsNotPermissionInGroup = CanThisPermissionSet; + } + else + { + UserOrGroupPermissionDatas[i].IsNotPermissionInGroup = UserOrGroupPermissionDatas[i].IsNotPermissionInGroup && CanThisPermissionSet; + } + } + } + #endregion + + return UserOrGroupPermissionDatas.ToArray(); + } + + + + + + + + /// + /// 当前用户若是user并且没有被授权可以修改指定权限,则该用户只能查看该权限,主要是与创建DC相关的权限。 + /// + /// + /// + /// + private static bool CanThisPermissionAllowed(string iid, bool isFiltered) + { + if (!isFiltered) return true; + + bool result = false; + switch (iid.ToUpper()) + { + case "67519B95-DED6-4213-B99B-000143A26608":///Import Packages + break; + case "041CA49F-2843-475F-9951-1680CBC720C6":///Export Data Connections + break; + case "C5749051-C325-47C6-BEB7-A764BBA45B52":///Create Packages + break; + case "F80DAC30-63C0-4F69-AE36-AA2C4B65ED56":///Import Data Connections + break; + case "0DA897EE-396C-465E-AE1C-B1EF69D40DE6":///Connection Types + break; + case "D5D2EC1D-96DB-4500-A6CA-E4952C72D500":///Data Connections + break; + case "C76328E2-20B3-4ECB-B787-7221DFB3BC34":///Purge Packages + break; + case "C96E16A3-B93A-40F4-BCA7-535EFC600970":///Generate License Keys + break; + default: + result = true; + break; + } + + return result; + } + private static List GetMaxUserGroupOperationPermissionsOfUser(string userIID) + { + try + { + List result = new List(); + var db = SystemParams.FICDBInstance; + //const string sql = @"select * from OperationRight where ObjectType={0} + // and ObjectID in (select GroupID from UserGroupRelation where UserID={1})"; + string sql = @"select * from OperationRight where ObjectType={0} + and ObjectID in ({GIDS})"; + + List gidList = GetUserGroupIDByUserIID(userIID); + string gids = "'" + string.Join("','", gidList) + "'"; + sql = sql.Replace("{GIDS}", gids); + var dt = db.GetDataTableBySQL(sql, (int)DBObjectType.otGroup, userIID); + + foreach (DataRow row in dt.Rows) + { + if (FIDbAccess.GetFieldString(row["RightValue"], string.Empty) == "1") + { + if (!result.Contains(FIDbAccess.GetFieldString(row["FunctionID"], Guid.Empty.ToString()))) + result.Add(FIDbAccess.GetFieldString(row["FunctionID"], Guid.Empty.ToString())); + } + } + return result; + } + catch (Exception ex) + { + throw FIError.Exception(0x65027029, ex); + } + } + + private static int GetPermissionFunctionIndex(string iid, List allPermissionList) + { + int i = -1; + if (allPermissionList == null) return i; + + for (int ind = 0; ind < allPermissionList.Count; ind++) + { + if (allPermissionList[ind].IID.ToUpper() == iid.ToUpper()) + { + i = ind; + break; + } + } + + return i; + } + + private static DataTable GetUserGroupOperationPermissions(string groupIID) + { + const string sql = "select * from OperationRight where ObjectID={0} and ObjectType={1}"; + try + { + var db = SystemParams.FICDBInstance; + return db.GetDataTableBySQL(sql, groupIID, (int)DBObjectType.otGroup); + } + catch (Exception ex) + { + throw FIError.Exception(0x65027025, ex); + } + } + + private static DataTable GetUserOperationPermissions(string userIID) + { + const string sql = "select * from OperationRight where ObjectID={0} and ObjectType={1}"; + try + { + var db = SystemParams.FICDBInstance; + return db.GetDataTableBySQL(sql, userIID, (int)DBObjectType.otUser); + } + catch (Exception ex) + { + throw FIError.Exception(0x65027024, ex); + } + } + + private static List GetOperationPermissions() + { + List oprtions = new List(); + const string sql = "select * from Operations order by OrderIndex,FunctionName"; + try + { + var db = SystemParams.FICDBInstance; + DataTable dt = db.GetDataTableBySQL(sql); + foreach (DataRow row in dt.Rows) + { + Operations opr = new Operations(); + opr.IID = FIDbAccess.GetFieldString(row["IID"], Guid.Empty.ToString()); + opr.FunctionName = FIDbAccess.GetFieldString(row["FunctionName"], string.Empty); + opr.Description = FIDbAccess.GetFieldString(row["Description"], string.Empty); + opr.OrderIndex = FIDbAccess.GetFieldInt(row["OrderIndex"], 0); + + oprtions.Add(opr); + } + + return oprtions; + } + catch (Exception ex) + { + throw FIError.Exception(0x65027026, ex); + } + } + #endregion + + #region Site Header Style + public static StringKeyValue GetSiteHederStyleLogo(string sessionid) + { + const string SQL = "select STYLEID,LEN(s.CONTRACTORLOGO) CONTRACTORLOGO,LEN(s.DEALERLOGO) DEALERLOGO,LEN(s.DEFAULTLOCATIONLOGO) DEFAULTLOCATIONLOGO from USERS u left join SITETITLESTYLE s on u.SITETITLESTYLEID=s.STYLEID where USERIID={0}"; + + var session = FleetServiceClientHelper.CreateClient(sessionid).GetLoginSession(sessionid); + FIDbAccess db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(SQL, session.User.UID); + if (dt.Rows.Count == 0) + return null; + + StringKeyValue kv = new StringKeyValue(); + kv.Key = FIDbAccess.GetFieldInt(dt.Rows[0]["STYLEID"], 0).ToString(); + kv.Tag1 = (FIDbAccess.GetFieldInt64(dt.Rows[0]["CONTRACTORLOGO"], 0) > 0).ToString(); + kv.Tag2 = (FIDbAccess.GetFieldInt64(dt.Rows[0]["DEALERLOGO"], 0) > 0).ToString(); + return kv; + } + + public static int GetUserSiteTitleStyleID(string sessionid) + { + const string SQL = @"select SITETITLESTYLEID from USERS where USERIID={0}"; + + var session = FleetServiceClientHelper.CreateClient(sessionid).GetLoginSession(sessionid); + FIDbAccess db = SystemParams.GetDbInstance(); + return FIDbAccess.GetFieldInt(db.GetRC1BySQL(SQL, session.User.UID), 0); + } + + public static string GetSiteHeaderNote(string useriid) + { + const string SQL = "select s.SITEHEADERNOTE from SITETITLESTYLE s,USERS u where s.STYLEID=u.SITETITLESTYLEID and USERIID={0}"; + + FIDbAccess db = SystemParams.GetDbInstance(); + return FIDbAccess.GetFieldString(db.GetRC1BySQL(SQL, useriid), string.Empty); + } + + public static byte[] GetSiteHederStyleLogo(int styleid, int logotype) + { + const string SQL = "SELECT CONTRACTORLOGO,DEALERLOGO,DEFAULTLOCATIONLOGO FROM SITETITLESTYLE where STYLEID={0}"; + + FIDbAccess db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(SQL, styleid); + if (dt.Rows.Count == 0) + return null; + + DataRow dr = dt.Rows[0]; + + byte[] buffer = null; + if (logotype == 1) + buffer = FIDbAccess.GetFieldBytes(dr["CONTRACTORLOGO"]); + else if (logotype == 2) + buffer = FIDbAccess.GetFieldBytes(dr["DEALERLOGO"]); + else if (logotype == 3) + buffer = FIDbAccess.GetFieldBytes(dr["DEFAULTLOCATIONLOGO"]); + return buffer; + } + + + #endregion + + #region User Permission + public static bool CheckUserPermission(string sessionid, string useriid, int permissionid) + { + bool isallowed = false; + PermissionItem[] permissions = FleetServiceClientHelper.CreateClient(sessionid).GetUserPermissions(SystemParams.CompanyID, useriid); + if (permissions != null) + { + PermissionItem pi = permissions.FirstOrDefault(m => m.ID == permissionid); + isallowed = pi == null ? false : pi.IsAllowed; + } + return isallowed; + } + #endregion + } + +} diff --git a/IronIntelContractorBusiness/Users/UserParams.cs b/IronIntelContractorBusiness/Users/UserParams.cs new file mode 100644 index 0000000..b82dec5 --- /dev/null +++ b/IronIntelContractorBusiness/Users/UserParams.cs @@ -0,0 +1,423 @@ +using Foresight; +using Foresight.Data; +using Foresight.Fleet.Services.User; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml; + +namespace IronIntel.Contractor.Users +{ + public static class UserParams + { + private const string _AutoRecenterMap = "AutoRecenterMap"; + private const string _BaseMap = "BaseMap"; + private const string _MapViewContratorID = "MapViewContratorID"; + private const string _MapAlertLayer = "MapAlertLayer"; + public const string _SystemStyleID = "SystemStyleID"; + private const string _MapRefreshInterval = "MapRefreshInterval"; + private const string _AssetDefaultSearch = "AssetDefaultSearch"; + private const string _JobSiteDefaultSearch = "JobSiteDefaultSearch"; + private const string _AssetGroupDefaultSearch = "AssetGroupDefaultSearch"; + private const string _UnShownMachines = "UnShownMachines"; + private const string _UnShownJobsites = "UnShownJobsites"; + private const string _UnShownJobsiteMachines = "UnShownJobsiteMachines"; + private const string _Onroad = "Onroad"; + private const string _ExcludeNoLocation = "ExcludeNoLocation"; + + private const string _MapViewSearches = "MapViewSearches"; + + public static UserParamInfo GetUserParams(string sessionid, string useriid) + { + UserParamInfo userParams = new UserParamInfo(); + string sql = "select PARAMNAME,PARAMVALUE from USERSPARAM where USERIID={0} "; + FIDbAccess db = SystemParams.GetDbInstance(); + DataTable dt = db.GetDataTableBySQL(sql, useriid); + + foreach (DataRow dr in dt.Rows) + { + string name = FIDbAccess.GetFieldString(dr["PARAMNAME"], ""); + string value = FIDbAccess.GetFieldString(dr["PARAMVALUE"], ""); + switch (name) + { + case _AutoRecenterMap: + userParams.AutoRecenterMap = Helper.IsTrue(value); + break; + case _BaseMap: + userParams.BaseMap = value; + break; + case _MapViewContratorID: + userParams.MapViewContratorID = value; + break; + case _MapAlertLayer: + userParams.MapAlertLayer = value; + break; + case _SystemStyleID: + userParams.SystemStyleID = value; + break; + case _AssetDefaultSearch: + userParams.AssetDefaultSearch = value; + break; + case _JobSiteDefaultSearch: + userParams.JobSiteDefaultSearch = value; + break; + case _AssetGroupDefaultSearch: + userParams.AssetGroupDefaultSearch = value; + break; + case _UnShownMachines: + userParams.UnShownMachines = value.Split(','); + break; + case _UnShownJobsites: + userParams.UnShownJobsites = value.Split(','); + break; + case _UnShownJobsiteMachines: + userParams.UnShownJobsiteMachines = value.Split(','); + break; + case _Onroad: + userParams.Onroad = int.Parse(value); + break; + case _ExcludeNoLocation: + userParams.ExcludeNoLocation = int.Parse(value) == 1; + break; + } + } + userParams.MapViewSearches = GetMapViewSearches(sessionid, useriid); + + //if (string.IsNullOrEmpty(userParams.SystemStyleID)) + //{ + // var defaultStyle = SystemParams.GetUIStyle();//获取系统默认Style + // userParams.SystemStyleID = defaultStyle.UIStyleID.ToString(); + //} + string intervalStr = SystemParams.GetStringParam(_MapRefreshInterval); + int interval = 0; + if (!string.IsNullOrWhiteSpace(intervalStr) && int.TryParse(intervalStr, out interval) && interval > 60) + userParams.MapRefreshInterval = interval; + else + userParams.MapRefreshInterval = 60; + userParams.MachineIconURL = SystemParams.MachineTypeMapViewIconUrl; + return userParams; + } + + public static void SetUserParams(string useriid, UserParamInfo userParams) + { + const string SQL = @"if exists(select 1 from USERSPARAM where USERIID={0} and PARAMNAME={1}) + update USERSPARAM set PARAMVALUE = {2}, BINCONTENT = null where USERIID = {0} and PARAMNAME = {1} + else insert into USERSPARAM(USERIID, PARAMNAME, PARAMVALUE, BINCONTENT) values({0},{1},{2},null) "; + const string SQL_Delete = @"delete from USERSPARAM where USERIID={0} and PARAMNAME={1} "; + + FIDbAccess db = SystemParams.GetDbInstance(); + db.ExecSQL(SQL, useriid, _AutoRecenterMap, userParams.AutoRecenterMap ? "true" : "false"); + + if (!string.IsNullOrEmpty(userParams.BaseMap)) + db.ExecSQL(SQL, useriid, _BaseMap, userParams.BaseMap); + else + db.ExecSQL(SQL_Delete, useriid, _BaseMap); + + if (!string.IsNullOrEmpty(userParams.MapViewContratorID)) + db.ExecSQL(SQL, useriid, _MapViewContratorID, userParams.MapViewContratorID); + else + db.ExecSQL(SQL_Delete, useriid, _MapViewContratorID); + + if (!string.IsNullOrEmpty(userParams.MapAlertLayer)) + db.ExecSQL(SQL, useriid, _MapAlertLayer, userParams.MapAlertLayer); + else + db.ExecSQL(SQL_Delete, useriid, _MapAlertLayer); + + if (!string.IsNullOrEmpty(userParams.SystemStyleID)) + db.ExecSQL(SQL, useriid, _SystemStyleID, userParams.SystemStyleID); + else + db.ExecSQL(SQL_Delete, useriid, _SystemStyleID); + + if (!string.IsNullOrEmpty(userParams.AssetDefaultSearch)) + db.ExecSQL(SQL, useriid, _AssetDefaultSearch, userParams.AssetDefaultSearch); + else + db.ExecSQL(SQL_Delete, useriid, _AssetDefaultSearch); + + if (!string.IsNullOrEmpty(userParams.JobSiteDefaultSearch)) + db.ExecSQL(SQL, useriid, _JobSiteDefaultSearch, userParams.JobSiteDefaultSearch); + else + db.ExecSQL(SQL_Delete, useriid, _JobSiteDefaultSearch); + + if (!string.IsNullOrEmpty(userParams.AssetGroupDefaultSearch)) + db.ExecSQL(SQL, useriid, _AssetGroupDefaultSearch, userParams.AssetGroupDefaultSearch); + else + db.ExecSQL(SQL_Delete, useriid, _AssetGroupDefaultSearch); + + if (userParams.UnShownMachines != null && userParams.UnShownMachines.Length > 0) + db.ExecSQL(SQL, useriid, _UnShownMachines, string.Join(",", userParams.UnShownMachines)); + else + db.ExecSQL(SQL_Delete, useriid, _UnShownMachines); + + if (userParams.UnShownJobsites != null && userParams.UnShownJobsites.Length > 0) + db.ExecSQL(SQL, useriid, _UnShownJobsites, string.Join(",", userParams.UnShownJobsites)); + else + db.ExecSQL(SQL_Delete, useriid, _UnShownJobsites); + + if (userParams.UnShownJobsiteMachines != null && userParams.UnShownJobsiteMachines.Length > 0) + db.ExecSQL(SQL, useriid, _UnShownJobsiteMachines, string.Join(",", userParams.UnShownJobsiteMachines)); + else + db.ExecSQL(SQL_Delete, useriid, _UnShownJobsiteMachines); + + if (userParams.Onroad >= 0) + db.ExecSQL(SQL, useriid, _Onroad, userParams.Onroad); + else + db.ExecSQL(SQL_Delete, useriid, _Onroad); + + if (userParams.ExcludeNoLocation) + db.ExecSQL(SQL, useriid, _ExcludeNoLocation, userParams.ExcludeNoLocation ? 1 : 0); + } + + public static string GetStringParameter(string useriid, string paramname) + { + const string SQL = "select PARAMVALUE from USERSPARAM where USERIID={0} and PARAMNAME={1}"; + + FIDbAccess db = SystemParams.GetDbInstance(); + object obj = db.GetRC1BySQL(SQL, useriid, paramname); + return FIDbAccess.GetFieldString(obj, string.Empty); + } + + public static void SetStringParameter(string useriid, string paramname, string value) + { + const string SQL = @"if exists(select 1 from USERSPARAM where USERIID={0} and PARAMNAME={1}) + update USERSPARAM set PARAMVALUE = {2}, BINCONTENT = null where USERIID = {0} and PARAMNAME = {1} + else insert into USERSPARAM(USERIID, PARAMNAME, PARAMVALUE, BINCONTENT) values({0},{1},{2},null) "; + + FIDbAccess db = SystemParams.GetDbInstance(); + db.ExecSQL(SQL, useriid, paramname, value); + } + + public static byte[] GetBinaryParameter(string useriid, string paramname) + { + const string SQL = "select BINCONTENT from USERSPARAM where USERIID={0} and PARAMNAME={1}"; + + FIDbAccess db = SystemParams.GetDbInstance(); + object obj = db.GetRC1BySQL(SQL, useriid, paramname); + return FIDbAccess.GetFieldBytes(obj); + } + + public static void SetBinaryParameter(string useriid, string paramname, byte[] buffer) + { + const string SQL = @"if exists(select 1 from USERSPARAM where USERIID={0} and PARAMNAME={1}) + update USERSPARAM set PARAMVALUE = '', BINCONTENT = {2} where USERIID = {0} and PARAMNAME = {1} + else insert into USERSPARAM(USERIID, PARAMNAME, PARAMVALUE, BINCONTENT) values({0},{1},'',{2})"; + + + FIDbAccess db = SystemParams.GetDbInstance(); + db.ExecSQL(SQL, useriid, paramname, buffer); + } + + private static MapViewSearchItem[] GetMapViewSearches(string sessionid, string useriid) + { + try + { + string xmlstr = FleetServiceClientHelper.CreateClient(sessionid).GetUserParams(SystemParams.CompanyID, useriid, _MapViewSearches); + List searches = MapViewSearcheHelper.FromXML(xmlstr); + return searches.OrderByDescending(s => s.IsDefault).ThenBy(s => s.Name).ToArray(); + } + catch + { + return new MapViewSearchItem[0]; + } + } + + public static MapViewSearchItem[] SaveMapViewSearch(string sessionid, string useriid, MapViewSearchItem search) + { + var client = FleetServiceClientHelper.CreateClient(sessionid); + string xmlstr = client.GetUserParams(SystemParams.CompanyID, useriid, _MapViewSearches); + List searches = MapViewSearcheHelper.FromXML(xmlstr); + + var item = searches.FirstOrDefault((s) => s.Name.Equals(search.Name, StringComparison.OrdinalIgnoreCase)); + if (item != null)//如果已经存在,先移除 + searches.Remove(item); + + if (search.IsDefault) + { + foreach (var s in searches) + { + s.IsDefault = false; + } + } + searches.Add(search); + + client.SetUserParam(SystemParams.CompanyID, useriid, _MapViewSearches, MapViewSearcheHelper.ToXml(searches).InnerXml); + return searches.OrderByDescending(s => s.IsDefault).ThenBy(s => s.Name).ToArray(); + } + + private static MapViewSearchItem[] AddSearchItem(MapViewSearchItem[] searches, string search, bool isDefault) + { + List result = null; + if (searches != null) + { + result = searches.ToList(); + var item = result.FirstOrDefault((s) => s.Name.Equals(search, StringComparison.OrdinalIgnoreCase)); + if (item != null)//already exists, remove it + result.Remove(item); + } + else + result = new List(); + if (isDefault) + { + foreach (var s in result) + { + s.IsDefault = false; + } + } + result.Add(new MapViewSearchItem() { Name = search, IsDefault = isDefault }); + return result.ToArray(); + } + + public static MapViewSearchItem[] DeleteMapViewSearch(string sessionid, string useriid, string searchName) + { + var client = FleetServiceClientHelper.CreateClient(sessionid); + string xmlstr = client.GetUserParams(SystemParams.CompanyID, useriid, _MapViewSearches); + List searches = MapViewSearcheHelper.FromXML(xmlstr); + var item = searches.FirstOrDefault((s) => s.Name.Equals(searchName, StringComparison.OrdinalIgnoreCase)); + if (item != null)// remove it + searches.Remove(item); + + client.SetUserParam(SystemParams.CompanyID, useriid, _MapViewSearches, MapViewSearcheHelper.ToXml(searches).InnerXml); + return searches.OrderByDescending(s => s.IsDefault).ThenBy(s => s.Name).ToArray(); + } + + private static MapViewSearchItem[] RemoveSearchItem(MapViewSearchItem[] searches, string search) + { + if (searches == null) return null; + List result = searches.ToList(); + var item = result.FirstOrDefault((s) => s.Name.Equals(search, StringComparison.OrdinalIgnoreCase)); + if (item != null)// remove it + result.Remove(item); + return result.ToArray(); + } + } + public class UserParamInfo + { + public bool AutoRecenterMap { get; set; } = false; + public string BaseMap { get; set; } + public string MapViewContratorID { get; set; } + public string MapAlertLayer { get; set; } + public string SystemStyleID { get; set; } + public int MapRefreshInterval { get; set; } + public string MachineIconURL { get; set; } + public string AssetDefaultSearch { get; set; } + public string JobSiteDefaultSearch { get; set; } + public string AssetGroupDefaultSearch { get; set; } + public string[] UnShownMachines { get; set; } + public string[] UnShownJobsites { get; set; } + public string[] UnShownJobsiteMachines { get; set; } + public int Onroad { get; set; } = -1; + public bool ExcludeNoLocation { get; set; } = true; + + public MapViewSearchItem[] MapViewSearches { get; set; } + } + + public class MapViewSearcheHelper + { + public static List FromXML(string xmlstr) + { + List searches = new List(); + if (!string.IsNullOrEmpty(xmlstr)) + { + XmlDocument doc = new XmlDocument(); + doc.LoadXml(xmlstr); + XmlNode ch = doc.DocumentElement.FirstChild; + if (string.Compare(ch.Name, "Searches", true) == 0) + { + foreach (XmlNode node in ch.ChildNodes) + { + searches.Add(FromXml(node)); + } + } + } + return searches; + } + + private static MapViewSearchItem FromXml(XmlNode node) + { + MapViewSearchItem item = new MapViewSearchItem(); + foreach (XmlNode ch in node.ChildNodes) + { + if (string.Compare(ch.Name, "Name", true) == 0) + item.Name = ch.InnerText; + else if (string.Compare(ch.Name, "IsDefault", true) == 0) + item.IsDefault = Helper.IsTrue(ch.InnerText); + else if (string.Compare(ch.Name, "Onroad", true) == 0) + item.Onroad = Convert.ToInt32(ch.InnerText); + else if (string.Compare(ch.Name, "AssetDefaultSearch", true) == 0) + item.AssetDefaultSearch = ch.InnerText; + else if (string.Compare(ch.Name, "JobSiteDefaultSearch", true) == 0) + item.JobSiteDefaultSearch = ch.InnerText; + else if (string.Compare(ch.Name, "AssetGroupDefaultSearch", true) == 0) + item.AssetGroupDefaultSearch = ch.InnerText; + else if (string.Compare(ch.Name, "ExcludeNoLocation", true) == 0) + item.ExcludeNoLocation = Convert.ToInt32(ch.InnerText) == 1; + else if (string.Compare(ch.Name, "UnShownMachines", true) == 0) + item.UnShownMachines = ch.InnerText.Split(','); + else if (string.Compare(ch.Name, "UnShownJobsites", true) == 0) + item.UnShownJobsites = ch.InnerText.Split(','); + else if (string.Compare(ch.Name, "UnShownJobsiteMachines", true) == 0) + item.UnShownJobsiteMachines = ch.InnerText.Split(','); + + } + return item; + } + public static XmlDocument ToXml(List searches) + { + XmlDocument doc = XmlHelper.CreateXmlDocument(); + XmlNode node = XmlHelper.AppendChildNode(doc.DocumentElement, "Searches", ""); + if (searches != null && searches.Count > 0) + { + foreach (var search in searches) + { + var sn = AddSubNode(node, "Search", ""); + + AddSubNode(sn, "Name", search.Name); + AddSubNode(sn, "IsDefault", search.IsDefault ? "Yes" : "No"); + if (!string.IsNullOrEmpty(search.AssetDefaultSearch)) + AddSubNode(sn, "AssetDefaultSearch", search.AssetDefaultSearch); + if (!string.IsNullOrEmpty(search.JobSiteDefaultSearch)) + AddSubNode(sn, "JobSiteDefaultSearch", search.JobSiteDefaultSearch); + if (!string.IsNullOrEmpty(search.AssetGroupDefaultSearch)) + AddSubNode(sn, "AssetGroupDefaultSearch", search.AssetGroupDefaultSearch); + AddSubNode(sn, "Onroad", search.Onroad.ToString()); + AddSubNode(sn, "ExcludeNoLocation", search.ExcludeNoLocation ? "1" : "0"); + if (search.UnShownMachines != null && search.UnShownMachines.Length > 0) + AddSubNode(sn, "UnShownMachines", string.Join(",", search.UnShownMachines)); + if (search.UnShownJobsites != null && search.UnShownJobsites.Length > 0) + AddSubNode(sn, "UnShownJobsites", string.Join(",", search.UnShownJobsites)); + if (search.UnShownJobsiteMachines != null && search.UnShownJobsiteMachines.Length > 0) + AddSubNode(sn, "UnShownJobsiteMachines", string.Join(",", search.UnShownJobsiteMachines)); + } + } + return doc; + } + + private static XmlNode AddSubNode(XmlNode parent, string nodename, string innertext) + { + XmlNode node = parent.OwnerDocument.CreateNode(XmlNodeType.Element, nodename, string.Empty); + if (!string.IsNullOrEmpty(innertext)) + { + node.InnerText = innertext; + } + parent.AppendChild(node); + return node; + } + } + + public class MapViewSearchItem + { + public string Name { get; set; } + public bool IsDefault { get; set; } + + public int Onroad { get; set; } = -1; + public string AssetDefaultSearch { get; set; } = ""; + public string JobSiteDefaultSearch { get; set; } = ""; + public string AssetGroupDefaultSearch { get; set; } = ""; + public bool ExcludeNoLocation { get; set; } = true; + public string[] UnShownMachines { get; set; } + public string[] UnShownJobsites { get; set; } + public string[] UnShownJobsiteMachines { get; set; } + } +} diff --git a/IronIntelContractorBusiness/packages.config b/IronIntelContractorBusiness/packages.config new file mode 100644 index 0000000..92d1176 --- /dev/null +++ b/IronIntelContractorBusiness/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/IronIntelContractorSiteLib/Asset/AssetBasePage.cs b/IronIntelContractorSiteLib/Asset/AssetBasePage.cs new file mode 100644 index 0000000..daf0984 --- /dev/null +++ b/IronIntelContractorSiteLib/Asset/AssetBasePage.cs @@ -0,0 +1,711 @@ +using Foresight.Data; +using Foresight.Fleet.Services; +using Foresight.Fleet.Services.Asset; +using Foresight.Fleet.Services.AssetHealth; +using Foresight.Fleet.Services.Device; +using Foresight.ServiceModel; +using IronIntel.Contractor.Machines; +using IronIntel.Contractor.Maintenance; +using IronIntel.Contractor.Users; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Web; + +namespace IronIntel.Contractor.Site.Asset +{ + public class AssetBasePage : ContractorBasePage + { + protected void ProcessRequest(string method) + { + object result = null; + string methodName = Request.Params["MethodName"]; + try + { + if (methodName != null) + { + switch (methodName.ToUpper()) + { + case "GETMACHINESBYCOMPANY": + result = GetMachinesByCompany(); + break; + case "GETMACHINEINFO": + result = GetMachineInfo(); + break; + case "SAVEMACHINE": + result = SaveMachine(); + break; + case "CHANGEMACHINEICONFILE": + result = ChangeMachineIconFile(); + break; + case "GETMACHINEATTRIBUTES": + result = GetMachineAttributes(); + break; + case "GETCUSTOMERTIMEZONE": + result = GetCustomerTimeZone(); + break; + case "GETODOMETERADJUSTMENTHISTORY": + result = GetOdometerAdjustmentHistory(); + break; + case "GETENGINEHOURSADJUSTMENTHISTORY": + result = GetEngineHoursAdjustmentHistory(); + break; + case "GETPMSCHEDULESBYASSET": + result = GetPMSchedulesByAsset(); + break; + case "ADDASSETTOPMSCHEDULE": + result = AddAssetToPMSchedule(); + break; + case "REMOVEASSETFROMPMSCHEDULE": + result = RemoveAssetFromPMSchedule(); + break; + case "CHANGEASSETPROPERTY": + result = ChangeAssetProperty(); + break; + } + } + } + catch (Exception ex) + { + SystemParams.WriteLog("error", "AssetBasePage", ex.Message, ex.ToString()); + throw ex; + } + string json = JsonConvert.SerializeObject(result); + Response.Write(json); + Response.End(); + } + private object GetMachinesByCompany() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var companyid = HttpUtility.HtmlDecode(clientdata[0]); + bool showHidden = HttpUtility.HtmlDecode(clientdata[1]) == "1"; + var searchtxt = HttpUtility.HtmlDecode(clientdata[2]); + + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + + if (string.IsNullOrWhiteSpace(companyid) && SystemParams.IsDealer) + return new MachineItem[0]; + + //GpsDeviceInfo[] devs = SystemParams.DeviceProvider.GetDeviceItems(contractorid, ""); + + AssetBasicInfo[] assets = CreateClient(companyid).GetAssetBasicInfoByUser(companyid, searchtxt, session.User.UID); + List list = new List(); + foreach (var a in assets) + { + if (!showHidden && a.Hide) continue; + AssetBasicItem asset = new AssetBasicItem(); + Helper.CloneProperty(asset, a); + list.Add(asset); + } + return list.OrderBy((m) => m.VIN).ToArray(); + } + else + return new MachineItem[0]; + } + catch (Exception ex) + { + AddLog("ERROR", "AssetBasePage.GetMachinesByCompany", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object GetMachineInfo() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var companyid = HttpUtility.HtmlDecode(clientdata[0]); + var mid = HttpUtility.HtmlDecode(clientdata[1]); + long machineid = -1; + long.TryParse(mid, out machineid); + + string connectionStr = string.Empty; + if (!SystemParams.IsDealer) + { + companyid = SystemParams.CompanyID; + connectionStr = SystemParams.DataDbConnectionString; + } + else + { + string connetionstring = SystemParams.GetDbStringByCompany(companyid); + connectionStr = connetionstring; + } + + var client = CreateClient(companyid); + AssetDetailInfo2 assetDetail = client.GetAssetDetailInfo2(companyid, machineid); + MachineOtherInfo mother = client.GetMachineOtherInfo(companyid, machineid); + + AssetDetailItem2 assetItem = new AssetDetailItem2(); + Helper.CloneProperty(assetItem, assetDetail); + + assetItem.OnSiteJobsiteID = mother.JobSiteID; + assetItem.ContactIDs = string.IsNullOrEmpty(mother.ContactIDs) ? new string[0] : mother.ContactIDs.Split(','); + assetItem.MachineGroupIDs = string.IsNullOrEmpty(mother.GroupIDs) ? new string[0] : mother.GroupIDs.Split(','); + + //MachineRentalInfo[] machinerentals = new RentalManagement(connectionStr).SearchRentalsByAsset(machineid); + //if (machinerentals != null && machinerentals.Length > 0) + //{ + // DateTime nowdate = DateTime.Now; + // //当前时间所在的rental + // MachineRentalInfo rental = machinerentals.FirstOrDefault(m => m.RentalDate <= nowdate && nowdate.Date <= ((m.ReturnDate ?? m.ProjectReturnDate ?? DateTime.MaxValue))); + // if (rental == null)//当前时间的下一个rental + // rental = machinerentals.Where(m => m.RentalDate >= nowdate.Date).OrderBy(m => m.RentalDate).FirstOrDefault(); + // if (rental == null)//最新rental + // rental = machinerentals[0]; + + // assetItem.MachineRental = rental; + //} + + if (assetItem.UnderCarriageHours != null) + assetItem.UnderCarriageHours = Math.Round(assetItem.UnderCarriageHours.Value, 2); + + return assetItem; + } + else + return new AssetDetailItem2(); + } + catch (Exception ex) + { + SystemParams.WriteLog("error", "AssetBasePage.GetMachineInfo", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object SaveMachine() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + AssetDetailItem2 asset = JsonConvert.DeserializeObject(clientdata); + + if (SystemParams.IsDealer && string.IsNullOrWhiteSpace(asset.ContractorID)) + return "Failed"; + + string connectionStr = string.Empty; + string customerid = string.Empty; + if (SystemParams.IsDealer) + { + string connetionstring = SystemParams.GetDbStringByCompany(asset.ContractorID); + connectionStr = connetionstring; + customerid = asset.ContractorID; + } + else + { + connectionStr = SystemParams.DataDbConnectionString; + customerid = SystemParams.CompanyID; + } + + AssetDataAdjustClient client = CreateClient(customerid); + if (asset.ID > 0) + { + //没有权限修改的,保持原来的值 + var oldMachine = client.GetAssetDetailInfo2(customerid, asset.ID); + asset.EngineHours = oldMachine.EngineHours;//EngineHours单独保存 + var user = UserManagement.GetUserByIID(session.User.UID); + if (user.UserType < UserTypes.Admin) + { + asset.VIN = oldMachine.VIN; + asset.MakeID = oldMachine.MakeID; + asset.MakeName = oldMachine.MakeName; + asset.ModelID = oldMachine.ModelID; + asset.ModelName = oldMachine.ModelName; + asset.Odometer = oldMachine.Odometer; + asset.OdometerUnits = oldMachine.OdometerUnits; + } + } + else if (!asset.IgnoreDuplicate) + { + long[] dupassets = client.FindAssetsByVIN(customerid, asset.VIN); + + if (dupassets.Length > 0) + { + return new + { + Result = 0, + Data = dupassets + }; + } + } + + AssetDetailInfo2 a = new AssetDetailInfo2(); + Helper.CloneProperty(a, asset); + a.ID = client.UpdateAssetInfo(customerid, a, asset.ContactIDs, asset.MachineGroupIDs, (int)asset.OnSiteJobsiteID, session.User.UID); + + UpdateMachineAttributes(a.ID, asset.ContractorID, asset.MachineAttributes, session.User.UID); + if (asset.VisibleOnWorkOrders != null) + { + foreach (StringKeyValue kv in asset.VisibleOnWorkOrders) + { + CreateClient(customerid).ChangeVisibleOnWorkOrder(customerid, Convert.ToInt32(kv.Key), Helper.IsTrue(kv.Value)); + } + + } + long rentalID = -1; + if (asset.MachineRental != null) + { + asset.MachineRental.MachineID = a.ID; + AssetRentalInfo rentalinfo = new AssetRentalInfo(); + Helper.CloneProperty(rentalinfo, asset.MachineRental); + rentalinfo.RentalRate = (double)asset.MachineRental.RentalRate; + rentalID = CreateClient(customerid).SaveAssetRental(customerid, rentalinfo, session.User.UID); + } + return new + { + Result = 1, + Data = new long[] { a.ID, rentalID } + }; + } + else + { + return "Failed"; + } + } + catch (BusinessException bex) + { + return bex.Message; + } + catch (Exception ex) + { + SystemParams.WriteLog("error", "AssetBasePage.SaveMachine", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private string ChangeAssetProperty() + { + try + { + var user = GetCurrentUser(); + if (user != null) + { + var clientdata = Request.Form["ClientData"]; + string[] ps = JsonConvert.DeserializeObject(clientdata); + var contractorid = ps[0]; + if (string.IsNullOrWhiteSpace(contractorid)) + contractorid = SystemParams.CompanyID; + long assetid = 0; + long.TryParse(ps[1], out assetid); + var name = ps[2]; + bool value = Helper.IsTrue(ps[3]); + + switch (name) + { + case "Hide": + CreateClient(contractorid).ChangeAssetHideProperty(contractorid, assetid, value, "", user.IID); + break; + case "OnRoad": + CreateClient(contractorid).ChangeAssetOnRoadProperty(contractorid, assetid, value, "", user.IID); + break; + case "TelematicsEnabled": + CreateClient(contractorid).ChangeAssetTelematicsProperty(contractorid, assetid, value, "", user.IID); + break; + default: + break; + } + return "OK"; + } + else + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + + #region Machine Attributes + + private object GetMachineAttributes() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var companyid = HttpUtility.HtmlDecode(clientdata[0]); + var id = HttpUtility.HtmlDecode(clientdata[1]); + long machineid = Convert.ToInt64(id); + + if (string.IsNullOrWhiteSpace(companyid)) + { + if (SystemParams.IsDealer) + return new MachineAttributeCategoryClient[0]; + companyid = SystemParams.CompanyID; + } + + MachineAttributes abt = CreateClient(companyid).GetMachineAttributes(companyid, machineid); + + List list = new List(); + if (abt != null && abt.Category.Count > 0) + { + ConvertMachineAttributesCategory(abt, ref list); + } + return list.OrderBy(m => m.OrderIndex); + } + else + return new MachineAttributeCategoryClient[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private void UpdateMachineAttributes(long machineid, string companyid, MachineAttributeClient[] attributes, string useriid) + { + try + { + + if (attributes != null && attributes.Length > 0) + { + if (string.IsNullOrWhiteSpace(companyid)) + companyid = SystemParams.CompanyID; + + List attritems = new List(); + foreach (MachineAttributeClient attclient in attributes) + { + MachineAttributeItem machineattributeitem = new MachineAttributeItem(); + Helper.CloneProperty(machineattributeitem, attclient); + attritems.Add(machineattributeitem); + } + + List listcate = new List(); + MachineAttributeCategory category = new MachineAttributeCategory(); + category.Attributes.AddRange(attritems); + listcate.Add(category); + + MachineAttributes att = new MachineAttributes(); + att.Category.AddRange(listcate); + CreateClient(companyid).UpdateMachineAttributes(companyid, machineid, att, useriid); + } + } + catch (Exception ex) + { + AddLog("ERROR", "AssetBasePage.UpdateMachineAttributes", ex.Message, ex.ToString()); + throw new Exception(ex.Message); + } + } + + private static void ConvertMachineAttributesCategory(MachineAttributes abtc, ref List list) + { + if (abtc != null && abtc.Category.Count > 0) + { + foreach (MachineAttributeCategory cateitem in abtc.Category) + { + MachineAttributeCategoryClient cateclt = new MachineAttributeCategoryClient(); + Helper.CloneProperty(cateclt, cateitem); + + var tab = abtc.Tabs.FirstOrDefault(m => m.ID == cateitem.TabID); + if (tab == null) + continue; + else + { + cateclt.TabName = tab.Name; + cateclt.OrderIndex = abtc.Tabs.IndexOf(tab); + } + cateclt.MachineAttributes = new List(); + + foreach (MachineAttributeItem attitem in cateitem.Attributes) + { + MachineAttributeClient attclt = new MachineAttributeClient(); + Helper.CloneProperty(attclt, attitem); + cateclt.MachineAttributes.Add(attclt); + } + list.Add(cateclt); + } + } + } + + private static void ConvertMachineAttributes(MachineAttributes abtc, ref List list) + { + if (abtc != null && abtc.Category.Count > 0) + { + foreach (MachineAttributeCategory cateitem in abtc.Category) + { + foreach (MachineAttributeItem attitem in cateitem.Attributes) + { + MachineAttributeClient attclt = new MachineAttributeClient(); + Helper.CloneProperty(attclt, attitem); + list.Add(attclt); + } + } + } + } + + #endregion + + #region Odometer Adjustment History + + private object GetOdometerAdjustmentHistory() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var customerid = HttpUtility.HtmlDecode(clientdata[0]); + var assetid = HttpUtility.HtmlDecode(clientdata[1]); + var sdate = HttpUtility.HtmlDecode(clientdata[2]); + var edate = HttpUtility.HtmlDecode(clientdata[3]); + if (string.IsNullOrEmpty(customerid)) + customerid = SystemParams.CompanyID; + + DateTime starttime = Helper.DBMinDateTime; + DateTime endtime = DateTime.MaxValue; + if (!DateTime.TryParse(sdate, out starttime)) + starttime = Helper.DBMinDateTime; + + if (!DateTime.TryParse(edate, out endtime)) + endtime = DateTime.MaxValue; + else + endtime = endtime.Date.AddDays(1).AddSeconds(-1); + + AssetOdometerAdjustInfo[] odos = CreateClient(customerid).GetOdometerAdjustmentHistory(customerid, Convert.ToInt64(assetid), starttime, endtime); + if (odos == null || odos.Length == 0) + return new AssetOdometerAdjustItem[0]; + + List list = new List(); + foreach (AssetOdometerAdjustInfo odo in odos) + { + AssetOdometerAdjustItem item = new AssetOdometerAdjustItem(); + Helper.CloneProperty(item, odo); + list.Add(item); + } + return list.ToArray(); + } + else + return new AssetOdometerAdjustItem[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + #endregion + + + #region Engine Hours Adjustment History + private object GetEngineHoursAdjustmentHistory() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var customerid = HttpUtility.HtmlDecode(clientdata[0]); + var assetid = HttpUtility.HtmlDecode(clientdata[1]); + var sdate = HttpUtility.HtmlDecode(clientdata[2]); + var edate = HttpUtility.HtmlDecode(clientdata[3]); + if (string.IsNullOrEmpty(customerid)) + customerid = SystemParams.CompanyID; + + DateTime starttime = Helper.DBMinDateTime; + DateTime endtime = DateTime.MaxValue; + if (!DateTime.TryParse(sdate, out starttime)) + starttime = Helper.DBMinDateTime; + + if (!DateTime.TryParse(edate, out endtime)) + endtime = DateTime.MaxValue; + else + endtime = endtime.Date.AddDays(1).AddSeconds(-1); + + AssetEngineHoursAdjustInfo[] hours = CreateClient(customerid).GetEngineHoursAdjustmentHistory(customerid, Convert.ToInt64(assetid), starttime, endtime); + if (hours == null || hours.Length == 0) + return new AssetEngineHoursAdjustItem[0]; + + List list = new List(); + foreach (AssetEngineHoursAdjustInfo hour in hours) + { + AssetEngineHoursAdjustItem item = new AssetEngineHoursAdjustItem(); + Helper.CloneProperty(item, hour); + list.Add(item); + } + return list.ToArray(); + } + else + return new AssetEngineHoursAdjustItem[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + #endregion + private object GetCustomerTimeZone() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string custid = Request.Form["ClientData"]; + FISqlConnection db = null; + if (SystemParams.IsDealer) + { + if (string.IsNullOrEmpty(custid)) + custid = SystemParams.CompanyID; + string connetionstring = SystemParams.GetDbStringByCompany(custid); + db = new FISqlConnection(connetionstring); + } + else + custid = SystemParams.CompanyID; + + StringKeyValue kv = new StringKeyValue(); + kv.Key = SystemParams.GetStringParam("CustomerTimeZone", false, db); + TimeZoneInfo tz = SystemParams.GetTimeZoneInfo(custid, db); + DateTime time = TimeZoneInfo.ConvertTimeFromUtc(DateTime.Now.ToUniversalTime(), tz); + kv.Value = time.ToString("MM/dd/yyyy HH:mm:ss"); + return kv; + } + else + { + throw new Exception("not login."); + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object ChangeMachineIconFile() + { + try + { + if (GetCurrentLoginSession() != null) + { + string clientdata = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + StringKeyValue kv = JsonConvert.DeserializeObject(clientdata); + + HttpPostedFile uploadFile = null; + byte[] iconfilebyte = null; + if (Request.Files.Count > 0) + { + uploadFile = Request.Files[0]; + iconfilebyte = ConvertFile2bytes(uploadFile); + } + FISqlConnection db = null; + if (SystemParams.IsDealer) + { + string connetionstring = SystemParams.GetDbStringByCompany(kv.Key); + db = new FISqlConnection(connetionstring); + } + MachineManagement.ChangeMachineIconFile(Convert.ToInt64(kv.Value), uploadFile == null ? "" : uploadFile.FileName, iconfilebyte, db); + + return "OK"; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetPMSchedulesByAsset() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + long assetid = 0; + long.TryParse(clientdata, out assetid); + return MaintenanceManagement.GetPmScheduleByAsset(session.SessionID, assetid); + } + else + return new PmScheduleInfo[0]; + } + catch (Exception ex) + { + AddLog("ERROR", "AssetBasePage.GetPmSchedules", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object AddAssetToPMSchedule() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + PMScheduleAssetItem p = JsonConvert.DeserializeObject(clientdata); + + PMAssetInfo pmAsset = new PMAssetInfo(); + pmAsset.AssetId = p.AssetId; + pmAsset.StartHours = p.StartHours; + pmAsset.StartOdometer = p.StartOdometer; + pmAsset.StartDate = p.StartDate; + pmAsset.StartIntervalValue = p.StartIntervalValue; + + var client = CreateClient(); + client.UpdatePMScheduleAsset(SystemParams.CompanyID, p.PmScheduleID, pmAsset, session.User.UID); + if (!string.IsNullOrEmpty(p.SelectedIntervalID)) + { + //SystemParams.PMClient.TriggerPMAlert(SystemParams.CompanyID, p.PmScheduleID, pmAsset.AssetId); + client.GenerateMissedPMAlert(SystemParams.CompanyID, p.SelectedIntervalID, pmAsset.AssetId); + } + } + return "OK"; + } + catch (Exception ex) + { + AddLog("ERROR", "AssetBasePage.GetPmSchedules", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object RemoveAssetFromPMSchedule() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + string[] ps = JsonConvert.DeserializeObject(clientdata); + long assetid = 0; + long.TryParse(ps[0], out assetid); + + CreateClient().DeleteAssetsFromSchedule(SystemParams.CompanyID, ps[1], new long[] { assetid }, session.User.UID); + } + return "OK"; + } + catch (Exception ex) + { + AddLog("ERROR", "AssetBasePage.GetPmSchedules", ex.Message, ex.ToString()); + return ex.Message; + } + } + + class PMScheduleAssetItem + { + public long AssetId { get; set; } + public string PmScheduleID { get; set; } + public double? StartHours { get; set; } + public double? StartOdometer { get; set; } + public DateTime? StartDate { get; set; } + public int? StartIntervalValue { get; set; } + public string SelectedIntervalID { get; set; } + } + } +} diff --git a/IronIntelContractorSiteLib/ChangePasswordBasePage.cs b/IronIntelContractorSiteLib/ChangePasswordBasePage.cs new file mode 100644 index 0000000..55554bd --- /dev/null +++ b/IronIntelContractorSiteLib/ChangePasswordBasePage.cs @@ -0,0 +1,60 @@ +using IronIntel.Contractor.Users; +using IronIntel.Services; +using IronIntel.Services.Users; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Web; + +namespace IronIntel.Contractor.Site +{ + public class ChangePasswordBasePage : ContractorBasePage + { + protected string UserID; + + protected void ProcessRequest() + { + string methodName = Request.Params["MethodName"]; + if (methodName != null) + { + switch (methodName.ToUpper()) + { + case "CHANGEPASSWORD": + ChangePassword(); + break; + } + } + } + + private void ChangePassword() + { + var session = GetCurrentLoginSession(); + if (session == null) + { + Response.Write("\"Please login.\""); + Response.End(); + return; + } + var clientdata = Request.Form["ClientData"].Split((char)170); + var oldpass = HttpUtility.HtmlDecode(clientdata[0]); + var newpass = HttpUtility.HtmlDecode(clientdata[1]); + + try + { + var client = CreateClient(); + client.SessionID = session.SessionID; + client.ClientHost = Request.UserHostName; + client.ChangePassword(session.User.UID, oldpass, newpass, session.SessionID); + Response.Write(string.Empty); + } + catch (Exception ex) + { + Response.Write(JsonConvert.SerializeObject(ex.Message)); + } + Response.End(); + } + } +} diff --git a/IronIntelContractorSiteLib/CommonHttpRequestHandler.cs b/IronIntelContractorSiteLib/CommonHttpRequestHandler.cs new file mode 100644 index 0000000..afab361 --- /dev/null +++ b/IronIntelContractorSiteLib/CommonHttpRequestHandler.cs @@ -0,0 +1,182 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.IO; +using System.Web; +using Newtonsoft.Json; +using IronIntel.Services; +using IronIntel.Site; +using IronIntel.Contractor.Users; +using IronIntel.Services.Customers; + +namespace IronIntel.Contractor.Site +{ + public class CommonHttpRequestHandler : IronIntelHttpHandlerBase + { + public static byte[] GetCompanyLOGO(string companyid) + { + if (string.IsNullOrWhiteSpace(companyid)) + { + return SystemParams.GetCompanyLOGO(CompanyInfo.FORESIGHT); + } + else + { + return SystemParams.GetCompanyLOGO(companyid); + } + } + + public static byte[] GetForesightLOGOInMainStyle() + { + return SystemParams.GetForesightLOGOInMainStyle(); + } + + public static byte[] GetCompanyLocationLOGO(string companyid) + { + return SystemParams.GetCompanyLocationLOGO(companyid); + } + public static byte[] GetLocationLOGO(string companyid) + { + return SystemParams.GetCompanyLocationLOGO(companyid); + } + + public static byte[] GetCustomerLocationLOGO(int locationid) + { + CustomerProvider ic = SystemParams.GetCustomerProvider(); + return ic.GetCustomerLocationLOGO(locationid); + } + public override string GetIronSystemServiceAddress() + { + return SystemParams.SystemServiceAddresses[0]; + } + + public CommonHttpRequestHandler(HttpContext context) + : base(context) + { + } + + public override void ProcessRequest() + { + string s = ReadTextFromStream(Context.Request.InputStream); + if (string.IsNullOrWhiteSpace(s)) + { + Context.Response.StatusCode = 204; + Context.Response.End(); + return; + } + CommonRequestObject req = null; + try + { + req = JsonConvert.DeserializeObject(s); + } + catch + { + Context.Response.StatusCode = 400; + Context.Response.End(); + return; + } + if (req == null) + { + Context.Response.StatusCode = 204; + Context.Response.End(); + return; + } + ProcessRequest(req); + } + + private void ProcessRequest(CommonRequestObject req) + { + switch (req.Method) + { + case CommonRequestMethods.IamAlive: + IamAlive(); + return; + case CommonRequestMethods.GetAppModules: + GetAppModules(); + return; + case CommonRequestMethods.GetCurrentLoginName: + GetCurrentLoginName(); + return; + case CommonRequestMethods.AddLog: + AddLog(req.ClientData); + return; + default: + Context.Response.StatusCode = 204; + Context.Response.End(); + return; + } + } + + private void IamAlive() + { + if (LoginSession == null) + { + Context.Response.StatusCode = 401; + } + else + { + Context.Response.Write("\"OK\""); + Context.Response.StatusCode = 200; + } + Context.Response.End(); + } + + private void GetAppModules() + { + if (LoginSession == null) + { + Context.Response.StatusCode = 401; + Context.Response.End(); + return; + } + AppModuleInfo[] items = Acl.GetAvailableAppModuleInfos(LoginSession.User.UID); + string json = JsonConvert.SerializeObject(items); + Context.Response.Write(json); + Context.Response.End(); + } + + private void GetCurrentLoginName() + { + string s = LoginSession == null ? string.Empty : LoginSession.User.Name; + + Context.Response.Write(s); + Context.Response.End(); + } + + private void AddLog(string clientdata) + { + const char SPLITCHAR = (char)170; + + Context.Response.StatusCode = 200; + try + { + string[] s = clientdata.Split(new char[] { SPLITCHAR }); + SystemParams.WriteLog(s[0], s[1], s[2], s[3]); + } + catch + { } + Context.Response.End(); + } + } + + sealed class CommonRequestObject + { + public int MethodID { get; set; } + public string ClientData { get; set; } + public CommonRequestMethods Method + { + get { return (CommonRequestMethods)MethodID; } + } + } + + enum CommonRequestMethods + { + IamAlive = 0, + GetAppModules = 1, + GetCurrentLoginName = 2, + AddLog = 3, + GetMachineMapPinItem = 4, + GetJobSiteMapItem = 5 + } +} diff --git a/IronIntelContractorSiteLib/Contact/ContactBasePage.cs b/IronIntelContractorSiteLib/Contact/ContactBasePage.cs new file mode 100644 index 0000000..8355361 --- /dev/null +++ b/IronIntelContractorSiteLib/Contact/ContactBasePage.cs @@ -0,0 +1,290 @@ +using Foresight.Fleet.Services.JobSite; +using Foresight.ServiceModel; +using IronIntel.Contractor.Contact; +using IronIntel.Contractor.JobSites; +using IronIntel.Contractor.Maintenance; +using IronIntel.Contractor.MapView; +using IronIntel.Contractor.Users; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Web; + +namespace IronIntel.Contractor.Site.Contact +{ + public class ContactBasePage : ContractorBasePage + { + protected void ProcessRequest(string methodName) + { + object result = null; + try + { + if (methodName != null) + { + switch (methodName) + { + case "GetContacts": + result = GetContacts(); + break; + case "SaveContact": + result = SaveContact(); + break; + case "GetUsers": + result = GetUsers(); + break; + case "DeleteContact": + result = DeleteContact(); + break; + case "GetSelectedMachines": + result = GetSelectedMachines(); + break; + case "SaveContactMachines": + result = SaveContactMachines(); + break; + case "GetJobsiteList": + result = GetJobsiteList(); + break; + case "GetSelectedJobsites": + result = GetSelectedJobsites(); + break; + case "SaveContactJobsites": + result = SaveContactJobsites(); + break; + + } + } + } + catch (Exception ex) + { + SystemParams.WriteLog("error", "ContactBasePage", ex.Message, ex.ToString()); + throw ex; + } + string json = JsonConvert.SerializeObject(result); + Response.Write(json); + Response.End(); + } + + private object GetContacts() + { + try + { + var session = GetCurrentLoginSession(); + ContactInfo[] items = null; + if (session != null) + { + var s = Request.Form["ClientData"]; + s = HttpUtility.HtmlDecode(s); + + items = ContactManagement.GetContacts(session.SessionID); + } + else + { + items = new ContactInfo[0]; + } + return items.OrderBy(m => m.ContactName); + } + catch (Exception ex) + { + return ex.Message; + } + } + + private string SaveContact() + { + try + { + if (GetCurrentLoginSession() != null) + { + var s = Request.Form["ClientData"]; + s = HttpUtility.HtmlDecode(s); + + var ci = JsonConvert.DeserializeObject(s); + if (string.IsNullOrWhiteSpace(ci.ContactID)) + { + ci.ContactID = Guid.NewGuid().ToString(); + } + + ContactManagement.SaveContact(ci, GetCurrentLoginSession().User.UID); + + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetUsers() + { + try + { + var session = GetCurrentLoginSession(); + UserInfo[] items = null; + if (session != null) + { + items = UserManagement.GetUsers(); + } + else + { + items = new UserInfo[0]; + } + return items.OrderBy(m => m.ID); + } + catch (Exception ex) + { + return ex.Message; + } + } + + private string DeleteContact() + { + try + { + if (GetCurrentLoginSession() != null) + { + var contactid = Request.Form["ClientData"]; + contactid = HttpUtility.HtmlDecode(contactid); + ContactManagement.DeleteContact(contactid); + + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private MaintenanceMachineInfo[] GetSelectedMachines() + { + var contactid = Request.Form["ClientData"]; + var machines = ContactManagement.GetContactMachinesByID(contactid); + + return machines.OrderBy(m => m.VIN).ToArray(); + } + + private string SaveContactMachines() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var contactid = HttpUtility.HtmlDecode(clientdata[0]); + var machineids = HttpUtility.HtmlDecode(clientdata[1]); + + string[] ids = JsonConvert.DeserializeObject(machineids); + + ContactManagement.SaveContactMachines(contactid, SystemParams.CompanyID, ids); + + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetJobsiteList() + { + try + { + JobSiteViewItem[] items = null; + if (GetCurrentLoginSession() != null) + { + var s = Request.Form["ClientData"]; + s = HttpUtility.UrlDecode(s); + + var jss = CreateClient().GetJobSiteItems(SystemParams.CompanyID, "", false); + List list = new List(); + foreach (var js in jss) + { + JobSiteViewItem item = new JobSiteViewItem(); + item.ID = js.ID; + item.Name = js.Name; + + list.Add(item); + } + items = list.ToArray(); + } + else + { + items = new JobSiteViewItem[0]; + } + return items; + } + catch (Exception ex) + { + return ex.Message; + } + } + private object GetSelectedJobsites() + { + try + { + JobSiteViewItem[] items = null; + if (GetCurrentLoginSession() != null) + { + var contactid = Request.Form["ClientData"]; + contactid = HttpUtility.UrlDecode(contactid); + + items = ContactManagement.GetContactJobsitesByID(contactid); + } + else + { + items = new JobSiteViewItem[0]; + } + return items; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private string SaveContactJobsites() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var contactid = HttpUtility.HtmlDecode(clientdata[0]); + var jobsiteids = HttpUtility.HtmlDecode(clientdata[1]); + + string[] ids = JsonConvert.DeserializeObject(jobsiteids); + + ContactManagement.SaveContactJobsites(contactid, SystemParams.CompanyID, ids); + + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + } + +} diff --git a/IronIntelContractorSiteLib/ContractorBasePage.cs b/IronIntelContractorSiteLib/ContractorBasePage.cs new file mode 100644 index 0000000..fbb459c --- /dev/null +++ b/IronIntelContractorSiteLib/ContractorBasePage.cs @@ -0,0 +1,217 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +using IronIntel.Services; +using IronIntel.Services.Users; +using IronIntel.Site; +using IronIntel.Contractor.Users; +using IronIntel.Services.Customers; +using System.Web; +using Foresight.Fleet.Services; + +namespace IronIntel.Contractor.Site +{ + public class ContractorBasePage : IronIntelBasePage + { + public static string AppVersion + { + get + { + return SystemParams.AppVersion; + } + } + + new public string PageTitle + { + get + { + if (MainStyleObj != null && !string.IsNullOrWhiteSpace(MainStyleObj.PageTitle)) + return MainStyleObj.PageTitle; + return base.PageTitle; + } + } + + private MainStyle _MainStyleObj; + protected MainStyle MainStyleObj + { + get + { + if (_MainStyleObj == null) + { + _MainStyleObj = SystemParams.GetMainStyle(); + } + return _MainStyleObj; + } + } + + protected IronIntel.Contractor.Users.UserInfo GetCurrentUser() + { + var session = GetCurrentLoginSession(); + if (session == null) + { + return null; + } + return UserManagement.GetUserByIID(session.User.UID); + } + + protected bool IsAdminOrSuper + { + get + { + var user = GetCurrentUser(); + if (user == null) + { + return false; + } + return (user.UserType == UserTypes.Admin || user.UserType == UserTypes.SupperAdmin); + } + } + + public override string GetIronSystemServiceAddress() + { + return SystemParams.SystemServiceAddresses[0]; + } + + protected virtual bool AllowCurrentLoginSessionEnter() + { + var session = GetCurrentLoginSession(); + if (session == null) + { + return false; + } + if (string.Compare(session.User.CompanyID, SystemParams.CompanyID, true) == 0) + { + return true; + } + if (string.Compare(session.User.CompanyID, CompanyInfo.FORESIGHT, true) == 0) + { + return true; + } + return CreateClient().CanEnterSite(session.SessionID, SystemParams.CompanyID); + } + + protected virtual bool ThrowIfNotAllowed { get { return false; } } + + protected bool CheckLoginSession() + { + var session = GetCurrentLoginSession(); + if (session == null) + { + RedirectToLoginPage(); + return false; + } + if (!AllowCurrentLoginSessionEnter()) + { + if (ThrowIfNotAllowed) + { + throw new Exception("The user was not allowed to enter this page."); + } + else + { + string entry = GetUserDefaultEntryPageUrl(session.User); + if (string.IsNullOrEmpty(entry)) + Response.Redirect(entry, true); + else + Response.Redirect(LoginPageUrl, true); + } + return false; + } + return true; + } + + protected void DoLogout() + { + string sid = null; + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + sid = session.SessionID; + } + } + catch { } + try + { + ClearLoginSessionCookie(); + } + catch { } + if (sid != null) + { + try + { + CreateClient().LogoutWithSessionID(sid); + } + catch + { + // nothing + } + } + + RedirectToLoginPage(); + } + + protected void AddLog(string type, string source, string message, string detail) + { + try + { + SystemParams.WriteLog(type, source, message, detail); + } + catch + { + // nothing + } + } + + protected string GenerateUrl(string file) + { + string url; + System.Web.UI.Page page = System.Web.HttpContext.Current.Handler as System.Web.UI.Page; + if (page != null) + { + // Use page instance. + url = page.ResolveUrl("~/") + file; + } + else + { + // avoid duplicate operation + url = System.Web.HttpContext.Current.Request.ApplicationPath + "/" + file; + } + try + { + var path = System.IO.Path.Combine(System.Web.HttpContext.Current.Request.PhysicalApplicationPath, file); + if (System.IO.File.Exists(path)) + { + url += "?t=" + System.IO.File.GetLastWriteTimeUtc(path).Ticks; + } + } + catch (Exception) + { + // cant read file + } + return url; + } + + protected byte[] ConvertFile2bytes(HttpPostedFile uploadFile) + { + byte[] dataBuffer = new byte[uploadFile.InputStream.Length]; + uploadFile.InputStream.Position = 0; + uploadFile.InputStream.Read(dataBuffer, 0, dataBuffer.Length); + uploadFile.InputStream.Close(); + return dataBuffer; + } + + public virtual string JQueryVersion + { + get { return "1.8.0"; } + } + + protected T CreateClient(string companyid = null) where T : RemoteClientBase + { + var session = GetCurrentLoginSession(); + return FleetServiceClientHelper.CreateClient(companyid, session == null ? "" : session.SessionID); + } + } +} diff --git a/IronIntelContractorSiteLib/CredentialEntryBasePage.cs b/IronIntelContractorSiteLib/CredentialEntryBasePage.cs new file mode 100644 index 0000000..262539d --- /dev/null +++ b/IronIntelContractorSiteLib/CredentialEntryBasePage.cs @@ -0,0 +1,333 @@ +using Foresight.ServiceModel; +using IronIntel.Contractor.Users; +using IronIntel.Services; +using IronIntel.Services.CredentialObjects; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Web; + +namespace IronIntel.Contractor.Site +{ + public class CredentialEntryBasePage : ContractorBasePage + { + private const string AEMP = "AEMPFLEET"; + private const string JDAPI = "JDAPI"; + protected void ProcessRequest(string methodName) + { + if (methodName != null) + { + switch (methodName) + { + case "GetCredentials": + GetCredentials(); + break; + case "SaveCredential": + SaveCredential(true); + break; + case "DeleteCredential": + DeleteCredential(); + break; + case "GetAEMPSources": + GetAEMPSources(); + break; + case "GetJDLinkCredentials": + GetJDLinkCredentials(); + break; + case "AuthorizeRequestToken": + AuthorizeRequestToken(); + break; + case "FinishJDLinkOAuthRequest": + FinishJDLinkOAuthRequest(); + break; + } + } + + Response.End(); + } + + protected override bool AllowCurrentLoginSessionEnter() + { + var f = base.AllowCurrentLoginSessionEnter(); + if (!f) + { + return false; + } + + // check whether you are admin. + var session = GetCurrentLoginSession(); + if (session == null || session.User == null) + { + return false; + } + var ui = UserManagement.GetUserByIID(session.User.UID); + return ui != null && ui.UserType >= UserTypes.Admin; + } + + protected override bool ThrowIfNotAllowed { get { return true; } } + + private void GetCredentials() + { + string type = Request.Form["ClientData"]; + string creType = ""; + switch (type) + { + case "AEMP": + creType = AEMP; + break; + } + CredentialManagementClient crd = SystemParams.GetServiceClient(); + CredentialInfo[] creInfos = crd.GetCredentialByCompanyID(SystemParams.CompanyID, creType); + + List creObjs = new List(); + foreach (var cre in creInfos) + { + creObjs.Add(ConvertFromAEMP(cre)); + } + var items = creObjs.OrderBy((c) => c.UserName).ToArray(); + string json = JsonConvert.SerializeObject(items); + Response.Write(json); + Response.End(); + } + + private void SaveCredential(bool adduser) + { + var content = Request.Form["ClientData"]; + content = HttpUtility.HtmlDecode(content); + var item = JsonConvert.DeserializeObject(content); + + try + { + if (string.IsNullOrEmpty(item.ID)) + item.ID = Guid.NewGuid().ToString(); + CredentialInfo creInfo = null; + switch (item.CredentialType) + { + case "AEMP": + creInfo = ConvertToAEMP(item); + break; + } + if (creInfo != null) + { + CredentialManagementClient crd = SystemParams.GetServiceClient(); + crd.UpdateCredential(creInfo); + } + } + catch (Exception ex) + { + Response.Write(JsonConvert.SerializeObject(ex.Message)); + return; + } + + Response.Write("\"OK\""); + } + + private void DeleteCredential() + { + var iid = Request.Form["ClientData"]; + Guid guid; + if (!Guid.TryParse(iid, out guid)) + { + throw new ArgumentException("Credential IID is not valid."); + } + CredentialManagementClient crd = SystemParams.GetServiceClient(); + crd.DeleteCredential(iid); + } + + private void GetAEMPSources() + { + IronSysServiceClient ic = SystemParams.GetIronSystemServiceClient(); + AEMPSourceInfo[] sources = ic.GetAEMPSourceInfo(); + + List list = new List(); + foreach (var source in sources) + { + AEMPSourceItem item = new AEMPSourceItem(); + Helper.CloneProperty(item, source); + list.Add(item); + } + var items = list.OrderBy((c) => c.ManufactureName).ToArray(); + string json = JsonConvert.SerializeObject(items); + Response.Write(json); + Response.End(); + } + + #region AEMP + + private CredentialObj ConvertFromAEMP(CredentialInfo cre) + { + CredentialObj result = new CredentialObj(); + result.ID = cre.ID; + result.CredentialType = cre.CredentialType; + + AEMPCredential aemp = new AEMPCredential(); + aemp.FillFromXml(cre.Credential); + if (aemp != null) + { + result.Manufacture = aemp.ManufactureID; + result.UserName = aemp.UserName; + result.Password = aemp.Password; + result.Enabled = aemp.Enabled; + result.UrlKey = aemp.UrlKey; + result.OrgnizationID = aemp.OrgnizationID; + } + + return result; + } + + private CredentialInfo ConvertToAEMP(CredentialObj cre) + { + CredentialInfo result = new CredentialInfo(); + result.ID = cre.ID; + result.CredentialType = AEMP; + result.CompanyID = SystemParams.CompanyID; + + AEMPCredential aemp = new AEMPCredential(); + aemp.ManufactureID = cre.Manufacture; + aemp.UserName = cre.UserName; + aemp.Password = cre.Password; + aemp.Enabled = cre.Enabled; + aemp.UrlKey = cre.UrlKey; + aemp.OrgnizationID = cre.OrgnizationID; + + result.Credential = aemp.ToString(); + + return result; + } + + #endregion + + #region JDLink credential + private void GetJDLinkCredentials() + { + CredentialManagementClient client = SystemParams.GetServiceClient(); + JDCredential[] jds = client.GetJDLinkCredentials(SystemParams.CompanyID); + List list = new List(); + foreach (var jd in jds) + { + JDCredentialObj item = new JDCredentialObj(); + item.ID = jd.ID; + item.UserName = jd.Credential.UserName; + item.ExpirationDateUtc = jd.Credential.ExpirationDateUtc; + item.ConsumerKey = jd.Credential.ConsumerKey; + item.AuthorityUrl = jd.Credential.AuthorityUrl; + list.Add(item); + } + var items = list.OrderBy(m => m.UserName).ToArray(); + string json = JsonConvert.SerializeObject(items); + Response.Write(json); + Response.End(); + } + + private void AuthorizeRequestToken() + { + string username = Request.Form["ClientData"]; + username = HttpUtility.HtmlDecode(username); + CredentialManagementClient client = SystemParams.GetServiceClient(); + JDCredential[] jds = client.GetJDLinkCredentials(SystemParams.CompanyID); + JDCredential jd = jds.FirstOrDefault(m => m.Credential.UserName == username); + if (jd != null) + { + Response.Write(JsonConvert.SerializeObject("User name already exists.")); + Response.End(); + } + StringKeyValue kv = GetJDLinkApiKey(); + if (kv == null) + { + Response.Write(JsonConvert.SerializeObject("The JDLink Key does not exist,Please contact the administrator.")); + Response.End(); + } + JDOAuthData data = client.GetJDLinkAuthorizeRequestOAuth(kv.Key, kv.Value); + string json = JsonConvert.SerializeObject(data); + Response.Write(json); + Response.End(); + } + + public void FinishJDLinkOAuthRequest() + { + try + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var authordata = HttpUtility.HtmlDecode(clientdata[0]); + string virifier = HttpUtility.HtmlDecode(clientdata[1]); + + JDOAuthData oriauthdata = JsonConvert.DeserializeObject(authordata); + CredentialManagementClient client = SystemParams.GetServiceClient(); + JDOAuthData data = client.FinishJDLinkOAuthRequest(oriauthdata, virifier); + CredentialInfo ci = new CredentialInfo(); + ci.ID = Guid.NewGuid().ToString().ToUpper(); + ci.CompanyID = SystemParams.CompanyID; + ci.CredentialType = "JDLINK"; + JDCredential jd = new JDCredential(); + jd.Credential = data; + jd.Enabled = true; + ci.Credential = jd.ToString(); + client.UpdateCredential(ci); + } + catch (Exception ex) + { + Response.Write(JsonConvert.SerializeObject(ex.Message)); + return; + } + + Response.Write("\"OK\""); + } + + private StringKeyValue GetJDLinkApiKey() + { + string key = SystemParams.GetStringParam("JDAPIConsumerKey"); + if (string.IsNullOrWhiteSpace(key)) + { + return null; + } + string sec = SystemParams.GetStringParam("JDAPIConsumerSecret"); + if (string.IsNullOrWhiteSpace(sec)) + { + return null; + } + StringKeyValue kv = new StringKeyValue(); + kv.Key = key; + kv.Value = sec; + return kv; + } + + + #endregion + + /// + /// 用于传输的临时Credential类 + /// + public class CredentialObj + { + public string ID { get; set; } + public string CredentialType { get; set; } + public string Manufacture { get; set; } + public string UrlKey { get; set; } + public string UserName { get; set; } + public string Password { get; set; } + public bool Enabled { get; set; } + public string OrgnizationID { get; set; } + } + + public class AEMPSourceItem + { + public string ManufactureID { get; set; } + public string ManufactureName { get; set; } + public string FleetUrl { get; set; } + public string AutoServiceClass { get; set; } + } + + public class JDCredentialObj + { + public string ID { get; set; } + public string UserName { get; set; } + public string ConsumerKey { get; set; } + public string AuthorityUrl { get; set; } + public DateTime ExpirationDateUtc { get; set; } + public string ExpirationDateUtcStr { get { return ExpirationDateUtc == DateTime.MinValue ? "" : ExpirationDateUtc.ToShortDateString(); } } + } + } +} diff --git a/IronIntelContractorSiteLib/FITrackerBasePage.cs b/IronIntelContractorSiteLib/FITrackerBasePage.cs new file mode 100644 index 0000000..775fb66 --- /dev/null +++ b/IronIntelContractorSiteLib/FITrackerBasePage.cs @@ -0,0 +1,259 @@ +using Foresight.Fleet.Services.FITracker; +using Foresight.Fleet.Services.JobSite; +using IronIntel.Contractor.FITracker; +using IronIntel.Contractor.JobSites; +using IronIntel.Contractor.MapView; +using IronIntel.Services; +using IronIntel.Services.Business.Admin; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Web; + +namespace IronIntel.Contractor.Site +{ + public class FITrackerBasePage : ContractorBasePage + { + protected void ProcessRequest() + { + object result = null; + try + { + string methodName = Request.Params["MethodName"]; + if (methodName != null) + { + switch (methodName) + { + case "GetTrackers": + result = GetTrackers(); + break; + case "GetMessages": + result = GetMessages(); + break; + case "PostMessage": + result = PostMessage(); + break; + case "GetJobsites": + result = GetJobsites(); + break; + case "ChangeAcceptableAccuracy": + result = ChangeAcceptableAccuracy(); + break; + } + } + } + catch (Exception ex) + { + SystemParams.WriteLog("error", "FITrackerBasePage", ex.Message, ex.ToString()); + throw ex; + } + string json = JsonConvert.SerializeObject(result); + Response.Write(json); + Response.End(); + } + + private object GetTrackers() + { + var session = GetCurrentLoginSession(); + TrackerDeviceItem[] items = null; + if (session != null) + { + var s = Request.Form["ClientData"]; + s = HttpUtility.HtmlDecode(s); + + List result = new List(); + var ds = FITrackerManagement.GetTrackerDevices(session.SessionID, ""); + foreach (MobileDeviceInfo di in ds) + { + TrackerDeviceItem d = new TrackerDeviceItem(); + Helper.CloneProperty(d, di); + result.Add(d); + } + items = result.OrderBy(d => d.DeviceName).ToArray(); + } + else + { + items = new TrackerDeviceItem[0]; + } + return items; + } + + private object GetMessages() + { + TrackerChatMessage[] items = null; + var session = GetCurrentLoginSession(); + if (session != null) + { + string s = Request.Form["ClientData"]; + var obj = JsonConvert.DeserializeObject(s); + string deviceid = obj[0]; + long lastmsgid = -1; + if (!long.TryParse(obj[1], out lastmsgid)) + lastmsgid = -1; + + List result = new List(); + var msgs = FITrackerManagement.GetMessages(session.SessionID, deviceid, lastmsgid); + double hourOffset = SystemParams.GetHoursOffset(); + foreach (ChatMessageInfo msginfo in msgs) + { + TrackerChatMessage msg = new TrackerChatMessage(); + Helper.CloneProperty(msg, msginfo); + if (msg.Time != DateTime.MinValue) + msg.Time = msg.Time.AddHours(hourOffset); + msg.IsSelf = session.User.UID.Equals(msg.SenderID, StringComparison.OrdinalIgnoreCase); + result.Add(msg); + } + items = result.ToArray(); + } + return items; + } + + private object PostMessage() + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var s = Request.Form["ClientData"]; + s = HttpUtility.HtmlDecode(s); + var obj = JsonConvert.DeserializeObject(s); + int type = 0; + int.TryParse(obj[2], out type); + var msginfo = FITrackerManagement.PostMessage(session.SessionID, obj[0], session.User.UID, session.User.Name, obj[1], type); + double hourOffset = SystemParams.GetHoursOffset(); + + TrackerChatMessage msg = new TrackerChatMessage(); + Helper.CloneProperty(msg, msginfo); + if (msg.Time != DateTime.MinValue) + msg.Time = msg.Time.AddHours(hourOffset); + msg.IsSelf = session.User.UID.Equals(msg.SenderID, StringComparison.OrdinalIgnoreCase); + return msg; + } + return "Failed"; + } + + private object ChangeAcceptableAccuracy() + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var s = Request.Form["ClientData"]; + s = HttpUtility.HtmlDecode(s); + var obj = JsonConvert.DeserializeObject(s); + double accuracy = 0; + double.TryParse(obj[1], out accuracy); + FITrackerManagement.ChangeAcceptableAccuracy(session.SessionID, obj[0], accuracy, obj[2], session.User.UID); + return ""; + } + return "Failed"; + } + + private object GetJobsites() + { + try + { + JobSiteViewItem[] items = null; + if (GetCurrentLoginSession() != null) + { + var jss = CreateClient().GetJobSiteItems(SystemParams.CompanyID, "", false); + List list = new List(); + foreach (var js in jss) + { + JobSiteViewItem item = new JobSiteViewItem(); + item.ID = js.ID; + item.Name = js.Name; + item.BaseOnMachineID = js.BaseonMachineID; + item.Code = js.Code; + item.Types = new string[] { js.JobSiteTypes }; + item.ColorString = js.Color; + System.Drawing.Color color = System.Drawing.Color.Orange; + try + { + color = System.Drawing.ColorTranslator.FromHtml(item.ColorString); + } + catch + { + } + item.Color = new IIColor() { Alpha = color.A, Red = color.R, Green = color.G, Blue = color.B }; + + item.Latitude = js.Latitude; + item.Longitude = js.Longitude; + item.StartDate = js.StartDate == null ? DateTime.MinValue : js.StartDate.Value; + item.EndDate = js.EndDate == null ? DateTime.MinValue : js.EndDate.Value; + item.Radius = js.Radius; + item.Radius_UOM = js.RadiusUOM; + if (js.Polygon != null && js.Polygon.Length > 0) + { + List temps = new List(); + foreach (var p in js.Polygon) + { + temps.Add(new PostionItem(p.Latitude, p.Longtitude)); + } + item.Polygon = temps.ToArray(); + } + + list.Add(item); + } + items = list.ToArray(); + } + else + { + items = new JobSiteViewItem[0]; + } + return items; + } + catch (Exception ex) + { + return ex.Message; + } + } + + public class TrackerDeviceItem + { + public string DeviceID { get; set; } + public string DeviceName { get; set; } + public string DeviceType { get; set; } + public long AssetID { get; set; } + public string VIN { get; set; } + public string Name { get; set; } + public string Make { get; set; } + public string Model { get; set; } + public string Type { get; set; } + public string ContractorID { get; set; } + public string DealerID { get; set; } + public long ShiftHistoryID { get; set; } + public bool ThirdPartyMode { get; set; } + public double AcceptableAccuracy { get; set; } + } + + public class TrackerChatMessage + { + public long AssetID { get; set; } + public string ReceiverName { get; set; } + public string ReceiverID { get; set; } + public string SenderType { get; set; } + public string SenderName { get; set; } + public string SenderID { get; set; } + public string ContractorID { get; set; } + public string TextMessage { get; set; } + public int MessageType { get; set; } + public DateTime Time { get; set; } + public long ID { get; set; } + public string ReceiverType { get; set; } + public bool IsSelf { get; set; } + public string TimeText + { + get + { + if (Time != DateTime.MinValue) + { + return Time.ToString(); + } + return ""; + } + } + } + } +} diff --git a/IronIntelContractorSiteLib/FilterQBasePage.cs b/IronIntelContractorSiteLib/FilterQBasePage.cs new file mode 100644 index 0000000..0a228c2 --- /dev/null +++ b/IronIntelContractorSiteLib/FilterQBasePage.cs @@ -0,0 +1,338 @@ +using IronIntel.Contractor.FilterQ; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Site +{ + public class FilterQBasePage : ContractorBasePage + { + protected void ProcessRequest() + { + string methodName = Request.QueryString["method"]; + if (methodName != null) + { + switch (methodName.ToUpper()) + { + case "GETFILTERQGROUPS": + GetFilterQGroups(); + break; + + case "SAVEFILTERQ": + SaveFilterQ(); + break; + } + } + } + + private FilterQItem ConvertToFilterQItem(MachineTasksNotificationInfo c, bool isdealer) + { + var item = new FilterQItem + { + TaskID = c.TaskID, + JobContact = c.JobContact, + JobContactNumber = c.JobContactNumber, + JobAddress1 = c.JobAddress1, + JobAddress2 = c.JobAddress2, + JobAddressCity = c.JobAddressCity, + JobAddressState = c.JobAddressState, + JobAddressZip = c.JobAddressZip, + + MachineID = c.MachineID, + CurrentJob = c.CurrentJob, + OrgMachineCode = c.OrgMachineCode, + ManufactuerMake = c.ManufactuerMake, + Model = c.Model, + SN = (c.SN != null && c.SN.Length > 6) ? c.SN.Substring(c.SN.Length - 6) : c.SN, + CumulativeHours = c.CumulativeHours, + MachineTaskHourCheck = c.MachineTaskHourCheck, + DiffToService = c.DiffToService, + EstDueDate = c.ESTServiceNeededBy.ToString("MM/dd/yyyy"), + EstShipDate = c.ESTShopDate.ToString("MM/dd/yyyy"), + + TaskComplete = c.TaskComplete, + UPSTrackingNumber = c.UPSTrackingNumber, + TaskCompletedHours = c.TaskCompletedHours, + RequestJREToService = c.RequestJREToService, + Approved = c.Approved, + Priority = c.Priority, + CustomerPO = c.CustomerPO, + CustomerWO = c.CustomerWO, + AlternateAddress1 = c.AlternateAddress1, + AlternateAddress2 = c.AlternateAddress2, + AlternateAddressCity = c.AlternateAddressCity, + AlternateAddressState = c.AlternateAddressState, + AlternateAddressZip = c.AlternateAddressZip, + AltJob = c.AltJob, + AltJobSiteContact = c.AltJobSiteContact, + ShipNotes = c.ShipNotes + }; + if (isdealer) + { + item.OrganizationName = c.OrganizationName; + } + return item; + } + + private void GetFilterQGroups() + { + try + { + // query shipdates + var s = Request.Form["ClientData"]; + var query = JsonConvert.DeserializeObject(s); + + + FilterQGroupByShipDate[] items; + if (GetCurrentLoginSession() != null) + { + var isdealer = SystemParams.CustomerDetail.IsDealer; + var datas = FilterQManagememt.GetTasksNotofications().ToList(); + // sort datas + var comparer = new FilterQItemComparer { Query = query }; + if (string.IsNullOrWhiteSpace(query.ColumnSort)) + { + // default sort: Est Ship Date desc + datas.Sort((m1, m2) => m2.ESTShopDate.CompareTo(m1.ESTShopDate)); + } + else + { + datas.Sort(comparer); + } + + var lst = new List(); + + // 组织 shipdates + var shipdates = datas.Distinct(new ShipDateEqualityComparer()) + .Select(m => m.ESTShopDate.ToString("MM/dd/yyyy")) + .OrderBy(d => d); + var shipgroup = new FilterQGroupByShipDate + { + ShipDates = shipdates.ToArray(), + SelectedShipDates = query.ShipDates + }; + IEnumerable dts = datas; + if (query.ShipDates != null && query.ShipDates.Length > 0) + { + dts = datas.Where(m => query.ShipDates.Contains(m.ESTShopDate.ToString("MM/dd/yyyy"))); + } + else + { + dts = datas; + } + + var notifications = dts.ToArray(); + var result = notifications.GroupBy(g => g.CurrentJob); + var list = new List(); + foreach (var g in result) + { + var subresult = g.GroupBy(gr => gr.OrganizationName); + foreach (var og in subresult) + { + var ogs = og.ToArray(); + + var group = new FilterQGroup + { + JobSite = g.Key, + OrganizationName = og.Key, + }; + var children = new List(); + // combine address + for (int i = 0; i < ogs.Length; i++) + { + var c = ogs[i]; + if (query.TaskComplete >= 0 && query.TaskComplete == (c.TaskComplete ? 0 : 1)) + { + continue; + } + children.Add(ConvertToFilterQItem(c, isdealer)); + if (group.JobContact == null) + { + group.JobContact = c.JobContact; + } + } + group.Children = children.ToArray(); + list.Add(group); + } + } + shipgroup.Groups = list.ToArray(); + + lst.Add(shipgroup); + //} + items = lst.ToArray(); + } + else + { + throw new Exception("not login."); + } + string json = JsonConvert.SerializeObject(items); + Response.Write(json); + } + catch (Exception ex) + { + Response.Write(JsonConvert.SerializeObject(ex.Message)); + AddLog("ERROR", "FilterQBasePage.GetFilterQGroups", ex.Message, ex.ToString()); + } + Response.End(); + } + + private void SaveFilterQ() + { + try + { + if (GetCurrentLoginSession() != null) + { + //var s = new System.IO.StreamReader(Request.InputStream).ReadToEnd(); + //int i = s.IndexOf("&ClientData="); + //if (i < 0) + //{ + // Response.Write("false"); + //} + //else + { + //s = s.Substring(i + 12); + //s = System.Web.HttpUtility.UrlDecode(s); + + var s = Request.Form["ClientData"]; + s = System.Web.HttpUtility.HtmlDecode(s); + + var array = JsonConvert.DeserializeObject(s); + FilterQManagememt.SaveMachineTasks(array, GetCurrentLoginSession().User.UID); + + Response.Write("true"); + } + } + else + { + Response.Write("false"); + } + } + catch (Exception ex) + { + Response.Write(JsonConvert.SerializeObject(ex.Message)); + } + Response.End(); + } + } + + public class ShipDateEqualityComparer : IEqualityComparer + { + public bool Equals(MachineTasksNotificationInfo x, MachineTasksNotificationInfo y) + { + if (x == null || y == null) + { + return x == y; + } + return x.ESTShopDate == y.ESTShopDate; + } + + public int GetHashCode(MachineTasksNotificationInfo obj) + { + return obj == null ? 0 : obj.ESTShopDate.GetHashCode(); + } + } + + public class FilterQItemComparer : IComparer + { + public FilterQueryParam Query { get; set; } + + public int Compare(MachineTasksNotificationInfo m1, MachineTasksNotificationInfo m2) + { + switch (Query.ColumnSort) + { + case "ORGANIZATION NAME": + return Query.IsAsc + ? string.Compare(m1.OrganizationName, m2.OrganizationName, true) + : string.Compare(m2.OrganizationName, m1.OrganizationName, true); + case "EQUIPMENT CODE": + return Query.IsAsc + ? string.CompareOrdinal(m1.OrgMachineCode, m2.OrgMachineCode) + : string.CompareOrdinal(m2.OrgMachineCode, m1.OrgMachineCode); + case "CURRENT JOBSITE": + return Query.IsAsc + ? string.CompareOrdinal(m1.CurrentJob, m2.CurrentJob) + : string.CompareOrdinal(m2.CurrentJob, m1.CurrentJob); + case "JOBSITE CONTACT": + return Query.IsAsc + ? string.CompareOrdinal(m1.JobContact, m2.JobContact) + : string.CompareOrdinal(m2.JobContact, m1.JobContact); + case "INFO": + return Query.IsAsc + ? string.CompareOrdinal(m1.ManufactuerMake, m2.ManufactuerMake) + : string.CompareOrdinal(m2.ManufactuerMake, m1.ManufactuerMake); + case "ESTIMATED SHIP DATE": + return Query.IsAsc + ? DateTime.Compare(m1.ESTShopDate, m2.ESTShopDate) + : DateTime.Compare(m2.ESTShopDate, m1.ESTShopDate); + case "HOURS TO SERVICE": + return Query.IsAsc + ? m1.DiffToService.CompareTo(m2.DiffToService) + : m2.DiffToService.CompareTo(m1.DiffToService); + case "TASK COMPLETE?": + return Query.IsAsc + ? m1.TaskComplete.CompareTo(m2.TaskComplete) + : m2.TaskComplete.CompareTo(m1.TaskComplete); + case "UPS TRACKING NUMBER": + return Query.IsAsc + ? string.CompareOrdinal(m1.UPSTrackingNumber, m2.UPSTrackingNumber) + : string.CompareOrdinal(m2.UPSTrackingNumber, m1.UPSTrackingNumber); + case "REQUEST JRE TO SERVICE": + return Query.IsAsc + ? m1.RequestJREToService.CompareTo(m2.RequestJREToService) + : m2.RequestJREToService.CompareTo(m1.RequestJREToService); + case "APPROVED": + return Query.IsAsc + ? m1.Approved.CompareTo(m2.Approved) + : m2.Approved.CompareTo(m1.Approved); + case "WONUMBER": + return Query.IsAsc + ? string.CompareOrdinal(m1.CustomerWO, m2.CustomerWO) + : string.CompareOrdinal(m2.CustomerWO, m1.CustomerWO); + case "SHIP NOTES": + return Query.IsAsc + ? string.CompareOrdinal(m1.ShipNotes, m2.ShipNotes) + : string.CompareOrdinal(m2.ShipNotes, m1.ShipNotes); + case "PO": + return Query.IsAsc + ? string.Compare(m1.CustomerPO, m2.CustomerPO) + : string.Compare(m2.CustomerPO, m1.CustomerPO); + + default: + return 0; + } + } + } + + public class FilterQGroupByShipDate + { + public string[] ShipDates { get; set; } + public string[] SelectedShipDates { get; set; } + public FilterQGroup[] Groups { get; set; } + } + + public class FilterQGroup + { + public string JobSite { get; set; } + public string JobContact { get; set; } + public string OrganizationName { get; set; } + public FilterQItem[] Children { get; set; } + } + + public class FilterQItem : MachineTasksNotificationInfo + { + public string EstDueDate { get; set; } + public string EstShipDate { get; set; } + } + + public class FilterQueryParam + { + public string ColumnSort { get; set; } + public bool IsAsc { get; set; } + // -1: All, 0: No, 1: Yes + public int TaskComplete { get; set; } + public string[] ShipDates { get; set; } + } +} diff --git a/IronIntelContractorSiteLib/InspectionBasePage.cs b/IronIntelContractorSiteLib/InspectionBasePage.cs new file mode 100644 index 0000000..5384ec2 --- /dev/null +++ b/IronIntelContractorSiteLib/InspectionBasePage.cs @@ -0,0 +1,1147 @@ +using Foresight.Fleet.Services.Asset; +using Foresight.Fleet.Services.AssetHealth; +using Foresight.Fleet.Services.Inspection; +using Foresight.Fleet.Services.JobSite; +using Foresight.ServiceModel; +using IronIntel.Contractor.FilterQ; +using IronIntel.Contractor.Machines; +using IronIntel.Contractor.Maintenance; +using IronIntel.Contractor.Users; +using IronIntel.Services.Contractor; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Web; + +namespace IronIntel.Contractor.Site +{ + public class InspectionBasePage : ContractorBasePage + { + protected void ProcessRequest(string method) + { + object result = null; + try + { + string methodName = Request.Params["MethodName"]; + if (methodName != null) + { + switch (methodName) + { + case "GetGlobalSections": + result = GetGlobalSections(); + break; + case "GetGlobalQuestions": + result = GetGlobalQuestions(); + break; + case "SaveGlobalSection": + result = SaveGlobalSection(); + break; + case "SaveGlobalQuestion": + result = SaveGlobalQuestion(); + break; + case "DeleteGlobalSection": + result = DeleteGlobalSection(); + break; + case "DeleteGlobalQuestion": + result = DeleteGlobalQuestion(); + break; + case "GetTemplates": + result = GetTemplates(); + break; + case "GetTemplate": + result = GetTemplate(); + break; + case "SaveTemplate": + result = SaveTemplate(); + break; + case "DeleteTemplate": + result = DeleteTemplate(); + break; + case "PublishTemplate": + result = PublishTemplate(); + break; + case "GetAssetMakes": + result = GetAssetMakes(); + break; + case "GetAssetModels": + result = GetAssetModels(); + break; + case "GetAssetTypes": + result = GetAssetTypes(); + break; + case "GetInspectItems": + result = GetInspectItems(); + break; + case "GetGlobalSectionsByID": + result = GetGlobalSectionsByID(); + break; + case "GetInspectionReport": + result = GetInspectionReport(); + break; + case "TemplateSaveAs": + result = TemplateSaveAs(); + break; + case "GetInspectEmailList": + result = GetInspectEmailList(); + break; + case "GetInspectionReportForEdit": + result = GetInspectionReportForEdit(); + break; + } + } + } + catch (Exception ex) + { + SystemParams.WriteLog("error", "InspectionBasePage", ex.Message, ex.ToString()); + throw ex; + } + string json = JsonConvert.SerializeObject(result); + Response.Write(json); + Response.End(); + } + protected void ProcessFileRequest() + { + bool download = false; + string fileName = ""; + byte[] buffer = null; + try + { + string type = Request.Params["t"]; + if (type != null) + { + switch (type) + { + case "1"://download + buffer = GetInspectionPDF(out fileName); + download = true; + break; + case "2"://print + buffer = GetInspectionPDF(out fileName); + break; + } + } + } + catch (Exception ex) + { + SystemParams.WriteLog("error", "InspectionBasePage", ex.Message, ex.ToString()); + throw ex; + } + + fileName = HttpUtility.UrlEncode(string.IsNullOrEmpty(fileName) ? "attachment" : fileName, System.Text.Encoding.UTF8) + ".pdf"; + + Response.ContentType = "application/pdf"; + Response.BufferOutput = false; + Response.ContentEncoding = System.Text.Encoding.UTF8; + Response.AddHeader("Content-Disposition" + , string.Format("{0}filename={1}", download ? "attachment;" : "", fileName)); + if (buffer != null) + { + Response.AddHeader("Content-Length", buffer.Length.ToString()); + Response.BinaryWrite(buffer); + } + Response.Flush(); + Response.End(); + } + + private object GetInspectItems() + { + try + { + var sesstion = GetCurrentLoginSession(); + if (sesstion != null) + { + string clientdata = Request.Params["ClientData"]; + string[] ps = JsonConvert.DeserializeObject(clientdata); + bool teamintelligence = Helper.IsTrue(ps[0]); + DateTime startdate = Helper.DBMinDateTime; + DateTime enddate = DateTime.MaxValue; + if (!DateTime.TryParse(ps[1], out startdate)) + startdate = Helper.DBMinDateTime; + if (!DateTime.TryParse(ps[2], out enddate)) + enddate = DateTime.MaxValue; + else + enddate = enddate.Date.AddDays(1).AddSeconds(-1); + + startdate = SystemParams.CustomerDetail.CustomerTimeToUtc(startdate); + enddate = SystemParams.CustomerDetail.CustomerTimeToUtc(enddate); + string filter = HttpUtility.HtmlDecode(ps[3]); + + if (teamintelligence) + { + var client = CreateClient(); + TeamInspectItem[] insplectitems = client.GetInspectItems(SystemParams.CompanyID, startdate, enddate, filter, sesstion.User.UID); + if (insplectitems == null || insplectitems.Length == 0) + return new TeamInspectInfo[0]; + + List list = new List(); + foreach (TeamInspectItem item in insplectitems) + { + TeamInspectInfo inspect = new TeamInspectInfo(); + Helper.CloneProperty(inspect, item); + list.Add(inspect); + } + return list.ToArray(); + } + else + { + var client = CreateClient(); + AssetInspectItem[] insplectitems = client.GetInspectItems(SystemParams.CompanyID, startdate, enddate, filter, sesstion.User.UID); + if (insplectitems == null || insplectitems.Length == 0) + return new AssetInspectInfo[0]; + + List list = new List(); + foreach (AssetInspectItem item in insplectitems) + { + AssetInspectInfo inspect = new AssetInspectInfo(); + Helper.CloneProperty(inspect, item); + list.Add(inspect); + } + return list.ToArray(); + } + + } + else + return new AssetInspectItem[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetInspectionReportForEdit() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = Request.Params["ClientData"]; + string[] ps = JsonConvert.DeserializeObject(clientdata); + bool teamintelligence = Helper.IsTrue(ps[0]); + string id = HttpUtility.HtmlDecode(ps[1]); + string companyId = SystemParams.CompanyID; + + InspectReportInfo report = null; + var aic = CreateClient(); + if (teamintelligence) + { + var client = CreateClient(); + report = client.GetInspection(companyId, id); + } + else + { + report = aic.GetInspection(companyId, id); + } + + if (report == null) + return null; + + var ir = new InspectReportEditItem(); + Helper.CloneProperty(ir, report); + ir.CommitTime = SystemParams.CustomerDetail.UtcToCustomerTime(ir.CommitTime); + ir.Answers.AddRange(report.Answers); + ir.Medias.AddRange(report.Medias); + if (!teamintelligence) + { + var aclient = FleetServiceClientHelper.CreateClient(companyId, session.SessionID); + ir.Asset = aclient.GetAssetBasicInfoByID(companyId, ir.AssetId); + } + // list + bool hasAsset = false; + bool hasEmail = false; + bool hasJobsite = false; + foreach (var p in report.Template.Pages) + { + foreach (var s in p.Sections) + { + foreach (var q in s.Questions) + { + if (q.QuestionType == QuestionTypes.DropDown) + { + if (q.LookupSource == LookupSources.Assets) + { + hasAsset = true; + } + else if (q.LookupSource == LookupSources.Employee) + { + hasEmail = true; + } + else if (q.LookupSource == LookupSources.Jobsites) + { + hasJobsite = true; + } + } + } + } + } + if (hasEmail) + { + ir.EmailList = aic.GetInspectEmailList(companyId, string.Empty); + } + if (hasAsset) + { + var ac = CreateClient(); + ir.AssetList = ac.GetAssetBasicInfoByUser(companyId, string.Empty, session.User.UID); + } + if (hasJobsite) + { + var jc = CreateClient(); + ir.JobSiteList = jc.GetJobSiteLimitItems(companyId, string.Empty); + } + return ir; + } + else + return null; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetInspectionReport() + { + try + { + var sesstion = GetCurrentLoginSession(); + if (sesstion != null) + { + string clientdata = Request.Params["ClientData"]; + string[] ps = JsonConvert.DeserializeObject(clientdata); + bool teamintelligence = Helper.IsTrue(ps[0]); + string id = HttpUtility.HtmlDecode(ps[1]); + + InspectReportInfo report = null; + if (teamintelligence) + { + var client = CreateClient(); + report = client.GetInspection(SystemParams.CompanyID, id); + } + else + { + var client = CreateClient(); + report = client.GetInspection(SystemParams.CompanyID, id); + } + + if (report == null) + return null; + + InspectReportItem ir = new InspectReportItem(); + Helper.CloneProperty(ir, report); + ir.CommitTime = SystemParams.CustomerDetail.UtcToCustomerTime(ir.CommitTime); + ir.Answers.AddRange(report.Answers); + ir.Medias.AddRange(report.Medias); + ir.IdentifiedQuestions = new List(); + foreach (var p in ir.Template.Pages) + { + foreach (var s in p.Sections) + { + foreach (var q in s.Questions) + { + foreach (var a in ir.Answers) + { + if (q.Id.Equals(a.QuestionId, StringComparison.OrdinalIgnoreCase)) + { + if (q.QuestionType == QuestionTypes.Date || q.QuestionType == QuestionTypes.DateAndTime) + { + DateTime dt = DateTime.Now; + if (DateTime.TryParse(a.Result, out dt)) + { + if (q.QuestionType == QuestionTypes.Date) + a.Result = dt.ToString("M/d/yyyy tt"); + else if (q.QuestionType == QuestionTypes.DateAndTime) + a.Result = dt.ToString("M/d/yyyy h:mm:ss tt"); + } + } + else if (q.QuestionType == QuestionTypes.Number + || q.QuestionType == QuestionTypes.Integer + || q.QuestionType == QuestionTypes.EngingHours + || q.QuestionType == QuestionTypes.Odometer) + { + double tn = 0; + if (double.TryParse(a.Result, out tn)) + a.Result = tn.ToString("#,##0.##"); + } + + //IdentifiedQuestion + if (q.QuestionType != QuestionTypes.DropDown + && q.QuestionType != QuestionTypes.YesOrNo + && q.QuestionType != QuestionTypes.List) + { + if (a.SeverityLevel != SeverityLeveles.None) + { + if (q.QuestionType == QuestionTypes.Picture) + { + var ms = ir.Medias.FirstOrDefault(m => m.AnswerId.ToString() == a.Id.ToString()); + if (ms == null) + continue; + } + IdentifiedQuestionItem iq = new IdentifiedQuestionItem(); + Helper.CloneProperty(iq, q); + iq.IdentifiedSeverityLevel = a.SeverityLevel; + ir.IdentifiedQuestions.Add(iq); + } + } + else + { + if (a.SelectedItems != null && a.SelectedItems.Count() > 0) + { + bool hasseveritylevel = a.SelectedItems.Count(m => m.SeverityLevel != SeverityLeveles.None) > 0; + if (hasseveritylevel) + { + IdentifiedQuestionItem iq = new IdentifiedQuestionItem(); + Helper.CloneProperty(iq, q); + + iq.IdentifiedSeverityLevel = SeverityLeveles.Low; + bool isHigh = a.SelectedItems.Count(m => m.SeverityLevel == SeverityLeveles.High) > 0; + if (isHigh) + iq.IdentifiedSeverityLevel = SeverityLeveles.High; + else + { + bool isMedium = a.SelectedItems.Count(m => m.SeverityLevel == SeverityLeveles.Medium) > 0; + if (isMedium) + iq.IdentifiedSeverityLevel = SeverityLeveles.Medium; + } + ir.IdentifiedQuestions.Add(iq); + } + } + else + { + if (a.SeverityLevel != SeverityLeveles.None) + { + IdentifiedQuestionItem iq = new IdentifiedQuestionItem(); + Helper.CloneProperty(iq, q); + iq.IdentifiedSeverityLevel = a.SeverityLevel; + ir.IdentifiedQuestions.Add(iq); + } + } + } + + break; + } + } + } + } + } + if (!teamintelligence) + { + var aclient = FleetServiceClientHelper.CreateClient(SystemParams.CompanyID, sesstion.SessionID); + ir.Asset = aclient.GetAssetBasicInfoByID(SystemParams.CompanyID, ir.AssetId); + } + ir.IdentifiedQuestions = ir.IdentifiedQuestions.OrderByDescending(m => m.IdentifiedSeverityLevel).ToList(); + return ir; + } + else + return null; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private byte[] GetInspectionPDF(out string fileName) + { + fileName = ""; + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string id = Request.Params["id"]; + bool teamintelligence = Helper.IsTrue(Request.Params["team"]); + byte[] bytes = null; + if (teamintelligence) + { + var client = CreateClient(); + bytes = client.GetInspectionPDF(SystemParams.CompanyID, id); + fileName = client.GetInspection(SystemParams.CompanyID, id).Template.Name; + } + else + { + var client = CreateClient(); + bytes = client.GetInspectionPDF(SystemParams.CompanyID, id); + fileName = client.GetInspection(SystemParams.CompanyID, id).Template.Name; + } + return bytes; + } + else + return null; + } + catch (Exception ex) + { + return null; + } + } + + private object GetTemplates() + { + try + { + var user = GetCurrentUser(); + if (user != null) + { + string clientdata = Request.Params["ClientData"]; + string[] ps = JsonConvert.DeserializeObject(clientdata); + bool teamintelligence = Helper.IsTrue(ps[0]); + int state = 0; + if (!int.TryParse(ps[1], out state)) + state = -1; + string filter = HttpUtility.HtmlDecode(ps[2]); + + FormTemplateItem[] templates = null; + if (teamintelligence) + { + var client = CreateClient(); + templates = client.GetFormTemplateItems(SystemParams.CompanyID, filter, user.IID, state); + } + else + { + var client = CreateClient(); + templates = client.GetFormTemplateItems(SystemParams.CompanyID, filter, user.IID, state); + } + return templates; + } + else + return new FormTemplateItem[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetInspectEmailList() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = Request.Params["ClientData"]; + bool teamintelligence = Helper.IsTrue(clientdata); + + UserEmailInfo[] users = null; + if (teamintelligence) + { + var client = CreateClient(); + users = client.GetInspectEmailList(SystemParams.CompanyID, string.Empty); + } + else + { + var client = CreateClient(); + users = client.GetInspectEmailList(SystemParams.CompanyID, string.Empty); + } + return users; + } + else + return new UserEmailInfo[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetTemplate() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Params["ClientData"]; + string[] ps = JsonConvert.DeserializeObject(clientdata); + bool teamintelligence = Helper.IsTrue(ps[0]); + string id = HttpUtility.HtmlDecode(ps[1]); + + FormTemplateInfo template = null; + if (teamintelligence) + { + var client = CreateClient(); + template = client.GetFormTemplate(SystemParams.CompanyID, Convert.ToInt64(id)); + } + else + { + var client = CreateClient(); + template = client.GetFormTemplate(SystemParams.CompanyID, Convert.ToInt64(id)); + } + return template; + } + else + return null; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object TemplateSaveAs() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = Request.Params["ClientData"]; + string[] ps = JsonConvert.DeserializeObject(clientdata); + bool teamintelligence = Helper.IsTrue(ps[0]); + long srctempid = Convert.ToInt64(ps[1]); + string newtemplatename = HttpUtility.HtmlDecode(ps[2]); + + if (teamintelligence) + { + var client = CreateClient(); + long id = client.TemplateSaveAs(SystemParams.CompanyID, srctempid, newtemplatename, session.User.UID); + } + else + { + var client = CreateClient(); + long id = client.TemplateSaveAs(SystemParams.CompanyID, srctempid, newtemplatename, session.User.UID); + } + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object SaveTemplate() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = Request.Params["ClientData"]; + string[] ps = JsonConvert.DeserializeObject(clientdata); + bool teamintelligence = Helper.IsTrue(ps[0]); + var data = HttpUtility.HtmlDecode(ps[1]); + FormTemplateInfo templateinfo = JsonConvert.DeserializeObject(HttpUtility.HtmlDecode(data)); + + var user = UserManagement.GetUserByIID(session.User.UID); + if (user.UserType != UserTypes.SupperAdmin && user.UserType != UserTypes.Admin) + return ""; + + if (templateinfo != null) + { + if (templateinfo.Pages != null) + { + foreach (var p in templateinfo.Pages) + { + if (string.IsNullOrWhiteSpace(p.Id)) + p.Id = Guid.NewGuid().ToString(); + if (p.Sections != null) + { + foreach (var s in p.Sections) + { + if (string.IsNullOrWhiteSpace(s.Id)) + s.Id = Guid.NewGuid().ToString(); + + if (s.Questions != null) + { + foreach (var q in s.Questions) + { + if (string.IsNullOrWhiteSpace(q.Id)) + q.Id = Guid.NewGuid().ToString(); + } + } + } + } + } + } + } + + FormTemplateInfo newtemp = null; + if (teamintelligence) + { + var client = CreateClient(); + newtemp = client.UpdateTemplate(SystemParams.CompanyID, templateinfo, session.User.UID); + } + else + { + var client = CreateClient(); + newtemp = client.UpdateTemplate(SystemParams.CompanyID, templateinfo, session.User.UID); + } + return new string[] { newtemp.Id.ToString(), "Saved successfully." }; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object DeleteTemplate() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = Request.Params["ClientData"]; + string[] ps = JsonConvert.DeserializeObject(clientdata); + bool teamintelligence = Helper.IsTrue(ps[0]); + long tempid = Convert.ToInt64(ps[1]); + + if (teamintelligence) + { + var client = CreateClient(); + client.DeleteTemplate(SystemParams.CompanyID, tempid, session.User.UID, string.Empty); + } + else + { + var client = CreateClient(); + client.DeleteTemplate(SystemParams.CompanyID, tempid, session.User.UID, string.Empty); + } + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + private object PublishTemplate() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = Request.Params["ClientData"]; + string[] ps = JsonConvert.DeserializeObject(clientdata); + bool teamintelligence = Helper.IsTrue(ps[0]); + long tempid = Convert.ToInt64(ps[1]); + + if (teamintelligence) + { + var client = CreateClient(); + client.PublishTemplate(SystemParams.CompanyID, tempid, session.User.UID); + } + else + { + var client = CreateClient(); + client.PublishTemplate(SystemParams.CompanyID, tempid, session.User.UID); + } + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + private object GetGlobalSections() + { + try + { + if (GetCurrentLoginSession() != null) + { + var data = Request.Params["ClientData"]; + bool teamintelligence = Helper.IsTrue(data); + + Section[] sections = null; + if (teamintelligence) + { + var client = CreateClient(); + sections = client.GetGlobalSectionItems(SystemParams.CompanyID); + } + else + { + var client = CreateClient(); + sections = client.GetGlobalSectionItems(SystemParams.CompanyID); + } + return sections; + } + else + return new Section[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetGlobalQuestions() + { + try + { + if (GetCurrentLoginSession() != null) + { + string clientdata = Request.Params["ClientData"]; + string[] ps = JsonConvert.DeserializeObject(clientdata); + bool teamintelligence = Helper.IsTrue(ps[0]); + string sectionid = HttpUtility.HtmlDecode(ps[1]); + + Question[] questions = null; + if (teamintelligence) + { + var client = CreateClient(); + questions = client.GetGlobalQuestions(SystemParams.CompanyID, sectionid); + } + else + { + var client = CreateClient(); + questions = client.GetGlobalQuestions(SystemParams.CompanyID, sectionid); + } + return questions; + } + else + return new Question[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object SaveGlobalSection() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = Request.Params["ClientData"]; + string[] ps = JsonConvert.DeserializeObject(clientdata); + bool teamintelligence = Helper.IsTrue(ps[0]); + var data = HttpUtility.HtmlDecode(ps[1]); + Section sec = JsonConvert.DeserializeObject
(data); + + if (string.IsNullOrEmpty(sec.Id)) + sec.Id = Guid.NewGuid().ToString(); + + if (teamintelligence) + { + var client = CreateClient(); + client.UpdateGlobalSectionItem(SystemParams.CompanyID, sec, session.User.UID); + } + else + { + var client = CreateClient(); + client.UpdateGlobalSectionItem(SystemParams.CompanyID, sec, session.User.UID); + } + + return new string[] { sec.Id, "Saved successfully." }; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object SaveGlobalQuestion() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = Request.Params["ClientData"]; + string[] data = JsonConvert.DeserializeObject(clientdata); + bool teamintelligence = Helper.IsTrue(data[0]); + string sectioinid = data[1]; + Question q = JsonConvert.DeserializeObject(HttpUtility.HtmlDecode(data[2])); + + if (teamintelligence) + { + var client = CreateClient(); + if (string.IsNullOrEmpty(q.Id)) + { + q.Id = Guid.NewGuid().ToString(); + client.AddGlobalQuestion(SystemParams.CompanyID, sectioinid, q, session.User.UID); + } + else + { + client.UpdateGlobalQuestion(SystemParams.CompanyID, sectioinid, q, session.User.UID); + } + } + else + { + var client = CreateClient(); + if (string.IsNullOrEmpty(q.Id)) + { + q.Id = Guid.NewGuid().ToString(); + client.AddGlobalQuestion(SystemParams.CompanyID, sectioinid, q, session.User.UID); + } + else + { + client.UpdateGlobalQuestion(SystemParams.CompanyID, sectioinid, q, session.User.UID); + } + } + + return new string[] { q.Id, "Saved successfully." }; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object DeleteGlobalSection() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = Request.Params["ClientData"]; + string[] ps = JsonConvert.DeserializeObject(clientdata); + bool teamintelligence = Helper.IsTrue(ps[0]); + string sectionid = HttpUtility.HtmlDecode(ps[1]); + + if (teamintelligence) + { + var client = CreateClient(); + client.DeleteGlobalSection(SystemParams.CompanyID, sectionid, "", session.User.UID); + } + else + { + var client = CreateClient(); + client.DeleteGlobalSection(SystemParams.CompanyID, sectionid, "", session.User.UID); + } + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object DeleteGlobalQuestion() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = Request.Params["ClientData"]; + string[] ps = JsonConvert.DeserializeObject(clientdata); + bool teamintelligence = Helper.IsTrue(ps[0]); + string questionid = HttpUtility.HtmlDecode(ps[1]); + + if (teamintelligence) + { + var client = CreateClient(); + client.DeleteGlobalQuestion(SystemParams.CompanyID, questionid, "", session.User.UID); + } + else + { + var client = CreateClient(); + client.DeleteGlobalQuestion(SystemParams.CompanyID, questionid, "", session.User.UID); + } + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + private object GetGlobalSectionsByID() + { + try + { + if (GetCurrentLoginSession() != null) + { + string clientdata = Request.Params["ClientData"]; + string[] ps = JsonConvert.DeserializeObject(clientdata); + bool teamintelligence = Helper.IsTrue(ps[0]); + string[] sids = JsonConvert.DeserializeObject(ps[1]); + + Section[] sections = null; + if (teamintelligence) + { + var client = CreateClient(); + sections = client.GetGlobalSection(SystemParams.CompanyID, sids); + } + else + { + var client = CreateClient(); + sections = client.GetGlobalSection(SystemParams.CompanyID, sids); + } + return sections; + } + else + return new Section[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetAssetMakes() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + AssetMake[] makes = CreateClient().GetAssetMakes(string.Empty); + List ls = new List(); + foreach (var mk in makes) + { + AssetMakeItem item = new AssetMakeItem(); + Helper.CloneProperty(item, mk); + ls.Add(item); + } + return ls.OrderBy(m => m.Name).ToArray(); + + } + else + return new AssetMakeItem[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + private object GetAssetModels() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Form["ClientData"]; + string[] ps = JsonConvert.DeserializeObject(clientdata); + int makeid = -1; + int.TryParse(ps[0], out makeid); + var searchtxt = HttpUtility.HtmlDecode(ps[1]); + + AssetModel[] models = CreateClient().GetAssetModels(makeid, searchtxt); + List ls = new List(); + foreach (var md in models) + { + AssetModelItem item = new AssetModelItem(); + Helper.CloneProperty(item, md); + if (md.MakeId > 0) + { + item.MakeID = md.MakeId; + item.MakeName = md.MakeName; + } + if (md.TypeId > 0) + { + item.TypeID = md.TypeId; + item.TypeName = md.TypeName; + } + ls.Add(item); + } + + return ls.OrderBy(m => m.Name).ToArray(); + } + else + return new AssetModelItem[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + private object GetAssetTypes() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + AssetType[] types = CreateClient().GetAssetTypes(SystemParams.CompanyID); + types = types.OrderBy((t) => t.Name).ToArray(); + List list = new List(); + foreach (AssetType md in types) + { + StringKeyValue kv = new StringKeyValue(); + kv.Key = md.ID.ToString(); + kv.Value = md.Name; + list.Add(kv); + } + return list.ToArray(); + + } + else + return new StringKeyValue[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + } + + class AssetInspectInfo : AssetInspectItem + { + public string CommitTimeStr { get { return CommitTime == DateTime.MinValue ? "" : CommitTime.ToString(("M/d/yyyy h:mm tt")); } } + public string CommitTimeLocalStr { get { return CommitTimeLocal == DateTime.MinValue ? "" : CommitTimeLocal.ToString(("M/d/yyyy h:mm tt")); } } + } + class TeamInspectInfo : TeamInspectItem + { + public string CommitTimeStr { get { return CommitTime == DateTime.MinValue ? "" : CommitTime.ToString(("M/d/yyyy h:mm tt")); } } + public string CommitTimeLocalStr { get { return CommitTimeLocal == DateTime.MinValue ? "" : CommitTimeLocal.ToString(("M/d/yyyy h:mm tt")); } } + } + + class InspectReportItem : InspectReportInfo + { + public AssetBasicInfo Asset { get; set; } + public string CommitTimeStr { get { return CommitTime == DateTime.MinValue ? "" : CommitTime.ToString(("M/d/yyyy h:mm tt")); } } + public string CommitTimeLocalStr { get { return CommitTimeLocal == default ? "" : CommitTimeLocal.ToString(("M/d/yyyy h:mm tt")); } } + public List IdentifiedQuestions { get; set; } + } + class IdentifiedQuestionItem : Question + { + public SeverityLeveles IdentifiedSeverityLevel { get; set; } + } + class InspectReportEditItem : InspectReportInfo + { + public AssetBasicInfo Asset { get; set; } + public string CommitTimeStr { get { return CommitTime == DateTime.MinValue ? "" : CommitTime.ToString(("M/d/yyyy h:mm tt")); } } + public string CommitTimeLocalStr { get { return CommitTimeLocal == default ? "" : CommitTimeLocal.ToString(("M/d/yyyy h:mm tt")); } } + public UserEmailInfo[] EmailList { get; set; } + public AssetBasicInfo[] AssetList { get; set; } + public JobSiteLimitItem[] JobSiteList { get; set; } + } +} + diff --git a/IronIntelContractorSiteLib/IronIntelContractorSiteLib.csproj b/IronIntelContractorSiteLib/IronIntelContractorSiteLib.csproj new file mode 100644 index 0000000..8824023 --- /dev/null +++ b/IronIntelContractorSiteLib/IronIntelContractorSiteLib.csproj @@ -0,0 +1,220 @@ + + + + + Debug + AnyCPU + {9D398985-9424-4FC7-A637-6B5B204D8F7C} + Library + Properties + IronIntel.Contractor.Site + iicontractorsitelib + v4.7.2 + 512 + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + + + LHBIS.snk + + + + ..\Reflib\FIC\FICBLC.dll + + + False + ..\Reflib\FIC\FICIntf.dll + + + False + ..\Reflib\FIC\FICIntfAdv.dll + + + ..\Reflib\FICore.dll + + + ..\Reflib\FICore.std.dll + + + ..\Reflib\FIWinLib.dll + + + ..\Reflib\FleetClientBase.dll + + + ..\Reflib\FleetServiceClient.dll + + + ..\Reflib\iisitebase.dll + + + ..\Reflib\iisyslib.dll + + + ..\Reflib\ironcontractorwinlib.dll + + + ..\Site\Bin\IronIntel.Services.Contractor.dll + + + ..\Reflib\IronIntel.Services.CredentialObjects.dll + + + ..\Reflib\IronIntelServiceModel.dll + + + ..\Reflib\Newtonsoft.Json.dll + + + + + + + + + + + + + + + ASPXCodeBehind + + + ASPXCodeBehind + + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + + ASPXCodeBehind + + + ASPXCodeBehind + + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + ASPXCodeBehind + + + + + {515fb61f-f032-4a48-8f32-93b59b9d37f8} + IronIntelContractorBusiness + + + + + + + + + copy "$(TargetFileName)" "$(ProjectDir)\..\Site\Bin\$(TargetFileName)" + + + \ No newline at end of file diff --git a/IronIntelContractorSiteLib/JobSitesBasePage.cs b/IronIntelContractorSiteLib/JobSitesBasePage.cs new file mode 100644 index 0000000..85efa9b --- /dev/null +++ b/IronIntelContractorSiteLib/JobSitesBasePage.cs @@ -0,0 +1,497 @@ +using Foresight.Fleet.Services.JobSite; +using Foresight.Standard; +using IronIntel.Contractor.FilterQ; +using IronIntel.Contractor.JobSites; +using IronIntel.Contractor.Machines; +using IronIntel.Contractor.MapView; +using IronIntel.Contractor.Users; +using IronIntel.Services; +using IronIntel.Services.Business.Admin; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Web; + +namespace IronIntel.Contractor.Site +{ + public class JobSitesBasePage : ContractorBasePage + { + protected void ProcessRequest() + { + object result = null; + try + { + string methodName = Request.Params["MethodName"]; + if (methodName != null) + { + switch (methodName) + { + case "GetJobSites": + result = GetJobSites(); + break; + case "SaveJobSite": + result = SaveJobSite(); + break; + case "DeleteJobSite": + result = DeleteJobSite(); + break; + case "SaveJobSiteMachines": + result = SaveJobSiteMachines(); + break; + case "GetMachines": + result = GetMachines(); + break; + case "GetSelectedAssets": + result = GetSelectedAssets(); + break; + case "AddAssetToJobSite": + result = AddAssetToJobSite(); + break; + case "RemoveAssetFromJobSite": + result = RemoveAssetFromJobSite(); + break; + case "ChangeAssetOnSiteState": + result = ChangeAssetOnSiteState(); + break; + case "GetMachineTypes": + result = GetMachineTypes(); + break; + case "GetMachinesByType": + result = GetMachinesByType(); + break; + case "GetBindingMachines": + result = GetBindingMachines(); + break; + case "ImportJobsitePolygon": + result = ImportJobsitePolygon(); + break; + case "GetJobSiteUsers": + result = GetJobSiteUsers(); + break; + } + } + } + catch (Exception ex) + { + SystemParams.WriteLog("error", "JobSitesBasePage", ex.Message, ex.ToString()); + throw ex; + } + string json = JsonConvert.SerializeObject(result); + Response.Write(json); + Response.End(); + } + + private object GetJobSites() + { + try + { + JobSiteViewItem[] items = null; + if (GetCurrentLoginSession() != null) + { + var s = Request.Form["ClientData"]; + s = HttpUtility.HtmlDecode(s); + + var jss = CreateClient().GetJobSiteItems(SystemParams.CompanyID, s); + List list = new List(); + + foreach (var js in jss) + { + JobSiteViewItem item = new JobSiteViewItem(); + item.ID = js.ID; + item.Name = js.Name; + item.BaseOnMachineID = js.BaseonMachineID; + item.Code = js.Code; + item.Types = new string[] { js.JobSiteTypes }; + item.ColorString = js.Color; + System.Drawing.Color color = System.Drawing.Color.Orange; + try + { + color = System.Drawing.ColorTranslator.FromHtml(item.ColorString); + } + catch + { + } + item.Color = new IIColor() { Alpha = color.A, Red = color.R, Green = color.G, Blue = color.B }; + + item.Latitude = js.Latitude; + item.Longitude = js.Longitude; + item.StartDate = js.StartDate == null ? DateTime.MinValue : js.StartDate.Value; + item.EndDate = js.EndDate == null ? DateTime.MinValue : js.EndDate.Value; + item.Radius = js.Radius; + item.Radius_UOM = js.RadiusUOM; + if (js.Polygon != null && js.Polygon.Length > 0) + { + List temps = new List(); + foreach (var p in js.Polygon) + { + temps.Add(new PostionItem(p.Latitude, p.Longtitude)); + } + item.Polygon = temps.ToArray(); + } + + list.Add(item); + } + items = list.ToArray(); + //items = JobSitesManagement.GetJobSite(s); + } + else + { + items = new JobSiteViewItem[0]; + } + return items; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object SaveJobSite() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var s = Request.Form["ClientData"]; + s = HttpUtility.HtmlDecode(s); + + var js = JsonConvert.DeserializeObject(s); + JobSiteItem jobsite = new JobSiteItem(); + Helper.CloneProperty(jobsite, js); + jobsite.RadiusUOM = js.Radius_UOM; + jobsite.BaseonMachineID = js.BaseOnMachineID; + jobsite.Color = js.ColorString; + jobsite.JobSiteTypes = string.Join(",", js.Types); + if (js.StartDate > Helper.DBMinDateTime) + jobsite.StartDate = js.StartDate; + if (js.EndDate > Helper.DBMinDateTime) + jobsite.EndDate = js.EndDate; + if (js.Polygon != null && js.Polygon.Length > 0) + { + List list = new List(); + foreach (PostionItem pi in js.Polygon) + { + Position p = new Position(pi.Latitude, pi.Longitude); + list.Add(p); + } + jobsite.Polygon = list.ToArray(); + } + + long jobsiteid = CreateClient().SaveJobSite(SystemParams.CompanyID, jobsite, GetCurrentLoginSession().User.UID); + + JobSitesManagement.RefreshJobsiteAssets(session.SessionID, jobsiteid); + + return new string[] { jobsiteid.ToString(), "Saved successfully." }; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private string DeleteJobSite() + { + try + { + var user = GetCurrentUser(); + if (user != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var s = HttpUtility.HtmlDecode(clientdata[0]); + long jsid = Convert.ToInt64(s); + var notes = HttpUtility.HtmlDecode(clientdata[1]); + + CreateClient().DeleteJobSite(SystemParams.CompanyID, jsid, notes, user.IID); + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + private string SaveJobSiteMachines() + { + try + { + if (GetCurrentLoginSession() != null) + { + var s = Request.Form["ClientData"]; + s = HttpUtility.HtmlDecode(s); + var jobsite = JsonConvert.DeserializeObject(s); + + JobSitesManagement.AddMachinesToJobSite(jobsite); + + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private AssetViewItem[] GetMachines() + { + var session = GetCurrentLoginSession(); + if (session != null) + { + AssetViewItem[] items = AssetMapViewManagement.GetAssets(session.SessionID, SystemParams.CompanyID, session.User.UID, "", -1, null, false); + return items; + } + return new AssetViewItem[0]; + } + + private object[] GetSelectedAssets() + { + var u = GetCurrentUser(); + if (u != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var companyid = HttpUtility.HtmlDecode(clientdata[0]); + if (string.IsNullOrEmpty(companyid)) + { + companyid = SystemParams.CompanyID; + } + var jobsiteid = long.Parse(clientdata[1]); + var jobsites = CreateClient(companyid).GetAssetsCurrentInJobSite(companyid, jobsiteid); + return jobsites.Select(i => new + { + i.AssetId, + i.OnSite, + Name = string.IsNullOrEmpty(i.AssetName2) ? i.AssetName : i.AssetName2, + i.VIN, + i.MakeName, + i.ModelName, + i.TypeName + }).ToArray(); + } + return new object[0]; + } + + private string AddAssetToJobSite() + { + try + { + var u = GetCurrentUser(); + if (u != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var companyId = HttpUtility.HtmlDecode(clientdata[0]); + if (string.IsNullOrEmpty(companyId)) + { + companyId = SystemParams.CompanyID; + } + var jobsiteid = long.Parse(clientdata[1]); + var machineids = HttpUtility.HtmlDecode(clientdata[2]); + + var ids = JsonConvert.DeserializeObject(machineids); + + var client = CreateClient(companyId); + foreach (var id in ids) + { + client.AddAssetToJobSite(companyId, jobsiteid, id, false, u.IID); + } + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + SystemParams.WriteLog("error", "JobSitesBasePage.AddAssetToJobSite", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private string RemoveAssetFromJobSite() + { + try + { + var u = GetCurrentUser(); + if (u != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var companyId = HttpUtility.HtmlDecode(clientdata[0]); + if (string.IsNullOrEmpty(companyId)) + { + companyId = SystemParams.CompanyID; + } + var jobsiteid = long.Parse(clientdata[1]); + var machineids = HttpUtility.HtmlDecode(clientdata[2]); + + var ids = JsonConvert.DeserializeObject(machineids); + + var client = CreateClient(companyId); + foreach (var id in ids) + { + client.RemoveAssetFromJobSite(companyId, jobsiteid, id, u.IID); + } + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + SystemParams.WriteLog("error", "JobSitesBasePage.RemoveAssetFromJobSite", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private string ChangeAssetOnSiteState() + { + try + { + var u = GetCurrentUser(); + if (u != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var companyId = HttpUtility.HtmlDecode(clientdata[0]); + if (string.IsNullOrEmpty(companyId)) + { + companyId = SystemParams.CompanyID; + } + var jobsiteid = long.Parse(clientdata[1]); + var assetid = long.Parse(clientdata[2]); + var onsite = (clientdata[3] == "1"); + + CreateClient(companyId).ChangeAssetOnSiteState(companyId, jobsiteid, assetid, onsite, u.IID); + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + SystemParams.WriteLog("error", "JobSitesBasePage.ChangeAssetOnSiteState", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private MachineViewItem[] GetBindingMachines() + { + var session = GetCurrentLoginSession(); + MachineViewItem[] items = JobSitesManagement.GetBindingMachines(session.SessionID, session.User.UID); + if (items != null) + { + items = items.OrderBy((m) => m.ShowName).ToArray(); + } + return items; + } + + private MachineTypeItem[] GetMachineTypes() + { + MachineTypeItem[] types = JobSitesManagement.GetMachineTypes(); + if (types != null) + { + types = types.OrderBy((t) => t.Name).ToArray(); + } + return types; + } + + private AvailableMachines GetMachinesByType() + { + var session = GetCurrentLoginSession(); + var p = Request.Form["ClientData"]; + p = HttpUtility.HtmlDecode(p); + var param = JsonConvert.DeserializeObject(p); + + AvailableMachines machines = JobSitesManagement.GetMachineViewItemByType(session.SessionID, param.JobSiteID, param.MachineTypeID, param.SearchText, session.User.UID); + return machines; + } + + private object ImportJobsitePolygon() + { + try + { + if (GetCurrentLoginSession() != null) + { + string clientdata = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + string fileName = clientdata; + + HttpPostedFile uploadFile = null; + byte[] buffer = null; + if (Request.Files.Count > 0) + { + uploadFile = Request.Files[0]; + buffer = ConvertFile2bytes(uploadFile); + } + + return JobSitesManagement.ImportJobsitePolygon(fileName, buffer); + } + else + { + return null; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetJobSiteUsers() + { + try + { + UserNameInfoItem[] items = null; + if (GetCurrentLoginSession() != null) + { + var data = HttpUtility.HtmlDecode(Request.Form["ClientData"]); + var jobsiteid = long.Parse(data); + var users = CreateClient().GetJobisteUserNamesList(SystemParams.CompanyID, jobsiteid); + + List list = new List(); + foreach (var user in users) + { + UserNameInfoItem ui = new UserNameInfoItem(); + Helper.CloneProperty(ui, user); + list.Add(ui); + } + items = list.ToArray(); + } + else + { + items = new UserNameInfoItem[0]; + } + return items; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private class JobSiteMahcineQueryItem + { + public string JobSiteID { get; set; } + public string MachineTypeID { get; set; } + public string SearchText { get; set; } + } + + } +} diff --git a/IronIntelContractorSiteLib/LHBIS.snk b/IronIntelContractorSiteLib/LHBIS.snk new file mode 100644 index 0000000000000000000000000000000000000000..bb71a518ae18e6b1c7a4e4057c21ed4835d06325 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50096Q7aUpkzAcz{f1?NoVA^#YGG&FB;24!K zA}o<$oj}Pmr@nu)WLKLdhvJ&Zz!$`=k+xr`J+?c@()h@$k}R$hnW0rV^$C5Kum4$; z+XTM@92|Mej@SPaq73zx8+M~_zKRrSnG1f+bK!}MsPdeo+l~XUVGwiq@v#SySMFdkPZSmM)V=d*k?r+p$x3g}z^aMtH5 z))e(^i$yr10bjIN;av5@vTp{hMS-@N`&@K&y+J3R7)$h)5p6~*L0EWQmC7p{P`Eza z(qfoFG3H#W${6KjY!rS+)Z>DHWbci0L_zed;w@XjZlNG0ZfEDu z{ZfVGta?zX3SCX10hVT&Hk1jmM#r~{F7y9!6a`DZ4^m-b#zVUAF3i+uEom-IIuQSG zu@?e^D|w$%+}lvRY`|SDV7Tr=A=()Q2<1YHeNvvM(ZWqE-ojNJrSOhAUUG=qUXE2k zJW|#B&Kx((}^bv(1b`^)vK&u1vBGrEkJZB)R z`Y=PluLp4MAwrjFP#nGR7g}$Y5w^u;;;Kmbh!8LT^Q=q+od-+AB#5Km=RHg+Zhb*K io9yj01-4rzdKT^W^o@#D#4ZRMJwq_OGP_&tu^g1TCKPi3 literal 0 HcmV?d00001 diff --git a/IronIntelContractorSiteLib/MachineDeviceBasePage.cs b/IronIntelContractorSiteLib/MachineDeviceBasePage.cs new file mode 100644 index 0000000..96a5b63 --- /dev/null +++ b/IronIntelContractorSiteLib/MachineDeviceBasePage.cs @@ -0,0 +1,2419 @@ +using Foresight.Data; +using Foresight.Fleet.Services; +using Foresight.Fleet.Services.Asset; +using Foresight.Fleet.Services.Device; +using Foresight.Fleet.Services.JobSite; +using Foresight.Fleet.Services.User; +using Foresight.ServiceModel; +using IronIntel.Contractor.Contact; +using IronIntel.Contractor.Device; +using IronIntel.Contractor.JobSites; +using IronIntel.Contractor.Machines; +using IronIntel.Contractor.MapView; +using IronIntel.Contractor.Users; +using IronIntel.Services; +using IronIntel.Services.Business.Admin; +using IronIntel.Services.Contractor; +using IronIntel.Services.Contractor.Machine; +using IronIntel.Services.Customers; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Web; +using FFSDevice = Foresight.Fleet.Services.Device; + +namespace IronIntel.Contractor.Site +{ + public class MachineDeviceBasePage : ContractorBasePage + { + protected void ProcessRequest(string method) + { + object result = null; + try + { + string methodName = Request.Params["MethodName"]; + if (methodName != null) + { + switch (methodName.ToUpper()) + { + case "GETMACHINES": + result = GetMachines(); + break; + case "GETGPSDEVICES": + result = GetGPSDevices(); + break; + case "SAVEGPSDEVICE": + result = SaveGPSDevice(); + break; + case "GETGPSSOURCES": + result = GetGPSSources(); + break; + case "CHANGEGPSCONTRACTOR": + result = ChangeGPSContractor(); + break; + case "GETDEVICECOMMENTS": + result = GetDeviceComments(); + break; + case "ADDDEVICECOMMENT": + result = AddDeviceComment(); + break; + case "GETMACHINETYPES": + result = GetMachineTypes(); + break; + case "GETCONTRACTORS": + result = GetContractors(); + break; + case "GETCONTRACTORSBYUSER": + result = GetContractorsByUser(); + break; + case "SAVEMACHINEGROUP": + result = SaveMachineGroup(); + break; + case "SAVEASSETGROUP": + result = SaveAssetGroup(); + break; + case "DELETEMACHINEGROUP": + result = DeleteMachineGroup(); + break; + case "DELETEASSETGROUP": + result = DeleteAssetGroup(); + break; + case "GETMACHINEGROUPS": + result = GetMachineGroups(); + break; + case "GETASSETGROUPS": + result = GetAssetGroups(); + break; + case "GETASSETLIST": + result = GetAssetList(); + break; + case "GETJOBSITEASSETLIST": + result = GetJobsiteAssetList(); + break; + case "GETMACHINESBYGROUP": + result = GetMachinesByGroup(); + break; + case "GETASSETSBYGROUP": + result = GetAssetsByGroup(); + break; + case "GETMACHINEGROUPBYUSER": + result = GetMachineGroupByUser(); + break; + case "SAVEMACHINEMAKE": + result = SaveMachineMake(); + break; + case "SAVEMACHINEMODEL": + result = SaveMachineModel(); + break; + case "DELETEMACHINEMAKE": + result = DeleteMachineMake(); + break; + case "DELETEMACHINEMODEL": + result = DeleteMachineModel(); + break; + case "GETASSETMAKES": + result = GetAssetMakes(); + break; + case "GETASSETMODELS": + result = GetAssetModels(); + break; + case "GETACTIVEJOBSITES": + result = GetActiveJobsites(); + break; + case "GETCONTACTS": + result = GetContacts(); + break; + case "CHANGEMACHINEICONFILE": + result = ChangeMachineIconFile(); + break; + case "SEARCHRENTALS": + result = SearchRentals(); + break; + case "SEARCHRENTALSBYASSET": + result = SearchRentalsByAsset(); + break; + case "GETRENTALINFO": + result = GetRentalInfo(); + break; + case "SAVERENTAL": + result = SaveRental(); + break; + case "DELETERENTAL": + result = DeleteRental(); + break; + case "GETSELECTMACHINESBYCOMPANY": + result = GetSelectMachinesByCompany(); + break; + case "SEARCHRENTALCHANGEHISTORY": + result = SearchRentalChangeHistory(); + break; + case "GETMACHINEDETAILURL": + result = GetMachineDetailURL(); + break; + case "GETSELECTMACHINESBYRENTAL": + result = GetSelectMachinesByRental(); + break; + case "GETATTACHMENTS": + result = GetAttachments(); + break; + case "ADDATTACHMENT": + result = AddAttachment(); + break; + case "DELETEATTACHMENT": + result = DeleteAttachment(); + break; + case "GETASSETCURRENTODOMETER": + result = GetAssetCurrentOdometer(); + break; + case "SAVEADJUSTODOMETER": + result = SaveAdjustOdometer(); + break; + case "GETASSETCURRENTENGINEHOURS": + result = GetAssetCurrentEngineHours(); + break; + case "SAVEADJUSTENGINEHOURS": + result = SaveAdjustEngineHours(); + break; + case "GETASSETCURRENTLOCATION": + result = GetAssetCurrentLocation(); + break; + case "GETASSETCURRENTIDLEHOURS": + result = GetAssetCurrentIdleHours(); + break; + case "GETASSETCURRENTFUELUSED": + result = GetAssetCurrentFuelUsed(); + break; + case "CHANGEPRIMARYDATASOURCE": + result = ChangePrimaryDataSource(); + break; + case "GETCALAMPODOMETERHISTORY": + result = GetCalampOdometerHistory(); + break; + case "GETCALAMPODOMETERHISTORYPREVIEW": + result = GetCalampOdometerHistoryPreview(); + break; + case "GETPEDIGREEODOMETERHISTORY": + result = GetPedigreeOdometerHistory(); + break; + case "GETPEDIGREEODOMETERHISTORYPREVIEW": + result = GetPedigreeOdometerHistoryPreview(); + break; + case "GETTIMEZONES": + result = GetTimeZones(); + break; + case "GETCALAMPENGINEHOURSHISTORY": + result = GetCalampEngineHoursHistory(); + break; + case "GETCALAMPENGINEHOURSHISTORYPREVIEW": + result = GetCalampEngineHoursHistoryPreview(); + break; + case "GETPEDIGREEENGINEHOURSHISTORY": + result = GetPedigreeEngineHoursHistory(); + break; + case "GETPEDIGREEENGINEHOURSHISTORYPREVIEW": + result = GetPedigreeEngineHoursHistoryPreview(); + break; + case "CHECKODOMETERMINNIMUMTIME": + result = CheckOdometerMinnimumTime(); + break; + case "CHECKENGINEHOURMINIMUMTIME": + result = CheckEngineHourMinimumTime(); + break; + case "GETUSERPERMISSION": + result = GetUserPermission(); + break; + case "ADDMANUALLYINPUTODOMETER": + result = AddManuallyInputOdometer(); + break; + case "ADDMANUALLYINPUTENGINEHOURS": + result = AddManuallyInputEngineHours(); + break; + } + } + } + catch (Exception ex) + { + SystemParams.WriteLog("error", "MachineDeviceBasePage", ex.Message, ex.ToString()); + throw ex; + } + string json = JsonConvert.SerializeObject(result); + Response.Write(json); + Response.End(); + } + + #region Rentals + + private object SearchRentals() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var companyid = HttpUtility.HtmlDecode(clientdata[0]); + var searchtext = HttpUtility.HtmlDecode(clientdata[1]); + var sdate = HttpUtility.HtmlDecode(clientdata[2]); + var edate = HttpUtility.HtmlDecode(clientdata[3]); + var machineid = HttpUtility.HtmlDecode(clientdata[4]); + + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + + if (string.IsNullOrWhiteSpace(companyid) && SystemParams.IsDealer) + return new MachineRentalInfo[0]; + + AssetRentalInfo[] rentalinfos = CreateClient(companyid).GetAssetRentals(companyid, searchtext, session.User.UID); + if (rentalinfos == null) + return new MachineRentalInfo[0]; + + List rentals = new List(); + foreach (AssetRentalInfo ri in rentalinfos) + { + MachineRentalInfo mi = new MachineRentalInfo(); + Helper.CloneProperty(mi, ri); + mi.RentalRate = (decimal)ri.RentalRate; + rentals.Add(mi); + } + + if (!string.IsNullOrWhiteSpace(machineid)) + rentals = rentals.Where(m => m.MachineID == Convert.ToInt64(machineid)).ToList(); + + if (!string.IsNullOrWhiteSpace(sdate)) + { + DateTime startdate = Convert.ToDateTime(sdate); + rentals = rentals.Where(m => m.RentalDate >= startdate).ToList(); + } + if (!string.IsNullOrWhiteSpace(edate)) + { + DateTime enddate = Convert.ToDateTime(edate).AddDays(1).AddSeconds(-1); + rentals = rentals.Where(m => m.RentalDate <= enddate).ToList(); + } + + return rentals.OrderBy(m => m.RentalDate); + } + else + return new MachineRentalInfo[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + private object SearchRentalsByAsset() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string data = Request.Params["ClientData"]; + string[] ps = JsonConvert.DeserializeObject(data); + string companyid = ps[0]; + long assetid = 0; + long.TryParse(ps[1], out assetid); + + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + + if (string.IsNullOrWhiteSpace(companyid) && SystemParams.IsDealer) + return new MachineRentalInfo[0]; + + AssetRentalInfo[] rentalinfos = CreateClient(companyid).SearchRentalsByAsset(companyid, assetid, session.User.UID); + if (rentalinfos == null) + return new MachineRentalInfo[0]; + + List rentals = new List(); + foreach (AssetRentalInfo ri in rentalinfos) + { + MachineRentalInfo mi = new MachineRentalInfo(); + Helper.CloneProperty(mi, ri); + mi.RentalRate = (decimal)ri.RentalRate; + rentals.Add(mi); + } + + if (rentals != null && rentals.Count > 0) + { + DateTime nowdate = DateTime.Now; + //当前时间所在的rental + MachineRentalInfo rental = rentals.FirstOrDefault(m => m.RentalDate <= nowdate && nowdate.Date <= ((m.ReturnDate ?? m.ProjectReturnDate ?? DateTime.MaxValue))); + if (rental == null)//当前时间的下一个rental + rental = rentals.Where(m => m.RentalDate >= nowdate.Date).OrderBy(m => m.RentalDate).FirstOrDefault(); + if (rental == null)//最新rental + rental = rentals[0]; + + rental.Selected = true; + } + if (rentals == null) + return new MachineRentalInfo[0]; + + return rentals.OrderBy(m => m.RentalDate); + } + else + return new MachineRentalInfo[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object SearchRentalChangeHistory() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var companyid = HttpUtility.HtmlDecode(clientdata[0]); + var searchtext = HttpUtility.HtmlDecode(clientdata[1]); + var sdate = HttpUtility.HtmlDecode(clientdata[2]); + var edate = HttpUtility.HtmlDecode(clientdata[3]); + var machineid = HttpUtility.HtmlDecode(clientdata[4]); + var rentalid = HttpUtility.HtmlDecode(clientdata[5]); + + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + + if (string.IsNullOrWhiteSpace(companyid) && SystemParams.IsDealer) + return new RentalChangeHistoryInfo[0]; + + AssetRentalChangeHistoryInfo[] assetrentals = CreateClient(companyid).GetAssetRentalChangeHistory(companyid, Convert.ToInt64(rentalid)); + if (assetrentals == null) + return new RentalChangeHistoryInfo[0]; + List rentals = new List(); + foreach (AssetRentalChangeHistoryInfo ari in assetrentals) + { + RentalChangeHistoryInfo mri = new RentalChangeHistoryInfo(); + Helper.CloneProperty(mri, ari); + mri.RentalRate = (decimal)ari.RentalRate; + rentals.Add(mri); + } + + if (!string.IsNullOrWhiteSpace(sdate)) + { + DateTime startdate = Convert.ToDateTime(sdate); + rentals = rentals.Where(m => m.RentalDate >= startdate).ToList(); + } + if (!string.IsNullOrWhiteSpace(edate)) + { + DateTime enddate = Convert.ToDateTime(edate).AddDays(1).AddSeconds(-1); + rentals = rentals.Where(m => m.RentalDate <= enddate).ToList(); + } + return rentals.OrderBy(m => m.LastUpdateDate); + } + else + return new MachineRentalInfo[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + private object GetRentalInfo() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var companyid = HttpUtility.HtmlDecode(clientdata[0]); + var rentalid = HttpUtility.HtmlDecode(clientdata[1]); + + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + + if (string.IsNullOrWhiteSpace(companyid) && SystemParams.IsDealer) + return new MachineRentalInfo[0]; + + AssetRentalInfo rentalinfo = CreateClient(companyid).GetAssetRentalInfo(companyid, Convert.ToInt64(rentalid)); + + MachineRentalInfo rental = new MachineRentalInfo(); + Helper.CloneProperty(rental, rentalinfo); + rental.RentalRate = (decimal)rentalinfo.RentalRate; + return rental; + } + else + return new MachineRentalInfo(); + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object SaveRental() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var companyid = HttpUtility.HtmlDecode(clientdata[0]); + var data = HttpUtility.HtmlDecode(clientdata[1]); + MachineRentalInfo rentalInfo = JsonConvert.DeserializeObject(data); + + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + + AssetRentalInfo rental = new AssetRentalInfo(); + Helper.CloneProperty(rental, rentalInfo); + rental.RentalRate = (double)rentalInfo.RentalRate; + long rentalid = CreateClient(companyid).SaveAssetRental(companyid, rental, session.User.UID); + + return rentalid; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object DeleteRental() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var companyid = HttpUtility.HtmlDecode(clientdata[0]); + var id = HttpUtility.HtmlDecode(clientdata[1]); + long rentalid = Convert.ToInt64(id); + + if (!SystemParams.IsDealer) + companyid = SystemParams.CompanyID; + + CreateClient(companyid).DeleteAssetRental(companyid, rentalid, session.User.UID); + + return "OK"; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetSelectMachinesByCompany() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var companyid = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + + FISqlConnection db = null; + if (SystemParams.IsDealer) + { + string connetionstring = SystemParams.GetDbStringByCompany(companyid); + db = new FISqlConnection(connetionstring); + } + MachineItem[] machines = MachineManagement.GetMachines(session.User.UID, "", companyid); + if (machines == null) + return new MachineItem[0]; + + return machines.Where(m => m.Hide == false).OrderBy(m => m.ShowName).ToArray(); + } + else + return new MachineItem[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + + private object GetSelectMachinesByRental() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var companyid = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + + FISqlConnection db = null; + if (SystemParams.IsDealer) + { + string connetionstring = SystemParams.GetDbStringByCompany(companyid); + db = new FISqlConnection(connetionstring); + } + MachineItem[] machines = MachineManagement.GetSelectMachinesByRental(session.SessionID, session.User.UID, "", companyid); + if (machines == null) + return new MachineItem[0]; + + return machines.Where(m => m.Hide == false).OrderBy(m => m.ShowName).ToArray(); + } + else + return new MachineItem[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + #endregion + + private object SaveGPSDevice() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Form["ClientData"]; + var data = HttpUtility.HtmlDecode(clientdata); + DeviceItem deviceitem = JsonConvert.DeserializeObject(data); + if (string.IsNullOrWhiteSpace(deviceitem.ContractorID)) + deviceitem.ContractorID = SystemParams.CompanyID; + + FFSDevice.DeviceInfo device = new FFSDevice.DeviceInfo(); + Helper.CloneProperty(device, deviceitem); + if (deviceitem.PairedAsset != null && deviceitem.PairedAsset.Id > 0) + device.PairedAsset = new PairedAssetInfo() { Id = deviceitem.PairedAsset.Id }; + + if (device.Id < 0) + device = CreateClient(deviceitem.ContractorID).AddNewDevice(deviceitem.ContractorID, device, session.User.UID); + else + CreateClient(deviceitem.ContractorID).UpdateDevice(deviceitem.ContractorID, device, session.User.UID); + + //Device Assignment + //List list = new List(); + //StringKeyValue kv = new StringKeyValue(); + //kv.Key = device.Id.ToString(); + //kv.Value = mid; + //kv.Tag1 = device.ContractorID; + //kv.Tag2 = device.Notes; + //list.Add(kv); + //MachineServiceClient2 mc = SystemParams.GetMachineServiceClient(); + //mc.SaveDeviceAssignments(0, list.ToArray());//修改Admin数据库 + //SaveDeviceAssignments(list[0], session.User.UID);//修改本地数据库 + + return new string[] { device.Id.ToString(), "OK" }; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + private object GetGPSDevices() + { + try + { + if (GetCurrentLoginSession() != null) + { + string data = Request.Params["ClientData"]; + string[] ps = JsonConvert.DeserializeObject(data); + string contractorid = ps[0]; + if (string.IsNullOrEmpty(contractorid)) + contractorid = SystemParams.CompanyID; + string searchtxt = HttpUtility.HtmlDecode(ps[1]); + FFSDevice.DeviceInfo[] devs = CreateClient(contractorid).GetDevices(contractorid, searchtxt); + List list = new List(); + foreach (var dev in devs) + { + DeviceItem deviceitem = new DeviceItem(); + Helper.CloneProperty(deviceitem, dev); + + if (dev.PairedAsset != null) + { + deviceitem.PairedAsset = new PairedAssetItem(); + Helper.CloneProperty(deviceitem.PairedAsset, dev.PairedAsset); + } + + list.Add(deviceitem); + } + + return list.ToArray(); + } + else + { + return new DeviceItem[0]; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + private object ChangeGPSContractor() + { + try + { + var user = GetCurrentUser(); + if (user != null) + { + string data = Request.Params["ClientData"]; + string[] ps = JsonConvert.DeserializeObject(data); + long deviceid = -1; + long.TryParse(ps[0], out deviceid); + string newcontractorid = ps[1]; + string notes = HttpUtility.HtmlDecode(ps[2]); + CreateClient().ChangeDeviceContractor(deviceid, newcontractorid, notes, user.IID); + + return "OK"; + } + else + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + private object GetGPSSources() + { + try + { + if (GetCurrentLoginSession() != null) + { + return FFSDevice.DeviceInfo.DEVICESES; + } + else + { + return new KeyValuePair(); + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetDeviceComments() + { + try + { + if (GetCurrentLoginSession() != null) + { + string clientdata = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + string[] ps = JsonConvert.DeserializeObject(clientdata); + string contractorid = ps[0]; + if (string.IsNullOrEmpty(contractorid)) + contractorid = SystemParams.CompanyID; + long deviceid = 0; + long.TryParse(ps[1], out deviceid); + + CommentInfo[] comments = CreateClient(contractorid).GetDeviceComments(contractorid, deviceid); + List list = new List(); + foreach (var c in comments) + { + CommentItem citem = new CommentItem(); + Helper.CloneProperty(citem, c); + + list.Add(citem); + } + + return list.ToArray(); + } + else + { + return new CommentItem[0]; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object AddDeviceComment() + { + try + { + var user = GetCurrentUser(); + if (user != null) + { + string clientdata = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + string[] ps = JsonConvert.DeserializeObject(clientdata); + string contractorid = ps[0]; + if (string.IsNullOrEmpty(contractorid)) + contractorid = SystemParams.CompanyID; + long deviceid = 0; + long.TryParse(ps[1], out deviceid); + string comment = ps[2]; + + CreateClient(contractorid).SubmitDeviceComment(contractorid, user.IID, deviceid, comment); + } + return ""; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetMachines() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string searchtxt = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + + long[] localmachines = null; + var user = Users.UserManagement.GetUserByIID(session.User.UID); + if (user.UserType < Users.UserTypes.Admin) + localmachines = CreateClient().GetAvailableAssetsForUsers(SystemParams.CompanyID, session.User.UID); + + MachineServiceClient2 mc = SystemParams.GetMachineServiceClient(); + MachineInfo2[] machines = mc.GetMachineInfoItemsByCompanyID(SystemParams.CompanyID, searchtxt); + List list = new List(); + if (machines != null && machines.Length > 0) + { + CustomerProvider cust = SystemParams.GetCustomerProvider(); + CustomerInfo[] companys = cust.GetCustomers(""); + + foreach (var mi in machines) + { + if (mi.Hide) + continue; + if (!SystemParams.IsDealer && user.UserType < Users.UserTypes.Admin && !localmachines.Contains(mi.MachineID)) + continue;//Contractor站点需要获取有权限的机器 + MachineItem machineitem = new MachineItem(); + Helper.CloneProperty(machineitem, mi); + machineitem.EngineHours = Math.Round(machineitem.EngineHours, 2); + CustomerInfo dcompany = companys.FirstOrDefault(m => m.ID == machineitem.DealerID); + if (dcompany != null) + machineitem.Dealer = dcompany.Name; + CustomerInfo ccompany = companys.FirstOrDefault(m => m.ID == machineitem.ContractorID); + if (ccompany != null) + machineitem.Contractor = ccompany.Name; + list.Add(machineitem); + } + } + return list.OrderBy((m) => m.VIN).ToArray(); + } + else + return new MachineItem[0]; + } + catch (Exception ex) + { + AddLog("ERROR", "MachineDeviceBasePage.GetMachines", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object GetContractors() + { + try + { + if (GetCurrentLoginSession() != null) + { + string searchtxt = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + + CustomerProvider cust = SystemParams.GetCustomerProvider(); + CustomerInfo[] compnays = cust.GetContractors(SystemParams.CompanyID); + + List list = new List(); + foreach (var cm in compnays) + { + StringKeyValue kv = new StringKeyValue(); + kv.Key = cm.ID; + kv.Value = cm.Name; + list.Add(kv); + } + return list.OrderBy((m) => m.Value).ToArray(); + + } + else + return new StringKeyValue[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetMachineTypes() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + AssetType[] types = CreateClient().GetAssetTypes(SystemParams.CompanyID); + types = types.OrderBy((t) => t.Name).ToArray(); + List list = new List(); + foreach (AssetType md in types) + { + StringKeyValue kv = new StringKeyValue(); + kv.Key = md.ID.ToString(); + kv.Value = md.Name; + list.Add(kv); + } + return list.ToArray(); + + } + else + return new StringKeyValue[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetContractorsByUser() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + CustomerInfo[] companys = GetCompanyIDByUserIID(session.User.UID); + if (companys == null || companys.Length <= 0) + return new StringKeyValue[0]; + + List list = new List(); + foreach (var cm in companys) + { + StringKeyValue kv = new StringKeyValue(); + kv.Key = cm.ID; + kv.Value = cm.Name; + list.Add(kv); + } + + return list.OrderBy((m) => m.Value).ToArray(); + + } + else + return new StringKeyValue[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + //delear可操作的contractor + private CustomerInfo[] GetCompanyIDByUserIID(string useriid) + { + CustomerProvider cust = SystemParams.GetCustomerProvider(); + CustomerInfo[] allcompany = cust.GetContractors(SystemParams.CompanyID); + string[] contractors = Acl.GetUserAvailableContractors(useriid); + + if (contractors != null && contractors.Length > 0) + { + List list = new List(); + foreach (string id in contractors) + { + if (!string.IsNullOrWhiteSpace(id)) + { + CustomerInfo ci = allcompany.FirstOrDefault(m => m.ID == id); + + if (ci != null) + list.Add(ci); + } + } + return list.ToArray(); + } + else + return null; + } + + private object SaveMachineGroup() + { + if (GetCurrentLoginSession() != null) + { + string clientdata = Request.Form["ClientData"]; + clientdata = HttpUtility.HtmlDecode(clientdata); + MachineGroup mg = JsonConvert.DeserializeObject(clientdata); + + MachineManagement.SaveMachineGroup(mg); + + return "OK"; + } + return "Failed"; + } + + private object SaveAssetGroup() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = Request.Form["ClientData"]; + clientdata = HttpUtility.HtmlDecode(clientdata); + AssetGroupInfo ag = JsonConvert.DeserializeObject(clientdata); + if (string.IsNullOrEmpty(ag.Id)) + { + // add + ag.Id = Guid.NewGuid().ToString(); + } + CreateClient().UpdataAssetGroup(SystemParams.CompanyID, ag, session.User.UID); + return ag.Id; + } + return "Failed"; + } + catch (Exception ex) + { + AddLog("ERROR", "MachineDeviceBasePage.SaveAssetGroup", ex.Message, ex.ToString()); + return "Failed to save asset group: " + ex.Message; + } + } + + private object DeleteMachineGroup() + { + if (GetCurrentLoginSession() != null) + { + string clientdata = Request.Form["ClientData"]; + string groupID = HttpUtility.HtmlDecode(clientdata); + + int result = MachineManagement.DeleteMachineGroup(groupID); + if (result == -1) + return "-1"; + + return "OK"; + } + return "Failed"; + } + + private object DeleteAssetGroup() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = Request.Form["ClientData"]; + string groupID = HttpUtility.HtmlDecode(clientdata); + + CreateClient().DeleteAssetGroup(SystemParams.CompanyID, groupID, session.User.UID); + + return "OK"; + } + return "Failed"; + } + catch (Exception ex) + { + AddLog("ERROR", "MachineDeviceBasePage.DeleteAssetGroup", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object GetMachineGroups() + { + try + { + if (GetCurrentLoginSession() != null) + { + + var clientdata = Request.Form["ClientData"].Split((char)170); + var companyid = HttpUtility.HtmlDecode(clientdata[0]); + var searchtext = HttpUtility.HtmlDecode(clientdata[1]); + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + + FISqlConnection db = null; + if (SystemParams.IsDealer) + { + string connetionstring = SystemParams.GetDbStringByCompany(companyid); + db = new FISqlConnection(connetionstring); + } + + var groups = MachineManagement.GetMachineGroups(searchtext, db); + return groups.OrderBy((m) => m.GroupName).ToArray(); + } + else + return new MachineItem[0]; + } + catch (Exception ex) + { + AddLog("ERROR", "MachineDeviceBasePage.GetMachineGroups", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object GetAssetGroups() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + + var clientdata = Request.Form["ClientData"].Split((char)170); + var companyid = HttpUtility.HtmlDecode(clientdata[0]); + var searchtext = HttpUtility.HtmlDecode(clientdata[1]); + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + + var groups = CreateClient(companyid).GetAssetGroups(companyid, searchtext, session.User.UID); + return groups.OrderBy(g => g.Name).ToArray(); + } + else + return new AssetGroupInfo[0]; + } + catch (Exception ex) + { + AddLog("ERROR", "MachineDeviceBasePage.GetAssetGroups", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object GetAssetList() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + + var clientdata = Request.Form["ClientData"].Split((char)170); + var companyid = HttpUtility.HtmlDecode(clientdata[0]); + var searchtext = HttpUtility.HtmlDecode(clientdata[1]); + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + var hidden = (clientdata[2] == "1"); + + var items = CreateClient(companyid).GetAssetListItemsByUser(companyid, session.User.UID, searchtext, hidden); + return items.OrderBy(g => g.VIN).Select(i => new + { + i.Id, + Name = string.IsNullOrEmpty(i.Name2) ? i.Name : i.Name2, + i.VIN, + i.MakeName, + i.ModelName, + i.TypeName, + EngineHours = Math.Round(i.EngineHours ?? 0, 2), + Odometer = Math.Round(i.Odometer ?? 0, 2) + }).ToArray(); + } + else + return new AssetGroupInfo[0]; + } + catch (Exception ex) + { + AddLog("ERROR", "MachineDeviceBasePage.GetAssetList", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object GetJobsiteAssetList() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + + var clientdata = Request.Form["ClientData"].Split((char)170); + var companyid = HttpUtility.HtmlDecode(clientdata[0]); + var searchtext = HttpUtility.HtmlDecode(clientdata[1]); + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + var jobsiteid = long.Parse(clientdata[2]); + + var items = CreateClient(companyid).GetAssetsNotInJobSite(companyid, jobsiteid, searchtext, session.User.UID); + return items.Select(i => new + { + Id = i.AssetId, + Name = string.IsNullOrEmpty(i.AssetName2) ? i.AssetName : i.AssetName2, + i.VIN, + i.MakeName, + i.ModelName, + i.TypeName, + DistanceFromSite = Math.Round(i.DistanceFromSite, 2), + i.DistanceUnits, + i.Suggested + }).ToArray(); + } + else + return new AssetGroupInfo[0]; + } + catch (Exception ex) + { + AddLog("ERROR", "MachineDeviceBasePage.GetJobsiteAssetList", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object GetMachineGroupByUser() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var groups = MachineManagement.GetMachineGroupByUser(session.User.UID); + + return groups.OrderBy((m) => m.GroupName).ToArray(); + } + else + return new MachineItem[0]; + } + catch (Exception ex) + { + AddLog("ERROR", "MachineDeviceBasePage.GetMachineGroupByUser", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object GetMachinesByGroup() + { + try + { + var session = GetCurrentLoginSession(); + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"]; + var groupid = HttpUtility.HtmlDecode(clientdata); + + var allMachines = MachineManagement.GetMachines(session.SessionID, "", ""); + var machines = MachineManagement.GetMachineByGroup(groupid); + MachineGroupInfoItem mgi = new MachineGroupInfoItem(); + mgi.AllMachines = allMachines.Where(m => m.Hide == false).OrderBy((m) => m.VIN).ToArray(); + mgi.Machines = machines.OrderBy((m) => m.VIN).ToArray(); + + return mgi; + } + else + return ""; + } + catch (Exception ex) + { + AddLog("ERROR", "MachineDeviceBasePage.GetMachinesByGroup", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object GetAssetsByGroup() + { + try + { + var session = GetCurrentLoginSession(); + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"]; + var groupid = HttpUtility.HtmlDecode(clientdata); + + return CreateClient().GetAssetsByAssetGroup(SystemParams.CompanyID, groupid); + } + else + return ""; + } + catch (Exception ex) + { + AddLog("ERROR", "MachineDeviceBasePage.GetAssetsByGroup", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object GetAssetMakes() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Form["ClientData"]; + var searchtxt = HttpUtility.HtmlDecode(clientdata); + + AssetMake[] makes = CreateClient().GetAssetMakes(searchtxt); + List ls = new List(); + foreach (var mk in makes) + { + AssetMakeItem item = new AssetMakeItem(); + Helper.CloneProperty(item, mk); + ls.Add(item); + } + return ls.OrderBy(m => m.Name).ToArray(); + + } + else + return new AssetMakeItem[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + private object GetAssetModels() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Form["ClientData"]; + string[] ps = JsonConvert.DeserializeObject(clientdata); + int makeid = -1; + int.TryParse(ps[0], out makeid); + var searchtxt = HttpUtility.HtmlDecode(ps[1]); + + AssetModel[] models = CreateClient().GetAssetModels(makeid, searchtxt); + List ls = new List(); + foreach (var md in models) + { + //if (!string.IsNullOrEmpty(md.AddedBy) + // && !md.AddedBy.Equals(SystemParams.CompanyID, StringComparison.OrdinalIgnoreCase)) + // continue; + AssetModelItem item = new AssetModelItem(); + Helper.CloneProperty(item, md); + if (md.MakeId > 0) + { + item.MakeID = md.MakeId; + item.MakeName = md.MakeName; + } + if (md.TypeId > 0) + { + item.TypeID = md.TypeId; + item.TypeName = md.TypeName; + } + ls.Add(item); + } + + return ls.OrderBy(m => m.Name).ToArray(); + } + else + return new AssetModelItem[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object SaveMachineMake() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = Request.Form["ClientData"]; + clientdata = HttpUtility.HtmlDecode(clientdata); + AssetMakeItem item = JsonConvert.DeserializeObject(clientdata); + + if (item.ID > 0)//界面不允许修改和删除 + return "OK"; + + CreateClient().UpdateOrCreateMake(item.ID, item.Name, session.User.UID); + + return "OK"; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + private object SaveMachineModel() + { + try + { + var user = GetCurrentUser(); + if (user != null) + { + string clientdata = Request.Form["ClientData"]; + clientdata = HttpUtility.HtmlDecode(clientdata); + AssetModelItem item = JsonConvert.DeserializeObject(clientdata); + + if (item.ID > 0)//界面不允许修改和删除 + return "OK"; + + CreateClient().UpdateOrCreateModel(item.MakeID, item.ID, item.Name, item.TypeID, user.IID); + + return "OK"; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + private object DeleteMachineMake() + { + return "OK";//界面不允许修改和删除 + //try + //{ + // if (GetCurrentLoginSession() != null) + // { + // string clientdata = Request.Form["ClientData"]; + // int id = Convert.ToInt32(HttpUtility.HtmlDecode(clientdata)); + + // MachineServiceClient2 mc = SystemParams.GetMachineServiceClient(); + // mc.DeleteMachineMake(id); + + // return "OK"; + // } + // return "Failed"; + //} + //catch (Exception ex) + //{ + // return ex.Message; + //} + } + + private object DeleteMachineModel() + { + return "OK";//界面不允许修改和删除 + //try + //{ + // var user = GetCurrentUser(); + // if (GetCurrentLoginSession() != null) + // { + // string clientdata = Request.Form["ClientData"]; + // int id = Convert.ToInt32(HttpUtility.HtmlDecode(clientdata)); + + // SystemParams.AssetClassClient.DeleteModel(id, user.IID); + // //MachineServiceClient2 mc = SystemParams.GetMachineServiceClient(); + // //mc.DeleteMachineModel(id); + + // return "OK"; + // } + // return "Failed"; + //} + //catch (Exception ex) + //{ + // return ex.Message; + //} + } + + private object GetActiveJobsites() + { + try + { + JobSiteViewItem[] items = null; + if (GetCurrentLoginSession() != null) + { + string clientdata = Request.Form["ClientData"]; + string companyid = HttpUtility.HtmlDecode(clientdata); + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + + var jss = CreateClient(companyid).GetJobSiteItems(companyid, "", false); + List list = new List(); + foreach (var js in jss) + { + JobSiteViewItem item = new JobSiteViewItem(); + item.ID = js.ID; + item.Name = js.Name; + + list.Add(item); + } + items = list.ToArray(); + } + else + { + items = new JobSiteViewItem[0]; + } + return items.OrderBy(m => m.Name); + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetContacts() + { + try + { + var session = GetCurrentLoginSession(); + Users.UserInfo[] users = null; + if (session != null) + { + //contact = ContactManagement.GetContacts(); + string clientdata = Request.Form["ClientData"]; + string companyid = HttpUtility.HtmlDecode(clientdata); + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + + users = UserManagement.GetActiveUsers(session.SessionID, companyid); + users = users.OrderBy(u => u.DisplayName).ToArray(); + } + else + { + users = new Users.UserInfo[0]; + } + return users; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object ChangeMachineIconFile() + { + try + { + if (GetCurrentLoginSession() != null) + { + string clientdata = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + StringKeyValue kv = JsonConvert.DeserializeObject(clientdata); + + HttpPostedFile uploadFile = null; + byte[] iconfilebyte = null; + if (Request.Files.Count > 0) + { + uploadFile = Request.Files[0]; + iconfilebyte = ConvertFile2bytes(uploadFile); + } + FISqlConnection db = null; + if (SystemParams.IsDealer) + { + string companyid = kv.Key; + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + string connetionstring = SystemParams.GetDbStringByCompany(companyid); + db = new FISqlConnection(connetionstring); + } + MachineManagement.ChangeMachineIconFile(Convert.ToInt64(kv.Value), uploadFile == null ? "" : uploadFile.FileName, iconfilebyte, db); + + return "OK"; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + + #region Asset Attachment + + private object GetAttachments() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var customerid = HttpUtility.HtmlDecode(clientdata[0]); + long assetid = Convert.ToInt64(HttpUtility.HtmlDecode(clientdata[1])); + if (string.IsNullOrEmpty(customerid)) + customerid = SystemParams.CompanyID; + + AssetAttachmentInfo[] atts = CreateClient(customerid).GetAttachments(customerid, assetid); + if (atts == null || atts.Length <= 0) + return new AssetAttachmentItem[0]; + + List list = new List(); + foreach (AssetAttachmentInfo att in atts) + { + AssetAttachmentItem item = new AssetAttachmentItem(); + Helper.CloneProperty(item, att); + item.AddedOn = item.AddedOn.AddHours(SystemParams.GetHoursOffset()); + list.Add(item); + } + return list.OrderBy(m => m.AddedOn).ToArray(); + } + else + return new AssetAttachmentItem[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object AddAttachment() + { + try + { + var loginsession = GetCurrentLoginSession(); + if (loginsession != null) + { + string clientdata = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + StringKeyValue kv = JsonConvert.DeserializeObject(clientdata); + string customerid = kv.Key; + if (string.IsNullOrEmpty(customerid)) + customerid = SystemParams.CompanyID; + + HttpPostedFile uploadFile = null; + byte[] iconfilebyte = null; + if (Request.Files.Count > 0) + { + uploadFile = Request.Files[0]; + iconfilebyte = ConvertFile2bytes(uploadFile); + } + + AssetAttachmentInfo att = new AssetAttachmentInfo(); + att.AssetId = Convert.ToInt64(kv.Value); + att.FileName = uploadFile == null ? "" : uploadFile.FileName; + att.Notes = kv.Tag1; + att.AddedByUserIID = loginsession.User.UID; + att.FileData = iconfilebyte; + att.VisibleOnWorkOrder = Helper.IsTrue(kv.Tag2); + + long attid = CreateClient(customerid).AddAttachment(customerid, att); + + return "OK"; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object DeleteAttachment() + { + try + { + var loginsession = GetCurrentLoginSession(); + if (loginsession != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var customerid = HttpUtility.HtmlDecode(clientdata[0]); + var attid = HttpUtility.HtmlDecode(clientdata[1]); + if (string.IsNullOrEmpty(customerid)) + customerid = SystemParams.CompanyID; + + CreateClient(customerid).Delete(customerid, Convert.ToInt64(attid), loginsession.User.UID); + return "OK"; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + + } + + #endregion + + #region Adjust Odometer + private object GetAssetCurrentOdometer() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var customerid = HttpUtility.HtmlDecode(clientdata[0]); + var assetid = HttpUtility.HtmlDecode(clientdata[1]); + if (string.IsNullOrEmpty(customerid)) + customerid = SystemParams.CompanyID; + + AssetOdometerInfo[] odometers = CreateClient(customerid).GetAssetCurrentOdometer(customerid, Convert.ToInt64(assetid)); + if (odometers == null || odometers.Length <= 0) + return new OdometerInfo[0]; + + List list = new List(); + foreach (AssetOdometerInfo odo in odometers) + { + OdometerInfo item = new OdometerInfo(); + Helper.CloneProperty(item, odo); + list.Add(item); + } + return list.ToArray(); + } + else + return new OdometerInfo[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + private object GetCalampOdometerHistory() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var customerid = HttpUtility.HtmlDecode(clientdata[0]); + var assetid = HttpUtility.HtmlDecode(clientdata[1]); + if (string.IsNullOrEmpty(customerid)) + customerid = SystemParams.CompanyID; + + DateTime now = DateTime.Now.ToUniversalTime(); + CalampOdoInfo[] odometers = CreateClient(customerid).GetCalampOdometerHistory(customerid, Convert.ToInt64(assetid), now.AddDays(-6), now); + if (odometers == null || odometers.Length <= 0) + return new CalampOdoInfo[0]; + + List list = new List(); + foreach (CalampOdoInfo odo in odometers) + { + CalampOdometerInfo item = new CalampOdometerInfo(); + Helper.CloneProperty(item, odo); + item.AsofTime_Local = item.AsofTime; + item.Gps_Calc = Math.Round(item.Gps_Calc, 2); + item.VBUS_Calc = Math.Round(item.VBUS_Calc, 2); + list.Add(item); + } + return list.ToArray(); + } + else + return new CalampOdoInfo[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetCalampOdometerHistoryPreview() + { + try + { + if (GetCurrentLoginSession() != null) + { + string clientdata = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + AdjustOdometerInfo p = JsonConvert.DeserializeObject(clientdata); + if (string.IsNullOrEmpty(p.CustomerID)) + p.CustomerID = SystemParams.CompanyID; + + DateTime utctime = p.OdometerDate.AddMinutes(-p.OffsetMinute); + + CalampOdoInfo[] odometers = CreateClient(p.CustomerID).GetCalampOdometerHistoryPreview(p.CustomerID, p.AssetID, p.Odometer, p.UOM, utctime); + if (odometers == null || odometers.Length <= 0) + return new CalampOdoInfo[0]; + + List list = new List(); + foreach (CalampOdoInfo odo in odometers) + { + CalampOdometerInfo item = new CalampOdometerInfo(); + Helper.CloneProperty(item, odo); + item.AsofTime_Local = item.AsofTime.AddMinutes(p.OffsetMinute); + item.Gps_Calc = Math.Round(item.Gps_Calc, 2); + item.VBUS_Calc = Math.Round(item.VBUS_Calc, 2); + list.Add(item); + } + return list.ToArray(); + } + else + return new CalampOdoInfo[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetPedigreeOdometerHistory() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var customerid = HttpUtility.HtmlDecode(clientdata[0]); + var assetid = HttpUtility.HtmlDecode(clientdata[1]); + if (string.IsNullOrEmpty(customerid)) + customerid = SystemParams.CompanyID; + + DateTime now = DateTime.Now.ToUniversalTime(); + PedigreeOdoInfo[] odometers = CreateClient(customerid).GetPedigreeOdometerHistory(customerid, Convert.ToInt64(assetid), now.AddDays(-6), now); + if (odometers == null || odometers.Length <= 0) + return new CalampOdoInfo[0]; + + List list = new List(); + foreach (PedigreeOdoInfo odo in odometers) + { + PedigreeOdometerInfo item = new PedigreeOdometerInfo(); + Helper.CloneProperty(item, odo); + item.AsofTime_Local = item.AsofTime; + item.Gps_Calc = Math.Round(item.Gps_Calc, 2); + item.VBUS_Calc = Math.Round(item.VBUS_Calc, 2); + list.Add(item); + } + return list.ToArray(); + } + else + return new PedigreeOdometerInfo[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetPedigreeOdometerHistoryPreview() + { + try + { + if (GetCurrentLoginSession() != null) + { + string clientdata = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + AdjustOdometerInfo p = JsonConvert.DeserializeObject(clientdata); + if (string.IsNullOrEmpty(p.CustomerID)) + p.CustomerID = SystemParams.CompanyID; + + DateTime utctime = p.OdometerDate.AddMinutes(-p.OffsetMinute); + + PedigreeOdoInfo[] odometers = CreateClient(p.CustomerID).GetPedigreeOdometerHistoryPreview(p.CustomerID, p.AssetID, p.Odometer, p.UOM, utctime); + if (odometers == null || odometers.Length <= 0) + return new CalampOdoInfo[0]; + + List list = new List(); + foreach (PedigreeOdoInfo odo in odometers) + { + PedigreeOdometerInfo item = new PedigreeOdometerInfo(); + Helper.CloneProperty(item, odo); + item.AsofTime_Local = item.AsofTime.AddMinutes(p.OffsetMinute); + item.Gps_Calc = Math.Round(item.Gps_Calc, 2); + item.VBUS_Calc = Math.Round(item.VBUS_Calc, 2); + list.Add(item); + } + return list.ToArray(); + } + else + return new PedigreeOdometerInfo[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + + private object SaveAdjustOdometer() + { + try + { + var loginsession = GetCurrentLoginSession(); + if (loginsession != null) + { + string clientdata = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + AdjustOdometerInfo odo = JsonConvert.DeserializeObject(clientdata); + if (string.IsNullOrEmpty(odo.CustomerID)) + odo.CustomerID = SystemParams.CompanyID; + + DateTime utctime = odo.OdometerDate.AddMinutes(-odo.OffsetMinute);//UTC + DateTime localtime = utctime.AddHours(SystemParams.GetHoursOffset()); + + bool isallowed = false; + if (!loginsession.User.IsForesightUser) + isallowed = UserManagement.CheckUserPermission(loginsession.SessionID, loginsession.User.UID, 20); + + if (loginsession.User.IsForesightUser || isallowed) + CreateClient(odo.CustomerID).AdjustOdometer(odo.CustomerID, odo.AssetID, localtime, utctime, odo.Odometer, odo.UOM, odo.Notes, loginsession.User.UID); + + return "OK"; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + + #endregion + + #region Add Odometer + private object AddManuallyInputOdometer() + { + try + { + var loginsession = GetCurrentLoginSession(); + if (loginsession != null) + { + string clientdata = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + AdjustOdometerInfo odo = JsonConvert.DeserializeObject(clientdata); + if (string.IsNullOrEmpty(odo.CustomerID)) + odo.CustomerID = SystemParams.CompanyID; + + DateTime utctime = odo.OdometerDate.AddMinutes(-odo.OffsetMinute);//UTC + + bool isallowed = false; + if (!loginsession.User.IsForesightUser) + isallowed = UserManagement.CheckUserPermission(loginsession.SessionID, loginsession.User.UID, 20); + + if (loginsession.User.IsForesightUser || isallowed) + CreateClient(odo.CustomerID).AddManuallyInputOdometer(odo.CustomerID, odo.AssetID, loginsession.User.UID, odo.Odometer, odo.UOM, utctime, odo.Notes); + return "OK"; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + #endregion + + #region Adjust EngineHours + + private object GetAssetCurrentEngineHours() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var customerid = HttpUtility.HtmlDecode(clientdata[0]); + var assetid = HttpUtility.HtmlDecode(clientdata[1]); + if (string.IsNullOrEmpty(customerid)) + customerid = SystemParams.CompanyID; + + AssetEngineHoursInfo[] enginehours = CreateClient(customerid).GetAssetCurrentEngineHours(customerid, Convert.ToInt64(assetid)); + if (enginehours == null || enginehours.Length <= 0) + return new EngineHoursInfo[0]; + + List list = new List(); + foreach (AssetEngineHoursInfo eng in enginehours) + { + EngineHoursInfo item = new EngineHoursInfo(); + Helper.CloneProperty(item, eng); + list.Add(item); + } + return list.ToArray(); + } + else + return new EngineHoursInfo[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetCalampEngineHoursHistory() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var customerid = HttpUtility.HtmlDecode(clientdata[0]); + var assetid = HttpUtility.HtmlDecode(clientdata[1]); + if (string.IsNullOrEmpty(customerid)) + customerid = SystemParams.CompanyID; + + DateTime now = DateTime.Now.ToUniversalTime(); + CalampHourInfo[] eninehours = CreateClient(customerid).GetCalampHourHistory(customerid, Convert.ToInt64(assetid), now.AddDays(-6), now); + if (eninehours == null || eninehours.Length <= 0) + return new CalampEngineHoursInfo[0]; + + List list = new List(); + foreach (CalampHourInfo eng in eninehours) + { + CalampEngineHoursInfo item = new CalampEngineHoursInfo(); + Helper.CloneProperty(item, eng); + item.AsofTime_Local = item.AsofTime; + item.Gps_Calc = Math.Round(item.Gps_Calc, 2); + item.VBUS_Calc = Math.Round(item.VBUS_Calc, 2); + list.Add(item); + } + return list.ToArray(); + } + else + return new CalampEngineHoursInfo[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetCalampEngineHoursHistoryPreview() + { + try + { + if (GetCurrentLoginSession() != null) + { + string clientdata = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + AdjustEngineHoursInfo p = JsonConvert.DeserializeObject(clientdata); + if (string.IsNullOrEmpty(p.CustomerID)) + p.CustomerID = SystemParams.CompanyID; + + DateTime utctime = p.EngineHoursDate.AddMinutes(-p.OffsetMinute); + + CalampHourInfo[] odometers = CreateClient(p.CustomerID).GetCalampHourHistoryPreview(p.CustomerID, p.AssetID, p.EngineHours, "Hour", utctime); + if (odometers == null || odometers.Length <= 0) + return new CalampEngineHoursInfo[0]; + + List list = new List(); + foreach (CalampHourInfo odo in odometers) + { + CalampEngineHoursInfo item = new CalampEngineHoursInfo(); + Helper.CloneProperty(item, odo); + item.AsofTime_Local = item.AsofTime.AddMinutes(p.OffsetMinute); + item.Gps_Calc = Math.Round(item.Gps_Calc, 2); + item.VBUS_Calc = Math.Round(item.VBUS_Calc, 2); + list.Add(item); + } + return list.ToArray(); + } + else + return new CalampEngineHoursInfo[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetPedigreeEngineHoursHistory() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var customerid = HttpUtility.HtmlDecode(clientdata[0]); + var assetid = HttpUtility.HtmlDecode(clientdata[1]); + if (string.IsNullOrEmpty(customerid)) + customerid = SystemParams.CompanyID; + + DateTime now = DateTime.Now.ToUniversalTime(); + PedigreeHourInfo[] eninehours = CreateClient(customerid).GetPedigreeHourHistory(customerid, Convert.ToInt64(assetid), now.AddDays(-6), now); + if (eninehours == null || eninehours.Length <= 0) + return new PedigreeEngineHoursInfo[0]; + + List list = new List(); + foreach (PedigreeHourInfo eng in eninehours) + { + PedigreeEngineHoursInfo item = new PedigreeEngineHoursInfo(); + Helper.CloneProperty(item, eng); + item.AsofTime_Local = item.AsofTime; + item.VBUS_Calc = Math.Round(item.VBUS_Calc, 2); + list.Add(item); + } + return list.ToArray(); + } + else + return new PedigreeEngineHoursInfo[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetPedigreeEngineHoursHistoryPreview() + { + try + { + if (GetCurrentLoginSession() != null) + { + string clientdata = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + AdjustEngineHoursInfo p = JsonConvert.DeserializeObject(clientdata); + if (string.IsNullOrEmpty(p.CustomerID)) + p.CustomerID = SystemParams.CompanyID; + + DateTime utctime = p.EngineHoursDate.AddMinutes(-p.OffsetMinute); + + PedigreeHourInfo[] eninehours = CreateClient(p.CustomerID).GetPedigreeHourHistoryPreview(p.CustomerID, p.AssetID, p.EngineHours, "Hour", utctime); + if (eninehours == null || eninehours.Length <= 0) + return new PedigreeEngineHoursInfo[0]; + + List list = new List(); + foreach (PedigreeHourInfo odo in eninehours) + { + PedigreeEngineHoursInfo item = new PedigreeEngineHoursInfo(); + Helper.CloneProperty(item, odo); + item.AsofTime_Local = item.AsofTime.AddMinutes(p.OffsetMinute); + item.VBUS_Calc = Math.Round(item.VBUS_Calc, 2); + list.Add(item); + } + return list.ToArray(); + } + else + return new PedigreeEngineHoursInfo[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object SaveAdjustEngineHours() + { + try + { + var loginsession = GetCurrentLoginSession(); + if (loginsession != null) + { + string clientdata = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + AdjustEngineHoursInfo eng = JsonConvert.DeserializeObject(clientdata); + + if (string.IsNullOrEmpty(eng.CustomerID)) + eng.CustomerID = SystemParams.CompanyID; + + DateTime utctime = eng.EngineHoursDate.AddMinutes(-eng.OffsetMinute);//UTC + DateTime localtime = utctime.AddHours(SystemParams.GetHoursOffset()); + + bool isallowed = false; + if (!loginsession.User.IsForesightUser) + isallowed = UserManagement.CheckUserPermission(loginsession.SessionID, loginsession.User.UID, 20); + if (loginsession.User.IsForesightUser || isallowed) + CreateClient(eng.CustomerID).AdjustEngineHours(eng.CustomerID, eng.AssetID, localtime, utctime, eng.EngineHours, eng.Notes, loginsession.User.UID); + return "OK"; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + + #endregion + + #region Add EngineHours + private object AddManuallyInputEngineHours() + { + try + { + var loginsession = GetCurrentLoginSession(); + if (loginsession != null) + { + string clientdata = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + AdjustEngineHoursInfo eng = JsonConvert.DeserializeObject(clientdata); + + if (string.IsNullOrEmpty(eng.CustomerID)) + eng.CustomerID = SystemParams.CompanyID; + + DateTime utctime = eng.EngineHoursDate.AddMinutes(-eng.OffsetMinute);//UTC + + bool isallowed = false; + if (!loginsession.User.IsForesightUser) + isallowed = UserManagement.CheckUserPermission(loginsession.SessionID, loginsession.User.UID, 20); + if (loginsession.User.IsForesightUser || isallowed) + CreateClient(eng.CustomerID).AddManuallyInputEngineHours(eng.CustomerID, eng.AssetID, loginsession.User.UID, eng.EngineHours, utctime, eng.Notes); + return "OK"; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + + #endregion + + #region Adjust Location + + private object GetAssetCurrentLocation() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var customerid = HttpUtility.HtmlDecode(clientdata[0]); + var assetid = HttpUtility.HtmlDecode(clientdata[1]); + if (string.IsNullOrEmpty(customerid)) + customerid = SystemParams.CompanyID; + + AssetLocationInfo[] locations = CreateClient(customerid).GetAssetCurrentLocation(customerid, Convert.ToInt64(assetid)); + if (locations == null || locations.Length <= 0) + return new LocationInfo[0]; + + List list = new List(); + foreach (AssetLocationInfo loc in locations) + { + LocationInfo item = new LocationInfo(); + Helper.CloneProperty(item, loc); + list.Add(item); + } + return list.ToArray(); + } + else + return new LocationInfo[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + #endregion + + #region Adjust IdleHours + + private object GetAssetCurrentIdleHours() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var customerid = HttpUtility.HtmlDecode(clientdata[0]); + var assetid = HttpUtility.HtmlDecode(clientdata[1]); + if (string.IsNullOrEmpty(customerid)) + customerid = SystemParams.CompanyID; + + AssetIdlehoursInfo[] ihs = CreateClient(customerid).GetAssetCurrentIdleHours(customerid, Convert.ToInt64(assetid)); + if (ihs == null || ihs.Length <= 0) + return new IdlehoursInfo[0]; + + List list = new List(); + foreach (AssetIdlehoursInfo ih in ihs) + { + IdlehoursInfo item = new IdlehoursInfo(); + Helper.CloneProperty(item, ih); + list.Add(item); + } + return list.ToArray(); + } + else + return new IdlehoursInfo[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + #endregion + + #region Adjust FuelUsed + + private object GetAssetCurrentFuelUsed() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var customerid = HttpUtility.HtmlDecode(clientdata[0]); + var assetid = HttpUtility.HtmlDecode(clientdata[1]); + if (string.IsNullOrEmpty(customerid)) + customerid = SystemParams.CompanyID; + + AssetFuelusedInfo[] fus = CreateClient(customerid).GetAssetCurrentFuelUsed(customerid, Convert.ToInt64(assetid)); + if (fus == null || fus.Length <= 0) + return new FuelusedInfo[0]; + + List list = new List(); + foreach (AssetFuelusedInfo fu in fus) + { + FuelusedInfo item = new FuelusedInfo(); + Helper.CloneProperty(item, fu); + list.Add(item); + } + return list.ToArray(); + } + else + return new FuelusedInfo[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + #endregion + + #region Set Primary + + private object ChangePrimaryDataSource() + { + try + { + var loginsession = GetCurrentLoginSession(); + if (loginsession != null) + { + string clientdata = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + PrimaryDataSourceInfo item = JsonConvert.DeserializeObject(clientdata); + if (string.IsNullOrEmpty(item.CustomerID)) + item.CustomerID = SystemParams.CompanyID; + + bool isallowed = false; + if (!loginsession.User.IsForesightUser) + isallowed = UserManagement.CheckUserPermission(loginsession.SessionID, loginsession.User.UID, 20); + if (loginsession.User.IsForesightUser || isallowed) + { + if (item.Type == 0) + { + CreateClient(item.CustomerID).ChangeOdometerPrimaryDataSource(item.CustomerID, item.AssetID, item.DataSource, item.SubSource, item.Notes, loginsession.User.UID); + } + else if (item.Type == 1) + { + CreateClient(item.CustomerID).ChangeEngineHoursPrimaryDataSource(item.CustomerID, item.AssetID, item.DataSource, item.SubSource, item.Notes, loginsession.User.UID); + } + else if (item.Type == 2) + { + CreateClient(item.CustomerID).ChangeLocationPrimaryDataSource(item.CustomerID, item.AssetID, item.DataSource, item.SubSource, item.Notes, loginsession.User.UID); + } + else if (item.Type == 3) + { + CreateClient(item.CustomerID).ChangeIdlehoursPrimaryDataSource(item.CustomerID, item.AssetID, item.DataSource, item.SubSource, item.Notes, loginsession.User.UID); + } + else if (item.Type == 4) + { + CreateClient(item.CustomerID).ChangeFuelUsedPrimaryDataSource(item.CustomerID, item.AssetID, item.DataSource, item.SubSource, item.Notes, loginsession.User.UID); + } + } + + return "OK"; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + + #endregion + + + private object GetMachineDetailURL() + { + var clientdata = Context.Request.Params["ClientData"]; + string[] pvs = JsonConvert.DeserializeObject(clientdata); + if (pvs.Length == 2) + { + int openMode = 0; + string url = MachineDetailWorkspace.GenerateMachineDetailWSPURL(pvs[0], pvs[1], out openMode); + return new string[] { openMode.ToString(), url }; + } + return ""; + } + + private object GetTimeZones() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var timezones = SystemParams.GetTimeZones(); + return timezones; + } + else + { + throw new Exception("not login."); + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object CheckOdometerMinnimumTime() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + AdjustOdometerInfo p = JsonConvert.DeserializeObject(clientdata); + if (string.IsNullOrEmpty(p.CustomerID)) + p.CustomerID = SystemParams.CompanyID; + + DateTime odometertime = p.OdometerDate.AddMinutes(-p.OffsetMinute); + + AssetOdometerInfo odometer = CreateClient(p.CustomerID).GetAssetCurrentOdometer(p.CustomerID, p.AssetID).FirstOrDefault(m => m.IsPrimary); + if (odometer == null) + return true; + AssetDataAdjustClient client = CreateClient(p.CustomerID); + DateTime mintime = client.GetAssetOdometerMinimumAsofTime(p.CustomerID, p.AssetID, odometer.DataSource, odometer.SubSource, false); + DateTime maxtime = client.GetAssetOdometerMaximumAsofTime(p.CustomerID, p.AssetID, odometer.DataSource, odometer.SubSource, false); + + if (odometertime < mintime) + return 1; + if (odometertime > maxtime.AddMinutes(1) || odometertime > DateTime.UtcNow)//10825要求增加1分钟 + return 2; + + return 0; + } + else + { + throw new Exception("not login."); + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object CheckEngineHourMinimumTime() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + AdjustEngineHoursInfo p = JsonConvert.DeserializeObject(clientdata); + if (string.IsNullOrEmpty(p.CustomerID)) + p.CustomerID = SystemParams.CompanyID; + + DateTime hourstime = p.EngineHoursDate.AddMinutes(-p.OffsetMinute); + + AssetEngineHoursInfo hours = CreateClient(p.CustomerID).GetAssetCurrentEngineHours(p.CustomerID, p.AssetID).FirstOrDefault(m => m.IsPrimary); + if (hours == null)//获取当前IsPrimary数据源 + return true; + + AssetDataAdjustClient client = CreateClient(p.CustomerID); + DateTime mintime = client.GetAssetEngineHourMinimumAsofTime(p.CustomerID, p.AssetID, hours.DataSource, hours.SubSource, false); + DateTime maxtime = client.GetAssetEngineHourMaximumAsofTime(p.CustomerID, p.AssetID, hours.DataSource, hours.SubSource, false); + + if (hourstime < mintime) + return 1; + if (hourstime > maxtime.AddMinutes(1) || hourstime > DateTime.UtcNow) + return 2; + + return 0; + } + else + { + throw new Exception("not login."); + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetUserPermission() + { + try + { + var session = GetCurrentLoginSession(); + bool result = false; + if (session != null) + { + result = UserManagement.CheckUserPermission(session.SessionID, session.User.UID, 20); + } + return result; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private class MachineGroupInfoItem + { + public MachineItem[] AllMachines { get; set; } + public MachineItem[] Machines { get; set; } + } + + public class MachineDeviceItem + { + public GpsDeviceItem Device { get; set; } + public MachineItem Machine { get; set; } + } + } +} diff --git a/IronIntelContractorSiteLib/MainBasePage.cs b/IronIntelContractorSiteLib/MainBasePage.cs new file mode 100644 index 0000000..94feb86 --- /dev/null +++ b/IronIntelContractorSiteLib/MainBasePage.cs @@ -0,0 +1,130 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Newtonsoft.Json; +using Foresight; +using IronIntel.Services; +using IronIntel.Contractor.Users; + +namespace IronIntel.Contractor.Site +{ + public class MainBasePage : ContractorBasePage + { + protected void ProcessRequest() + { + string methidName = Request.Params["MethodName"]; + switch (methidName) + { + case "GetUserName": + GetUserName(); + break; + case "GetAppModules": + GetAppModules(); + break; + case "GetVersions": + GetVersions(); + break; + case "GetSiteHeaderNote": + GetSiteHeaderNote(); + break; + default: + break; + } + //TODO + } + + private void GetUserName() + { + string userName = ""; + var session = GetCurrentLoginSession(); + if (session != null && session.User != null) + { + userName = session.User.Name; + } + + userName = JsonConvert.SerializeObject(userName); + Response.Write(userName); + Response.End(); + } + + private void GetAppModules() + { + try + { + AppModuleInfo[] items = null; + var session = GetCurrentLoginSession(); + if (session != null) + { + List list = Acl.GetAvailableAppModuleInfos(session.User.UID).ToList(); + LicenseInfo license = SystemParams.GetLicense(); + if (license != null && license.Items.Count > 0) + { + LicenseItem lijl = license.Items.FirstOrDefault(m => m.Key == "JOBSITELIMIT"); + if (lijl == null || !Helper.IsTrue(lijl.Value)) + { + AppModuleInfo item = list.FirstOrDefault(m => m.ID == "JOBSITELIMIT"); + list.Remove(item); + } + } + if (!session.User.IsForesightUser) + { + bool isallowed = UserManagement.CheckUserPermission(session.SessionID, session.User.UID, 30); + if (!isallowed) + { + AppModuleInfo item = list.FirstOrDefault(m => m.ID == "OTRConfig"); + list.Remove(item); + } + } + items = list.ToArray(); + } + else + { + items = new AppModuleInfo[0]; + } + string json = JsonConvert.SerializeObject(items); + Response.Write(json); + } + catch (Exception ex) + { + AddLog("Error", "GetAppModules", ex.Message, ex.ToString()); + Response.Write(JsonConvert.SerializeObject(ex.Message)); + } + Response.End(); + } + + private void GetVersions() + { + List versions = new List(); + var session = GetCurrentLoginSession(); + if (session != null && session.User != null) + { + versions.Add(SystemParams.GetVersion()); + versions.Add(SystemParams.GetFICVersion()); + } + + string json = JsonConvert.SerializeObject(versions.ToArray()); + Response.Write(json); + Response.End(); + } + private void GetSiteHeaderNote() + { + string siteheadernote = ""; + var session = GetCurrentLoginSession(); + if (session != null && session.User != null) + { + siteheadernote = UserManagement.GetSiteHeaderNote(session.User.UID); + if (string.IsNullOrEmpty(siteheadernote)) + { + var cust = FleetServiceClientHelper.CreateClient().GetCustomerDetail(SystemParams.CompanyID); + if (cust != null) + siteheadernote = cust.SiteHeaderNotes; + } + } + string json = JsonConvert.SerializeObject(siteheadernote); + Response.Write(json); + Response.End(); + } + } +} diff --git a/IronIntelContractorSiteLib/Maintenance/AlertsBasePage.cs b/IronIntelContractorSiteLib/Maintenance/AlertsBasePage.cs new file mode 100644 index 0000000..3b3fcbf --- /dev/null +++ b/IronIntelContractorSiteLib/Maintenance/AlertsBasePage.cs @@ -0,0 +1,611 @@ +using Foresight.Data; +using Foresight.Fleet.Services.AssetHealth; +using Foresight.ServiceModel; +using IronIntel.Contractor.Machines; +using IronIntel.Contractor.Maintenance; +using IronIntel.Contractor.Users; +using IronIntel.Services; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Web; + +namespace IronIntel.Contractor.Site.Maintenance +{ + public class AlertsBasePage : ContractorBasePage + { + protected void ProcessRequest(string method) + { + object result = null; + try + { + string methodName = Request.Params["MethodName"]; + if (methodName != null) + { + switch (methodName.ToUpper()) + { + case "GETALERTS": + result = GetAlerts(); + break; + case "GETMACHINEALERTS": + result = GetMachineAlerts(); + break; + case "SAVEACKNOWLEDGEALERT": + result = SaveAcknowledgeAlert(); + break; + case "ASSIGNEDALERTSTOWORKORDER": + result = AssignedAlertsToWorkOrder(); + break; + case "GETALERTSBYWORKORDER": + result = GetAlertsByWorkOrder(); + break; + case "GETALERTSLISENCE": + result = GetAlertsLisence(); + break; + case "GETWORKORDERALERTS": + result = GetWorkOrderAlerts(); + break; + case "GETASSETALERTS": + result = GetAssetAlerts(); + break; + case "GETASSETGROUPS": + result = GetAssetGroups(); + break; + case "GETALERTTYPES": + result = GetAlertTypes(); + break; + case "GETACKNOWLEDGEDALERTS": + result = GetAcknowledgedAlerts(); + break; + } + } + } + catch (Exception ex) + { + SystemParams.WriteLog("error", "AlertsBasePage", ex.Message, ex.ToString()); + throw ex; + } + string json = JsonConvert.SerializeObject(result); + Response.Write(json); + Response.End(); + } + + private object GetAlerts() + { + try + { + var session = GetCurrentLoginSession(); + if (GetCurrentLoginSession() != null) + { + var clientdata = Context.Request.Params["ClientData"]; + AlertQueryParams alertparam = JsonConvert.DeserializeObject(clientdata); + DateTime beginDate = Helper.DBMinDateTime; + DateTime endDate = DateTime.MaxValue; + if (!DateTime.TryParse(alertparam.BeginDate, out beginDate)) + beginDate = Helper.DBMinDateTime; + //else + // beginDate = beginDate.ToUniversalTime(); + if (!DateTime.TryParse(alertparam.EndDate, out endDate)) + endDate = DateTime.MaxValue; + else + endDate = endDate.Date.AddDays(1).AddSeconds(-1); + + int assigned = -1; + int completed = -1; + if (alertparam.AlertStatus != null && alertparam.AlertStatus.Length > 0) + { + if (alertparam.AlertStatus.Contains("Unassigned") && !alertparam.AlertStatus.Contains("Assigned")) + assigned = 0; + if (!alertparam.AlertStatus.Contains("Unassigned") && alertparam.AlertStatus.Contains("Assigned")) + assigned = 1; + + if (alertparam.AlertStatus.Contains("Completed") && !alertparam.AlertStatus.Contains("Uncompleted")) + assigned = 1; + if (!alertparam.AlertStatus.Contains("Completed") && alertparam.AlertStatus.Contains("Uncompleted")) + assigned = 0; + } + AssetAlertGridViewItem[] assetalerts = CreateClient().GetAssetAlertGridViewItems(SystemParams.CompanyID, beginDate, endDate, alertparam.AlertTypes, alertparam.AssetGroups, assigned, completed, alertparam.SearchText, session.User.UID); + if (assetalerts == null || assetalerts.Length == 0) + return new AlertInfo[0]; + List list = new List(); + foreach (AssetAlertGridViewItem item in assetalerts) + { + AlertInfo ai = ConvertAlertObj(item); + ai.AlertTime_UTC = item.LastAlertLocalTime; + list.Add(ai); + } + return list.ToArray(); + } + else + return new AlertInfo[0]; + } + catch (Exception ex) + { + AddLog("ERROR", "AlertsBasePage.GetAlerts", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object GetMachineAlerts() + { + try + { + var session = GetCurrentLoginSession(); + if (GetCurrentLoginSession() != null) + { + var clientdata = Context.Request.Params["ClientData"]; + AlertQueryParams alertparam = JsonConvert.DeserializeObject(clientdata); + DateTime beginDate = Helper.DBMinDateTime; + DateTime endDate = DateTime.MaxValue; + if (!DateTime.TryParse(alertparam.BeginDate, out beginDate)) + beginDate = Helper.DBMinDateTime; + //else + // beginDate = beginDate.ToUniversalTime(); + if (!DateTime.TryParse(alertparam.EndDate, out endDate)) + endDate = DateTime.MaxValue; + else + endDate = endDate.Date.AddDays(1).AddSeconds(-1); + + int assigned = -1; + int completed = -1; + if (alertparam.AlertStatus != null && alertparam.AlertStatus.Length > 0) + { + if (alertparam.AlertStatus.Contains("Unassigned") && !alertparam.AlertStatus.Contains("Assigned")) + assigned = 0; + if (!alertparam.AlertStatus.Contains("Unassigned") && alertparam.AlertStatus.Contains("Assigned")) + assigned = 1; + + if (alertparam.AlertStatus.Contains("Completed") && !alertparam.AlertStatus.Contains("Uncompleted")) + assigned = 1; + if (!alertparam.AlertStatus.Contains("Completed") && alertparam.AlertStatus.Contains("Uncompleted")) + assigned = 0; + } + + AssetAlertGridViewItem[] assetalerts = CreateClient().GetAssetAlertGridViewItems(SystemParams.CompanyID, beginDate, endDate, alertparam.AlertTypes, alertparam.AssetGroups, assigned, completed, alertparam.SearchText, session.User.UID); + + if (assetalerts == null || assetalerts.Length == 0) + return new MachineInfoForAlert[0]; + + List machinealerts = new List(); + foreach (AssetAlertGridViewItem item in assetalerts) + { + AlertInfo ai = ConvertAlertObj(item); + MachineInfoForAlert mi = machinealerts.FirstOrDefault((i) => i.MachineID == ai.MachineID); + if (mi == null) + { + mi = new MachineInfoForAlert(); + mi.MachineID = ai.MachineID; + mi.MachineName = ai.MachineName; + mi.VIN = ai.VIN; + mi.Make = ai.Make; + mi.Model = ai.Model; + mi.EngineHours = ai.CurrentHours; + mi.OpenWorkOrders = ai.OpenWorkOrderCount; + + machinealerts.Add(mi); + } + mi.Alerts.Add(ai); + + int count = ai.RepeatedAlerts.Count + 1; + + if (ai.AlertType == "Preventative Maintenance" + || ai.AlertType == "PM_ALERT" || ai.AlertType == "TBM_ALERT" || ai.AlertType == "HM_ALERT" + || ai.AlertType == "RDM_ALERT" || ai.AlertType == "ADM_ALERT") + mi.PMAlertCount += count; + else if (INSPECT.Contains(ai.AlertType, StringComparer.OrdinalIgnoreCase)) + mi.InspectAlertCount += count; + else + mi.DTCAlertCount += count; + if (ai.AlertTime_UTC > mi.LatestAlertDateTime) + mi.LatestAlertDateTime = ai.AlertTime_UTC; + } + + return machinealerts.ToArray(); + } + else + return new MachineInfoForAlert[0]; + } + catch (Exception ex) + { + AddLog("ERROR", "AlertsBasePage.GetAlerts", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private AlertInfo ConvertAlertObj(AssetAlertGridViewItem item) + { + AlertInfo ai = new AlertInfo(); + ai.AlertID = item.ID; + ai.WorkOrderID = item.WorkOrderId; + ai.WorkOrderStatus = item.WorkOrderStatus; + ai.AlertType = item.AlertType; + ai.AlertTime_UTC = item.LastAlertTime; + ai.Completed = item.Completed; + ai.MachineID = item.AssetID; + //ai.ModelID = item.ModelName; + ai.Model = item.ModelName; + //ai.MakeID = item.MakeName; + ai.Make = item.MakeName; + ai.VIN = item.VIN; + ai.MachineName = item.AssetName; + ai.EngineHours = item.EngineHours; + ai.CurrentHours = item.CurrentEngineHours; + ai.Description = item.Description; + ai.ServiceDescription = item.ServiceDescription; + ai.RepeatedAlerts = item.RepeatedAlerts; + ai.AlertCount = item.RepeatedAlerts.Count + 1; + ai.OpenWorkOrderCount = item.OpenWorkOrderCount; + + return ai; + } + + private object GetAcknowledgedAlerts() + { + try + { + var session = GetCurrentLoginSession(); + if (GetCurrentLoginSession() != null) + { + var clientdata = Context.Request.Params["ClientData"]; + AlertQueryParams alertparam = JsonConvert.DeserializeObject(clientdata); + DateTime beginDate = Helper.DBMinDateTime; + DateTime endDate = DateTime.MaxValue; + if (!DateTime.TryParse(alertparam.BeginDate, out beginDate)) + beginDate = Helper.DBMinDateTime; + //else + // beginDate = beginDate.ToUniversalTime(); + if (!DateTime.TryParse(alertparam.EndDate, out endDate)) + endDate = DateTime.MaxValue; + else + endDate = endDate.Date.AddDays(1).AddSeconds(-1); + + alertparam.AlertStatus = new string[0]; + AlertManager am = new AlertManager(SystemParams.DataDbConnectionString); + AlertInfo[] alerts = am.SearchAcknowledgedAlerts(session.SessionID, alertparam.SearchText, alertparam.AlertStatus, alertparam.AlertTypes, alertparam.AssetGroups, beginDate, endDate, session.User.UID); + if (alerts == null) + return new AlertInfo[0]; + return alerts.ToArray(); + } + else + return new AlertInfo[0]; + } + catch (Exception ex) + { + AddLog("ERROR", "AlertsBasePage.GetAcknowledgedAlerts", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object GetAlertsLisence() + { + try + { + AlertsLisenceItem result = new AlertsLisenceItem(); + if (GetCurrentLoginSession() != null) + { + LicenseInfo license = SystemParams.GetLicense(); + if (license != null && license.Items.Count > 0) + { + var woitem = license.Items.FirstOrDefault(m => m.Key == "WorkOrder"); + if (woitem != null && Helper.IsTrue(woitem.Value)) + result.WorkOrder = true; + } + result.AcknowledgingAlerts = Helper.IsTrue(SystemParams.GetStringParam("AcknowledgingAlerts")); + } + return result; + } + catch (Exception ex) + { + AddLog("ERROR", "AlertsBasePage.GetAlertsLisence", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private string SaveAcknowledgeAlert() + { + try + { + Services.Users.LoginSession se = GetCurrentLoginSession(); + if (se != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var ids = HttpUtility.HtmlDecode(clientdata[0]); + var acknowledgmentcomment = HttpUtility.HtmlDecode(clientdata[1]); + long[] list = JsonConvert.DeserializeObject(ids); + AlertManager am = new AlertManager(SystemParams.DataDbConnectionString); + am.AcknowledgeAlert(se.User.UID, list, acknowledgmentcomment); + return "OK"; + } + else + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + private string AssignedAlertsToWorkOrder() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var id = HttpUtility.HtmlDecode(clientdata[0]); + var ids = HttpUtility.HtmlDecode(clientdata[1]); + long workorderid = Convert.ToInt64(id); + long[] alertids = JsonConvert.DeserializeObject(ids); + if (alertids != null && alertids.Length == 0) + alertids = null; + AlertManager am = new AlertManager(SystemParams.DataDbConnectionString); + am.AssignedAlertsToWorkOrder(workorderid, alertids); + return "OK"; + } + else + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetAlertsByWorkOrder() + { + try + { + if (GetCurrentLoginSession() != null) + { + var woid = Request.Form["ClientData"]; + long workorderid = Convert.ToInt64(woid); + AlertManager am = new AlertManager(SystemParams.DataDbConnectionString); + AlertInfo[] alerts = am.GetAlertsByWorkOrder(workorderid); + if (alerts == null) + return new AlertInfo[0]; + return alerts; + } + else + return new AlertInfo[0]; + } + catch (Exception ex) + { + AddLog("ERROR", "AlertsBasePage.GetAlertsByWorkOrder", ex.Message, ex.ToString()); + return ex.Message; + } + } + private object GetWorkOrderAlerts() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"]; + + long workorderid = 0; + long.TryParse(clientdata, out workorderid); + + AssetAlertItem[] alerts = CreateClient().GetAssignedAlerts(SystemParams.CompanyID, workorderid); + + AlertItems items = new AlertItems(); + if (alerts != null) + { + var dtcalerts = new List(); + var pmaalerts = new List(); + var inspectalerts = new List(); + var oilalerts = new List(); + foreach (AssetAlertItem alertitem in alerts.OrderByDescending(ai => ai.AlertTime)) + { + List tempList = null; + if (alertitem.Category == AssetAlertCategory.PMAlert) + tempList = pmaalerts; + else if (alertitem.Category == AssetAlertCategory.InspectAlert) + tempList = inspectalerts; + else if (alertitem.Category == AssetAlertCategory.OilSampleAlert) + tempList = oilalerts; + else + tempList = dtcalerts; + + var existalert = tempList.FirstOrDefault((ai) => ai.Description == alertitem.Description); + if (existalert != null) + { + existalert.AlertCount++; + if (existalert.RepeatedAlerts == null) + existalert.RepeatedAlerts = new List(); + existalert.RepeatedAlerts.Add(alertitem.ID); + } + else + { + var a = ConvertAlert(alertitem); + a.AlertCount = 1; + tempList.Add(a); + } + } + items.DTCAlerts = dtcalerts.ToArray(); + items.PMAlerts = pmaalerts.ToArray(); + items.InspectAlerts = inspectalerts.ToArray(); + items.OilAlerts = oilalerts.ToArray(); + } + return items; + } + else + return new AlertInfo[0]; + } + catch (Exception ex) + { + AddLog("ERROR", "AlertsBasePage.GetWorkOrderAlerts", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object GetAssetAlerts() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var mid = HttpUtility.HtmlDecode(clientdata[0]); + var ids = HttpUtility.HtmlDecode(clientdata[1]); + + long machineid = 0; + long.TryParse(mid, out machineid); + + long[] alertids = JsonConvert.DeserializeObject(ids); + + AssetAlertGridViewItem[] alerts = CreateClient().GetAssetAlertGridViewItemsByAsset(SystemParams.CompanyID, machineid, Helper.DBMinDateTime, DateTime.MaxValue, null, -1, -1, ""); + AlertItems items = new AlertItems(); + if (alerts != null) + { + var dtcalerts = new List(); + var pmaalerts = new List(); + var inspectalerts = new List(); + var oilalerts = new List(); + foreach (AssetAlertGridViewItem alertitem in alerts.OrderByDescending(ai => ai.AlertTime)) + { + if (alertids != null && alertids.Length > 0 && !alertids.Contains(alertitem.ID)) + continue; + if (alertitem.Completed || alertitem.Acknowledged || alertitem.WorkOrderId > 0) + continue; + + List tempList = null; + var category = DetermineAlertCategory(alertitem.AlertType); + if (category == AssetAlertCategory.PMAlert) + tempList = pmaalerts; + else if (category == AssetAlertCategory.InspectAlert) + tempList = inspectalerts; + else if (category == AssetAlertCategory.OilSampleAlert) + tempList = oilalerts; + else + tempList = dtcalerts; + + var a = ConvertAlertObj(alertitem); + a.RepeatedAlerts = alertitem.RepeatedAlerts; + a.AlertCount = alertitem.RepeatedAlerts.Count + 1; + tempList.Add(a); + } + items.DTCAlerts = dtcalerts.ToArray(); + items.PMAlerts = pmaalerts.ToArray(); + items.InspectAlerts = inspectalerts.ToArray(); + items.OilAlerts = oilalerts.ToArray(); + } + return items; + } + else + return new AlertInfo[0]; + } + catch (Exception ex) + { + AddLog("ERROR", "AlertsBasePage.GetAssetAlerts", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private static readonly string[] PMALERTS = new string[] { "Preventative Maintenance" }; + private static readonly string[] INSPECT = new string[] { "Red-Inspect", "Yellow-Inspect", "Green-Inspect", "Info-Inspect" }; + private static readonly string[] OILSAMPLE = new string[] { "Oil Sample Result" }; + private static AssetAlertCategory DetermineAlertCategory(string alerttype) + { + if (PMALERTS.Contains(alerttype, StringComparer.OrdinalIgnoreCase)) + { + return AssetAlertCategory.PMAlert; + } + if (INSPECT.Contains(alerttype, StringComparer.OrdinalIgnoreCase)) + { + return AssetAlertCategory.InspectAlert; + } + if (OILSAMPLE.Contains(alerttype, StringComparer.OrdinalIgnoreCase)) + { + return AssetAlertCategory.OilSampleAlert; + } + + return AssetAlertCategory.DTCAlert; + } + + private object GetAssetGroups() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var groups = MachineManagement.GetMachineGroupsByUser(session.User.UID, null); + List list = new List(); + foreach (var gp in groups) + { + StringKeyValue kv = new StringKeyValue(); + kv.Key = gp.GroupID; + kv.Value = gp.GroupName; + list.Add(kv); + } + + return list.OrderBy((m) => m.Value).ToArray(); + } + else + return new StringKeyValue[0]; + } + catch (Exception ex) + { + AddLog("ERROR", "AlertsBasePage.GetAssetGroups", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object GetAlertTypes() + { + try + { + if (GetCurrentLoginSession() != null) + { + AlertManager am = new AlertManager(SystemParams.DataDbConnectionString); + return am.GetAlertTypes(); ; + } + else + return new StringKeyValue[0]; + } + catch (Exception ex) + { + AddLog("ERROR", "AlertsBasePage.GetAlertTypes", ex.Message, ex.ToString()); + return ex.Message; + } + } + + + private AlertInfo ConvertAlert(AssetAlertItem alertitem) + { + AlertInfo ai = new AlertInfo(); + ai.AlertID = alertitem.ID; + ai.MachineID = alertitem.AssetID; + ai.AlertType = alertitem.AlertType; + ai.Description = alertitem.Description; + ai.AlertTime_UTC = alertitem.AlertTime; + ai.EngineHours = alertitem.EngineHours; + + return ai; + } + } + public class AlertItems + { + public AlertInfo[] DTCAlerts { get; set; } + public AlertInfo[] PMAlerts { get; set; } + public AlertInfo[] InspectAlerts { get; set; } + public AlertInfo[] OilAlerts { get; set; } + } + public class AlertQueryParams + { + public string SearchText { get; set; } + public string[] AlertStatus { get; set; } + public string[] AssetGroups { get; set; } + public string[] AlertTypes { get; set; } + public string BeginDate { get; set; } + public string EndDate { get; set; } + } + + public class AlertsLisenceItem + { + public bool WorkOrder = false; + public bool AcknowledgingAlerts = false; + } +} diff --git a/IronIntelContractorSiteLib/Maintenance/FuelRecordBasePage.cs b/IronIntelContractorSiteLib/Maintenance/FuelRecordBasePage.cs new file mode 100644 index 0000000..ab7de78 --- /dev/null +++ b/IronIntelContractorSiteLib/Maintenance/FuelRecordBasePage.cs @@ -0,0 +1,228 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Newtonsoft.Json; +using IronIntel.Contractor.Machines; +using IronIntel.Contractor.Maintenance; +using IronIntel.Services.Business.Admin; +using System.Web; +using IronIntel.Contractor.Users; +using Foresight.ServiceModel; +using Foresight.Fleet.Services.AssetHealth; + +namespace IronIntel.Contractor.Site.Maintenance +{ + public class FuelRecordBasePage : ContractorBasePage + { + protected void ProcessRequest(string methodName) + { + object result = null; + + try + { + if (methodName != null) + { + switch (methodName.ToUpper()) + { + case "GETFUELRECORDS": + result = GetFuelRecords(); + break; + case "GETFUELRECORDCHANGEHISTORY": + result = GetFuelRecordChangeHistory(); + break; + case "SAVEFUELRECORD": + result = SaveFuelRecord(); + break; + case "DELETEFUELRECORD": + result = DeleteFuelRecord(); + break; + case "GETFUELTYPES": + result = GetFuelTypes(); + break; + } + } + } + catch (System.Threading.ThreadAbortException) + { + throw; + } + catch (Exception ex) + { + SystemParams.WriteLog("error", "FuelRecordsBasePage" + methodName, ex.Message, ex.ToString()); + } + string json = JsonConvert.SerializeObject(result); + Response.Write(json); + Response.End(); + } + + + private object GetFuelRecords() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var type = HttpUtility.HtmlDecode(clientdata[0]); + var sdatestr = HttpUtility.HtmlDecode(clientdata[1]); + var edatestr = HttpUtility.HtmlDecode(clientdata[2]); + var searchtxt = HttpUtility.HtmlDecode(clientdata[3]); + + DateTime beginDate = DateTime.MinValue; + DateTime endDate = DateTime.MaxValue; + if (!DateTime.TryParse(sdatestr, out beginDate)) + beginDate = DateTime.MinValue; + if (!DateTime.TryParse(edatestr, out endDate)) + endDate = DateTime.MaxValue; + + FuelRecord[] fuels = CreateClient().GetFuelRecords(SystemParams.CompanyID, Convert.ToInt64(type), beginDate, endDate, searchtxt); + + List list = new List(); + foreach (FuelRecord fuel in fuels) + { + FuelRecordInfo fi = new FuelRecordInfo(); + Helper.CloneProperty(fi, fuel); + fi.TransactionDate = fi.TransactionDate.ToLocalTime(); + list.Add(fi); + } + + return list.ToArray(); + } + else + return new FuelRecordInfo[0]; + + } + catch (Exception ex) + { + AddLog("ERROR", "FuelRecordBasePage.GetFuelRecords", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object GetFuelRecordChangeHistory() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = Request.Form["ClientData"]; + long fuleid = Convert.ToInt64(HttpUtility.HtmlDecode(clientdata)); + + FuelRecordAuditInfo[] fuels = CreateClient().GetFuelRecordAuditItems(SystemParams.CompanyID, fuleid); + + List list = new List(); + foreach (FuelRecordAuditInfo fuel in fuels) + { + FuelRecordAuditItem fi = new FuelRecordAuditItem(); + Helper.CloneProperty(fi, fuel); + fi.TransactionDate = fi.TransactionDate.ToLocalTime(); + fi.AddedOn = fi.AddedOn.ToLocalTime(); + fi.LastUpdatedOn = fi.LastUpdatedOn.ToLocalTime(); + list.Add(fi); + } + + return list.ToArray(); + } + else + return new FuelRecordInfo[0]; + + } + catch (Exception ex) + { + AddLog("ERROR", "FuelRecordBasePage.GetFuelRecords", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object SaveFuelRecord() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = HttpUtility.HtmlDecode(Request.Params["ClientData"]); + FuelRecordInfo fuelrecord = JsonConvert.DeserializeObject(clientdata); + + FuelRecord record = new FuelRecord(); + Helper.CloneProperty(record, fuelrecord); + record.TransactionDate = record.TransactionDate.ToUniversalTime(); + long fuleid = record.FuelID; + if (record.FuelID == -1) + { + FuelRecord fr = CreateClient().AddNewFuelRecord(SystemParams.CompanyID, record, session.User.UID); + fuleid = fr.FuelID; + } + else + { + CreateClient().UpdateFuelRecord(SystemParams.CompanyID, record, session.User.UID); + } + + return fuleid; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object DeleteFuelRecord() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = Request.Form["ClientData"]; + long fuleid = Convert.ToInt64(HttpUtility.HtmlDecode(clientdata)); + + CreateClient().DeleteFuelRecord(SystemParams.CompanyID, fuleid, session.User.UID); + + return "OK"; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetFuelTypes() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + List> list = FuelManagementClient.FuelTypes.OrderBy(m => m.Value).ToList(); + var type1 = list.FirstOrDefault(m => m.Value == "Unleaded Regular"); + var type2 = list.FirstOrDefault(m => m.Value == "Unleaded Plus"); + var type3 = list.FirstOrDefault(m => m.Value == "Diesel #1"); + list.Remove(type1); + list.Remove(type2); + list.Remove(type3); + list = list.OrderBy(m => m.Value).ToList(); + list.Insert(0, type1); + list.Insert(1, type2); + list.Insert(2, type3); + return list.ToArray(); + } + else + return new StringKeyValue[0]; + } + catch (Exception ex) + { + AddLog("ERROR", "FuelRecordBasePage.GetFuelTypes", ex.Message, ex.ToString()); + return ex.Message; + } + } + + } +} diff --git a/IronIntelContractorSiteLib/Maintenance/MaintanceRecordsBasePage.cs b/IronIntelContractorSiteLib/Maintenance/MaintanceRecordsBasePage.cs new file mode 100644 index 0000000..257c317 --- /dev/null +++ b/IronIntelContractorSiteLib/Maintenance/MaintanceRecordsBasePage.cs @@ -0,0 +1,458 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Newtonsoft.Json; +using IronIntel.Contractor.Machines; +using IronIntel.Contractor.Maintenance; +using IronIntel.Services.Business.Admin; +using System.Web; +using IronIntel.Contractor.Users; +using Foresight.ServiceModel; +using Foresight.Fleet.Services.Attachment; +using IronIntel.Contractor.Attachment; + +namespace IronIntel.Contractor.Site.Maintenance +{ + public class MaintanceRecordsBasePage : ContractorBasePage + { + protected void ProcessRequest(string methodName) + { + object result = null; + + try + { + if (methodName != null) + { + switch (methodName.ToUpper()) + { + case "GETTYPESDATA": + GetTypesData(); + break; + case "GETRECORDS": + GetRecords(); + break; + case "GETMACHINES": + Getmachines(); + break; + case "GETMACHINEINFO": + GetmachineInfo(); + break; + case "SEARCHMACHINELIST": + SearchmachineList(); + break; + case "ADDMAINTENANCE": + result = Addmaintenance(); + break; + case "GETRECORDSBYMACHINEID": + GetRecordsbymachineID(); + break; + case "DELETEMAINTENANCE": + Deletemaintenance(); + break; + case "GETUNCOMPLETEDPMALERTS": + result = GetUnCompletedPMAlerts(); + break; + case "GETUSERSDATA": + GetUsersData(); + break; + case "GETMAINTANENCELOGATTACHLIST": + result = GetMaintanenceLogAttachList(); + break; + case "GETMAINTENANCEINFO": + result = GetMaintenanceInfo(); + break; + case "GETATTACHMENTS": + result = GetAttachments(); + break; + case "ADDATTACHMENT": + result = AddAttachment(); + break; + case "DELETEATTACHMENT": + result = DeleteAttachment(); + break; + } + } + } + catch (System.Threading.ThreadAbortException) + { + throw; + } + catch (Exception ex) + { + SystemParams.WriteLog("error", "MaintanceRecordsBasePage" + methodName, ex.Message, ex.ToString()); + } + string json = JsonConvert.SerializeObject(result); + Response.Write(json); + Response.End(); + } + private void GetTypesData() + { + string json = ""; + List> typeskeypair = new List>(); + MachineServiceClient2 mc = new MachineServiceClient2(SystemParams.SystemServiceAddresses[0]); + MachineType[] types = mc.GetMachineTypes(); + foreach (MachineType item in types) + { + typeskeypair.Add(new KeyValuePair(item.ID, item.Name)); + } + if (typeskeypair.Count > 0) + { + typeskeypair = typeskeypair.OrderBy(t => t.Value).ToList(); + } + json += JsonConvert.SerializeObject(typeskeypair); + Response.Write(json); + Response.End(); + } + + private void GetRecords() + { + var session = GetCurrentLoginSession(); + string json = ""; + long assetid = -1; + long.TryParse(Request.Params["assetid"], out assetid); + string maintenanceType = Request.Params["maintenancetype"]; + string mtype = Request.Params["type"]; + string searchtxt = HttpUtility.UrlDecode(Request.Params["searchtxt"]); + string sortype = HttpUtility.UrlDecode(Request.Params["sortype"]); + string sortdata = HttpUtility.UrlDecode(Request.Params["sortdata"]); + MaintenanceLogInfo[] logs = MaintenanceManagement.GetMaintenanceLog(session.SessionID, assetid, maintenanceType, string.IsNullOrWhiteSpace(mtype) ? -1 : Convert.ToInt32(mtype), searchtxt, session.User.UID); + + if (!string.IsNullOrWhiteSpace(sortype)) + { + if (string.Compare(sortype, "1", true) == 0) + { + if (string.Compare(sortdata, "DESC", true) == 0) + { + logs = logs.OrderByDescending(m => m.MaintenanceDate).ToArray(); + } + else + { + logs = logs.OrderBy(m => m.MaintenanceDate).ToArray(); + } + } + + if (string.Compare(sortype, "2", true) == 0) + { + if (string.Compare(sortdata, "DESC", true) == 0) + { + logs = logs.OrderByDescending(m => m.AlertTime).ToArray(); + } + else + { + logs = logs.OrderBy(m => m.AlertTime).ToArray(); + } + } + } + + + json += JsonConvert.SerializeObject(logs); + Response.Write(json); + Response.End(); + } + + private object GetMaintenanceInfo() + { + try + { + if (GetCurrentLoginSession() != null) + { + var id = Request.Form["ClientData"]; + + MaintenanceLogInfo ml = MaintenanceManagement.GetMaintenanceInfo(id); + return ml; + } + else + return new MaintenanceLogInfo(); + } + catch (Exception ex) + { + AddLog("ERROR", "MaintanceRecordsBasePage.GetMaintenanceInfo", ex.Message, ex.ToString()); + return ex.Message; + } + } + + + private void GetRecordsbymachineID() + { + string json = ""; + long mid = -1; + long.TryParse(Request.Params["machineID"].ToString(), out mid); + string maintenanceType = Request.Params["maintenancetype"]; + MaintenanceLogInfo[] logs = MaintenanceManagement.GetMaintenanceLogByMachineID(mid, maintenanceType).OrderByDescending(log => log.MaintenanceDate).ToArray(); + json += JsonConvert.SerializeObject(logs); + Response.Write(json); + Response.End(); + } + private void GetmachineInfo() + { + string json = ""; + long mid = -1; + long.TryParse(Request.Params["machineID"].ToString(), out mid); + MaintenanceMachineInfo machine = MaintenanceManagement.GetmachineByMachineID(mid); + json += JsonConvert.SerializeObject(machine); + Response.Write(json); + Response.End(); + } + private void Getmachines() + { + var session = GetCurrentLoginSession(); + string json = ""; + string mtype = Request.Params["type"]; + string searchtxt = HttpUtility.UrlDecode(Request.Params["searchtxt"]); + MaintenanceMachineInfo[] machines = MaintenanceManagement.GetMaintenanceMachines(session.SessionID, string.IsNullOrWhiteSpace(mtype) ? -1 : Convert.ToInt32(mtype), searchtxt, session.User.UID).OrderBy(t => t.VIN).ToArray(); + json += JsonConvert.SerializeObject(machines); + Response.Write(json); + Response.End(); + } + private void SearchmachineList() + { + var session = GetCurrentLoginSession(); + string json = ""; + string mtype = Request.Params["type"]; + string searchtxt = HttpUtility.UrlDecode(Request.Params["searchtxt"]); + + MaintenanceMachineInfo[] machines = MaintenanceManagement.GetMaintenanceMachines(session.SessionID, string.IsNullOrWhiteSpace(mtype) ? -1 : Convert.ToInt32(mtype), searchtxt, session.User.UID); + if (machines.Length > 0) + { + json = JsonConvert.SerializeObject(machines); + } + Response.Write(json); + Response.End(); + } + + private object Addmaintenance() + { + try + { + UserInfo u = GetCurrentUser(); + if (u != null) + { + var clientdata = Request.Form["ClientData"]; + MaintenanceLogInfo m = JsonConvert.DeserializeObject(clientdata); + + MaintenanceLogInfo oldinfo = null; + if (!string.IsNullOrEmpty(m.MaintenanceID)) + { + oldinfo = MaintenanceManagement.GetMaintenanceLogByMaintenanceID(m.MaintenanceID); + } + if (oldinfo == null) + { + oldinfo = new MaintenanceLogInfo(); + oldinfo.MaintenanceID = Guid.NewGuid().ToString().ToUpper(); + } + oldinfo.MachineID = m.MachineID; + oldinfo.MaintenanceDate = m.MaintenanceDate; + oldinfo.MaintenanceHours = m.MaintenanceHours; + oldinfo.ODOMeter = m.ODOMeter; + oldinfo.ODOMemterUOM = m.ODOMemterUOM; + oldinfo.Notes = HttpUtility.UrlDecode(m.Notes); + oldinfo.LogType = m.LogType; + oldinfo.Cost = m.Cost; + oldinfo.InvoiceNumber = m.InvoiceNumber; + oldinfo.AttachmentIDs = m.AttachmentIDs; + + if (oldinfo.AlertID != m.AlertID && oldinfo.AlertID > 0) + {//取消旧的Alert Completed状态 + MaintenanceManagement.SetPMAlertCompleted(oldinfo.AlertID, false, ""); + } + if (m.AlertID > 0)//对于Alert,关联了Maintenance Rocord才认为是完成 + {//更新新的Alert Completed状态 + MaintenanceManagement.SetPMAlertCompleted(m.AlertID, true, m.CompletedByName); + } + + oldinfo.CompletedByName = m.CompletedByName; + oldinfo.Completed = !string.IsNullOrWhiteSpace(m.CompletedByName);//对于Maintenance Rocord选择了Completed By就认为是完成 + oldinfo.AlertID = m.AlertID; + + MaintenanceManagement.UpdateMaintenanceLog(oldinfo, u.IID); + AttachmentsManagement.SaveAttach(oldinfo.MaintenanceID, u.IID, oldinfo.AttachmentIDs, AttachmentType.MaintenanceLog); + + return new string[] { oldinfo.MaintenanceID, "Saved Successfully." }; + } + else + return "Failed to save,The user is not logged."; + } + catch (Exception ex) + { + return ex.Message; + } + } + + + private void Deletemaintenance() + { + string maintenanceID = Request.Params["maintenanceid"].ToString(); + UserInfo u = GetCurrentUser(); + if (u != null) + { + MaintenanceLogInfo m = MaintenanceManagement.GetMaintenanceLogByMaintenanceID(maintenanceID); + if (m.AlertID > 0)//取消Alert Completed状态 + MaintenanceManagement.SetPMAlertCompleted(m.AlertID, false, ""); + MaintenanceManagement.DeleteMaintenanceLog(maintenanceID); + Response.Write(JsonConvert.SerializeObject("Deleted Successfully.")); + } + else + Response.Write(JsonConvert.SerializeObject("Failed to delete record.")); + Response.End(); + } + + private object GetUnCompletedPMAlerts() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + long machineid = -1; + long.TryParse(clientdata[0], out machineid); + string maintenanceid = clientdata[1]; + + PMAlert[] pmalerts = MaintenanceManagement.GetUnCompletedPMAlerts(machineid, maintenanceid); + + return pmalerts; + } + else + return new PMAlert[0]; + + } + catch (Exception ex) + { + AddLog("ERROR", "MaintanceRecordsBasePage.GetUnCompletedPMAlerts", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private void GetUsersData() + { + UserInfo[] user = UserManagement.GetUsers(); + user = user.OrderBy((u) => u.DisplayName).ToArray(); + string json = JsonConvert.SerializeObject(user); + Response.Write(json); + Response.End(); + } + + private object GetMaintanenceLogAttachList() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var id = HttpUtility.HtmlDecode(clientdata[0]); + var type = HttpUtility.HtmlDecode(clientdata[1]); + StringKeyValue[] attas = AttachmentsManagement.GetAttachList(id, type); + + return attas; + } + else + return new StringKeyValue[0]; + + } + catch (Exception ex) + { + AddLog("ERROR", "MaintanceRecordsBasePage.GetMaintanenceLogAttachList", ex.Message, ex.ToString()); + return ex.Message; + } + } + + + #region Attachment + + private object GetAttachments() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var woid = HttpUtility.HtmlDecode(clientdata[0]); + + AttachmentInfo[] atts = CreateClient().GetAttachments(SystemParams.CompanyID, "MaintenanceLog", woid); + if (atts == null || atts.Length <= 0) + return new AttachmentItem[0]; + + List list = new List(); + foreach (AttachmentInfo att in atts) + { + AttachmentItem item = new AttachmentItem(); + Helper.CloneProperty(item, att); + item.AddedOn = item.AddedOn.ToLocalTime(); + list.Add(item); + } + return list.OrderBy(m => m.AddedOn).ToArray(); + } + else + return new AttachmentItem[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object AddAttachment() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string woid = HttpUtility.HtmlDecode(Request.Form["ClientData"]); + + HttpPostedFile uploadFile = null; + byte[] iconfilebyte = null; + if (Request.Files.Count > 0) + { + uploadFile = Request.Files[0]; + iconfilebyte = ConvertFile2bytes(uploadFile); + } + + AttachmentInfo attachment = new AttachmentInfo(); + attachment.StringID = Guid.NewGuid().ToString().ToUpper(); + attachment.FileName = uploadFile == null ? "" : uploadFile.FileName; + attachment.Source = "MaintenanceLog"; + attachment.SourceID = woid; + attachment.FileData = iconfilebyte; + attachment.AddedByUserIID = session.User.UID; + + string attid = CreateClient().AddAttachmentLegacy(SystemParams.CompanyID, attachment); + + return "OK"; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object DeleteAttachment() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string attachid = HttpUtility.HtmlDecode(Request.Form["ClientData"]); + + CreateClient().DeleteAttachmentLegacy(SystemParams.CompanyID, attachid, session.User.UID); + return "OK"; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + + } + + + #endregion + } +} diff --git a/IronIntelContractorSiteLib/Maintenance/MaintenanceBasePage.cs b/IronIntelContractorSiteLib/Maintenance/MaintenanceBasePage.cs new file mode 100644 index 0000000..f783d64 --- /dev/null +++ b/IronIntelContractorSiteLib/Maintenance/MaintenanceBasePage.cs @@ -0,0 +1,138 @@ +using Foresight.ServiceModel; +using IronIntel.Services; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Site.Maintenance +{ + public class MaintenanceBasePage : ContractorBasePage + { + protected void ProcessRequest(string methodName) + { + object result = null; + + if (methodName != null) + { + switch (methodName.ToUpper()) + { + case "GETNAVS": + result = GetNavigations(); + break; + } + } + + string json = JsonConvert.SerializeObject(result); + Response.Write(json); + Response.End(); + } + private MaintenanceNavigateItem[] GetNavigations() + { + List list = GetNavigateItems(); + LicenseInfo license = SystemParams.GetLicense(); + if (license != null && license.Items.Count > 0) + { + var alitem = license.Items.FirstOrDefault(m => m.Key == "AlertsManagement"); + if (alitem == null || !Helper.IsTrue(alitem.Value)) + { + MaintenanceNavigateItem item = list.FirstOrDefault(m => m.ID == "nav_alertsmanagement"); + list.Remove(item); + } + var woitem = license.Items.FirstOrDefault(m => m.Key == "WorkOrder"); + if (woitem == null || !Helper.IsTrue(woitem.Value)) + { + MaintenanceNavigateItem item = list.FirstOrDefault(m => m.ID == "nav_workorder"); + list.Remove(item); + } + var fuelitem = license.Items.FirstOrDefault(m => m.Key == "FuelRecords"); + if (fuelitem == null || !Helper.IsTrue(fuelitem.Value)) + { + MaintenanceNavigateItem item = list.FirstOrDefault(m => m.ID == "nav_fuelrecord"); + list.Remove(item); + } + } + + return list.ToArray(); + } + + + private static List GetNavigateItems() + { + List list = new List(); + + MaintenanceNavigateItem item1 = new MaintenanceNavigateItem(); + item1.ID = "nav_alertsmanagement"; + item1.Title = "Alerts Management **New**"; + item1.Url = "AlertsManagement.aspx"; + item1.IconPath = "img/alert.png"; + list.Add(item1); + + MaintenanceNavigateItem item6 = new MaintenanceNavigateItem(); + item6.ID = "nav_workorder"; + item6.Title = "Work Order **New**"; + item6.Url = "WorkOrderMaintenance.aspx"; + item6.IconPath = "img/workorder.png"; + list.Add(item6); + + MaintenanceNavigateItem item3 = new MaintenanceNavigateItem(); + item3.ID = "nav_preventative"; + item3.Title = "Absolute Hours Maintenance"; + item3.Url = "PreventativeMaintenance.aspx"; + item3.IconPath = "img/preventative.png"; + list.Add(item3); + + MaintenanceNavigateItem item4 = new MaintenanceNavigateItem(); + item4.ID = "nav_timebased"; + item4.Title = "Relative Time Maintenance"; + item4.Url = "TimeBasedMaintenance.aspx"; + item4.IconPath = "img/timebased.png"; + list.Add(item4); + + MaintenanceNavigateItem item7 = new MaintenanceNavigateItem(); + item7.ID = "nav_hours"; + item7.Title = "Relative Hours Maintenance"; + item7.Url = "HoursMaintenance.aspx"; + item7.IconPath = "img/hours.png"; + list.Add(item7); + + MaintenanceNavigateItem item5 = new MaintenanceNavigateItem(); + item5.ID = "nav_absolutedistance"; + item5.Title = "Absolute Distance Maintenance"; + item5.Url = "AbsoluteDistanceMaintenance.aspx"; + item5.IconPath = "img/preventative.png"; + list.Add(item5); + + MaintenanceNavigateItem item8 = new MaintenanceNavigateItem(); + item8.ID = "nav_relativedistance"; + item8.Title = "Relative Distance Maintenance"; + item8.Url = "RelativeDistanceMaintenance.aspx"; + item8.IconPath = "img/hours.png"; + list.Add(item8); + + MaintenanceNavigateItem item2 = new MaintenanceNavigateItem(); + item2.ID = "nav_record"; + item2.Title = "Maintenance Record **Legacy**"; + item2.Url = "MaintanceRecordsManagement.aspx"; + item2.IconPath = "img/record.png"; + list.Add(item2); + + MaintenanceNavigateItem item9 = new MaintenanceNavigateItem(); + item9.ID = "nav_fuelrecord"; + item9.Title = "Fuel Records"; + item9.Url = "FuelRecordManagement.aspx"; + item9.IconPath = "img/fuelrecord.png"; + list.Add(item9); + return list; + } + public class MaintenanceNavigateItem + { + public string ID { get; set; } + public string Title { get; set; } + public string Url { get; set; } + public string IconPath { get; set; } + } + } +} diff --git a/IronIntelContractorSiteLib/Maintenance/MaintenanceParams.cs b/IronIntelContractorSiteLib/Maintenance/MaintenanceParams.cs new file mode 100644 index 0000000..c7ac847 --- /dev/null +++ b/IronIntelContractorSiteLib/Maintenance/MaintenanceParams.cs @@ -0,0 +1,26 @@ +using IronIntel.Contractor.Maintenance; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Site.Maintenance +{ + public class ScheduleSaveArgs + { + public string IID { get; set; } + public string Name { get; set; } + public string ScheduleUom { get; set; } + public string Type { get; set; } + public string Notes { get; set; } + + public PmIntervalItem[] Intervals { get; set; } + } + + public class ScheduleMachineArgs + { + public string IID { get; set; } + public MaintenanceMachineInfo[] Machines { get; set; } + } +} diff --git a/IronIntelContractorSiteLib/Maintenance/PreventativeMaintenanceBasePage.cs b/IronIntelContractorSiteLib/Maintenance/PreventativeMaintenanceBasePage.cs new file mode 100644 index 0000000..c8d2386 --- /dev/null +++ b/IronIntelContractorSiteLib/Maintenance/PreventativeMaintenanceBasePage.cs @@ -0,0 +1,449 @@ +using Foresight.Fleet.Services.AssetHealth; +using IronIntel.Contractor.Machines; +using IronIntel.Contractor.Maintenance; +using IronIntel.Services.Business.Admin; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Web; + +namespace IronIntel.Contractor.Site.Maintenance +{ + public class PreventativeMaintenanceBasePage : ContractorBasePage + { + protected void ProcessRequest(string methodName) + { + object result = null; + + try + { + if (methodName != null) + { + switch (methodName.ToUpper()) + { + case "GETPMSCHEDULE": + result = GetPmSchedule(); + break; + case "DELETEPMSCHEDULE": + result = DeletePmScheule(); + break; + case "SAVEPMSCHEDULE": + result = SavePmSchedule(); + break; + case "ADDPMINTERVAL": + result = AddPmInterval(); + break; + case "UPDATEPMINTERVAL": + result = UpdatePmInterval(); + break; + case "DELETEPMINTERVAL": + result = DeletePmInterval(); + break; + + case "GETMACHINETYPES": + Machines.MachineManagement.RefreshMachineTypes(); + result = MachineManagement.GetMachineTypes().OrderBy(m => m.Name).Select(t => new + { + ID = t.ID, + Name = t.Name + }); + break; + case "GETMACHINELIST": + result = GetMachineList(); + break; + case "GETSELECTEDMACHINES": + result = GetSelectedMachines(); + break; + case "SAVEMACHINES": + result = SaveMachines(); + break; + case "REMOVEPMASSETS": + result = RemovePMAssets(); + break; + case "GETPMINTERVALBYSCHEDULEID": + result = GetPmIntervalByScheduleID(); + break; + case "GETPMSCHEDULEBYID": + result = GetPMScheduleByID(); + break; + } + } + } + catch (Exception ex) + { + result = ex.Message; + SystemParams.WriteLog("Error", "PreventativeMaintenanceBasePage.ProcessRequest", ex.Message, ex.ToString()); + } + + string json = JsonConvert.SerializeObject(result); + Response.Write(json); + Response.End(); + } + + private object GetPmIntervalByScheduleID() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + + string scheduleid = Request.Form["ClientData"]; + return MaintenanceManagement.GetPmInterval(session.SessionID, scheduleid); + } + else + return new PmIntervalItem[0]; + } + catch (Exception ex) + { + AddLog("ERROR", "PreventativeMaintenanceBasePage.GetPmIntervalByScheduleID", ex.Message, ex.ToString()); + return ex.Message; + } + } + + + private object GetPmSchedule() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string pmtype = Request.Form["ClientData"]; + if (string.IsNullOrWhiteSpace(pmtype)) + pmtype = "PM"; + + return MaintenanceManagement.GetPmSchedule(session.SessionID, pmtype); + } + else + return new PmScheduleInfo[0]; + } + catch (Exception ex) + { + AddLog("ERROR", "PreventativeMaintenanceBasePage.GetPmSchedule", ex.Message, ex.ToString()); + return ex.Message; + } + } + private object GetPMScheduleByID() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string scheduleid = Request.Form["ClientData"]; + + return MaintenanceManagement.GetPMScheduleByID(session.SessionID, scheduleid); + } + else + return null; + } + catch (Exception ex) + { + AddLog("ERROR", "PreventativeMaintenanceBasePage.GetPMScheduleByID", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object DeletePmScheule() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + + var iid = Request.Form["ClientData"]; + CreateClient().DeletePMSchedule(SystemParams.CompanyID, iid, session.User.UID); + return string.Empty; + } + else + return "Failed"; + + } + catch (Exception ex) + { + return "Failed to delete schedule: " + ex.Message; + } + } + + private object SavePmSchedule() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var s = HttpUtility.HtmlDecode(Request.Form["ClientData"]); + var item = JsonConvert.DeserializeObject(s); + + if (string.IsNullOrWhiteSpace(item.Name)) + { + return "The schedule name cannot be empty or just whitespaces."; + } + + PmScheduleInfo si; + if (item.Intervals == null) + { + item.Intervals = new PmIntervalItem[0]; + } + else + { + for (int i = 0; i < item.Intervals.Length; i++) + { + if (string.IsNullOrEmpty(item.Intervals[i].PmIntervalID)) + item.Intervals[i].PmIntervalID = Guid.NewGuid().ToString(); + item.Intervals[i].ServiceName = item.Intervals[i].ServiceName.Trim(); + } + } + si = new PmScheduleInfo + { + PmScheduleID = string.IsNullOrWhiteSpace(item.IID) ? Guid.NewGuid().ToString() : item.IID, + PmScheduleName = item.Name.Trim(), + PmScheduleType = item.Type, + PmScheduleUom = item.ScheduleUom, + Notes = item.Notes, + Intervals = item.Intervals + }; + MaintenanceManagement.UpdatePmSchedule(session.SessionID, si, session.User.UID); + + return si.PmScheduleID; + } + else + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private string AddPmInterval() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var s = HttpUtility.HtmlDecode(Request.Form["ClientData"]); + PmScheduleInfo item; + item = JsonConvert.DeserializeObject(s); + PmIntervalItem piclient = item.Intervals[0]; + piclient.PmIntervalID = Guid.NewGuid().ToString(); + piclient.ScheduleId = item.PmScheduleID; + + if (string.IsNullOrWhiteSpace(piclient.ServiceName)) + { + return "Service Name cannot be empty."; + } + else + { + piclient.ServiceName = piclient.ServiceName.Trim(); + } + + MaintenanceManagement.UpdatePmInterval(session.SessionID, piclient, session.User.UID); + + return string.Empty; + } + else + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object UpdatePmInterval() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var s = HttpUtility.HtmlDecode(Request.Form["ClientData"]); + PmIntervalItem item = JsonConvert.DeserializeObject(s); + + if (string.IsNullOrWhiteSpace(item.ServiceName)) + { + return "Service Name cannot be empty."; + } + else + { + item.ServiceName = item.ServiceName.Trim(); + } + + MaintenanceManagement.UpdatePmInterval(session.SessionID, item, session.User.UID); + + return string.Empty; + } + else + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private string DeletePmInterval() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var iid = Request.Form["ClientData"]; + CreateClient().DeletePMIntervals(SystemParams.CompanyID, new string[] { iid }, session.User.UID); + return string.Empty; + } + else + return "Failed"; + + } + catch (Exception ex) + { + return "Failed to delete interval: " + ex.Message; + } + } + + private MaintenanceMachineInfo[] GetMachineList() + { + var session = GetCurrentLoginSession(); + var s = Request.Form["ClientData"]; + var type = JsonConvert.DeserializeObject(s); + + //MaintenanceMachineInfo[] selected; + //if (!string.IsNullOrWhiteSpace(type.VIN)) + //{ + // selected = MaintenanceManagement.GetPmMachinesByScheduleId(type.VIN); + //} + //else + //{ + // selected = new MaintenanceMachineInfo[0]; + //} + + var machines = MaintenanceManagement.GetMaintenanceMachines1(session.SessionID, (int)type.MachineID, type.Name, session.User.UID) + //.Where(m => !selected.Any(t => t.MachineID == m.MachineID)) + .OrderBy(m => m.VIN) + .ToArray(); + + return machines; + } + + private PMAssetItem[] GetSelectedMachines() + { + var iid = Request.Form["ClientData"]; + List result = new List(); + var assets = CreateClient().GetPMAssets(SystemParams.CompanyID, iid); + foreach (var asset in assets) + { + PMAssetItem a = new PMAssetItem(); + Helper.CloneProperty(a, asset); + a.EngineHours = asset.CurrentEngineHours; + a.Odometer = asset.CurrentOdometer; + result.Add(a); + } + return result.ToArray(); + } + + private string SaveMachines() + { + var u = GetCurrentUser(); + if (u != null) + { + var s = Request.Form["ClientData"]; + var p = JsonConvert.DeserializeObject(s); + //MaintenanceManagement.UpdatePmMachines(ids.IID, ids.Assets); + List assets = new List(); + if (p.Assets != null) + { + foreach (var a in p.Assets) + { + PMAssetInfo pmAsset = new PMAssetInfo(); + pmAsset.AssetId = a.AssetId; + pmAsset.StartHours = a.StartHours; + pmAsset.StartOdometer = a.StartOdometer; + pmAsset.StartDate = a.StartDate; + pmAsset.StartIntervalValue = a.StartIntervalValue; + assets.Add(pmAsset); + } + } + CreateClient().UpdatePMScheduleAssets(SystemParams.CompanyID, p.IID, assets.ToArray(), u.IID); + } + + return string.Empty; + } + + private string RemovePMAssets() + { + var u = GetCurrentUser(); + if (u != null) + { + var s = Request.Form["ClientData"]; + var p = JsonConvert.DeserializeObject(s); + + CreateClient().DeleteAssetsFromSchedule(SystemParams.CompanyID, p.ScheduleID, p.Assets, u.IID); + } + + return string.Empty; + } + + class RemovePMAssetsArgs + { + public string ScheduleID { get; set; } + public long[] Assets { get; set; } + } + + class ScheduleAssetArgs + { + public string IID { get; set; } + public PMAssetItem[] Assets { get; set; } + } + + + class PMAssetItem + { + public string ModelName { get; set; } + public string Notes { get; set; } + public double? StartOdometer { get; set; } + public double? StartHours { get; set; } + public DateTime? StartDate { get; set; } + public string TypeName { get; set; } + public int AlertsCount { get; set; } + public int UnMaintainedAlert { get; set; } + public string MakeName { get; set; } + public string Name { get; set; } + public string VIN { get; set; } + public long AssetId { get; set; } + public double? EngineHours { get; set; } + public double? Odometer { get; set; } + public string PMScheduleId { get; set; } + public int? StartIntervalValue { get; set; } + public string StartDateString + { + get + { + if (StartDate == null) + return ""; + else + return StartDate.Value.ToString("MM/dd/yyyy"); + } + } + } + + class ScheduleSaveArgs + { + public string IID { get; set; } + public string Name { get; set; } + public string ScheduleUom { get; set; } + public string Type { get; set; } + public string Notes { get; set; } + + public PmIntervalItem[] Intervals { get; set; } + } + } +} diff --git a/IronIntelContractorSiteLib/Maintenance/WorkOrderBasePage.cs b/IronIntelContractorSiteLib/Maintenance/WorkOrderBasePage.cs new file mode 100644 index 0000000..1d14f2d --- /dev/null +++ b/IronIntelContractorSiteLib/Maintenance/WorkOrderBasePage.cs @@ -0,0 +1,879 @@ +using Foresight.Data; +using Foresight.Fleet.Services.Asset; +using Foresight.Fleet.Services.AssetHealth; +using Foresight.Fleet.Services.Attachment; +using Foresight.Fleet.Services.JobSite; +using Foresight.ServiceModel; +using IronIntel.Contractor.Attachment; +using IronIntel.Contractor.JobSites; +using IronIntel.Contractor.Machines; +using IronIntel.Contractor.Maintenance; +using IronIntel.Contractor.MapView; +using IronIntel.Contractor.Users; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Web; + +namespace IronIntel.Contractor.Site.Maintenance +{ + public class WorkOrderBasePage : ContractorBasePage + { + protected void ProcessRequest(string methodName) + { + object result = null; + + if (methodName != null) + { + switch (methodName.ToUpper()) + { + case "GETWORKORDERS": + result = GetWorkOrders(); + break; + case "SAVEWORKORDER": + result = SaveWorkOrder(); + break; + case "DELETEWORKORDER": + result = DeleteWorkOrder(); + break; + case "GETCONTACTS": + result = GetContacts(); + break; + case "GETMACHINES": + result = GetMachines(); + break; + case "GETWORKORDERINFO": + result = GetWorkOrderInfo(); + break; + case "GETOPENWORKORDERID": + result = GetOpenWorkOrderID(); + break; + case "GETSEGMENTS": + result = GetSegments(); + break; + case "SAVESEGMENT": + result = SaveSegment(); + break; + case "DELETESEGMENT": + result = DeleteSegment(); + break; + case "GETSEGMENTCLIENT": + result = GetSegmentClient(); + break; + case "GETNONEASSIGNEDALERTS": + result = GetNoneAssignedAlerts(); + break; + case "ADDORREMOVEALERTSFROMWORKORDER": + result = AddOrRemoveAlertsFromWorkOrder(); + break; + case "GETATTACHMENTS": + result = GetAttachments(); + break; + case "ADDATTACHMENT": + result = AddAttachment(); + break; + case "DELETEATTACHMENT": + result = DeleteAttachment(); + break; + case "GETASSETATTACHMENTS": + result = GetAssetAttachments(); + break; + case "GETMACHINECONTACTS": + result = GetMachineContacts(); + break; + case "SENDWORKORDER": + result = SendWorkOrder(); + break; + case "GETINVOICENUMBER": + result = GetInvoiceNumber(); + break; + case "GETALERTSFORWORKORDER": + result = GetAlertsForWorkOrder(); + break; + } + } + + string json = JsonConvert.SerializeObject(result); + Response.Write(json); + Response.End(); + } + + private object GetWorkOrders() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Form["ClientData"]; + clientdata = HttpUtility.HtmlDecode(clientdata); + WorkOrderQueryParams p = JsonConvert.DeserializeObject(clientdata); + + WorkOrderItem[] workorders = null; + if (p.AssetID > 0) + workorders = CreateClient().GetWorkOrderItemsByAsset(SystemParams.CompanyID, p.AssetID); + else + workorders = CreateClient().GetWorkOrderItems(SystemParams.CompanyID, p.Contacts, p.Status, p.AssetGroups, p.SearchText, session.User.UID); + + WorkOrderInfo[] maintenanceworkorders = null;// + if (p.ShowMaintenance) + maintenanceworkorders = MaintenanceManagement.GetMaintenanceWorkOrders(session.SessionID, SystemParams.CompanyID, p.Contacts, p.AssetGroups, p.SearchText, session.User.UID); + + //普通用户机器权限过滤 + var user = GetCurrentUser(); + long[] availableAssetsids = null; + if (user.UserType < UserTypes.Admin) + availableAssetsids = CreateClient().GetAvailableAssetsForUsers(SystemParams.CompanyID, session.User.UID); + + List list = new List(); + + if (maintenanceworkorders != null) + { + foreach (WorkOrderInfo wi in maintenanceworkorders) + { + if (availableAssetsids != null && !availableAssetsids.Contains(wi.AssetID)) + continue; + + list.Add(wi); + } + } + + foreach (WorkOrderItem wo in workorders) + { + WorkOrderInfo wi = new WorkOrderInfo(); + Helper.CloneProperty(wi, wo); + if (availableAssetsids != null && !availableAssetsids.Contains(wi.AssetID)) + continue; + + list.Add(wi); + } + + return list.OrderBy(m => m.ID).ToArray(); + } + else + return new WorkOrderInfo[0]; + + } + catch (Exception ex) + { + AddLog("ERROR", "WorkOrderBasePage.GetWorkOrders", ex.Message, ex.ToString()); + return ex.Message; + } + } + + + private object GetWorkOrderInfo() + { + try + { + if (GetCurrentLoginSession() != null) + { + var woid = Request.Form["ClientData"]; + + WorkOrderDetail wod = CreateClient().GetWorkOrderDetail(SystemParams.CompanyID, Convert.ToInt64(woid)); + + WorkOrderDetailInfo wo = new WorkOrderDetailInfo(); + Helper.CloneProperty(wo, wod); + return wo; + } + else + return new WorkOrderDetailInfo(); + } + catch (Exception ex) + { + AddLog("ERROR", "WorkOrderBasePage.GetWorkOrderInfo", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object GetAlertsForWorkOrder() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"]; + clientdata = HttpUtility.HtmlDecode(clientdata); + string[] ps = JsonConvert.DeserializeObject(clientdata); + + var woid = ps[0]; + var aid = ps[1]; + long workorderid = Convert.ToInt64(woid); + long assetid = Convert.ToInt64(aid); + AlertManager am = new AlertManager(SystemParams.DataDbConnectionString); + AlertInfo[] alerts = am.GetAlertsByWorkOrder(workorderid); + + AssetAlertItem[] aAlerts = CreateClient().GetNoneAssignedAlerts(SystemParams.CompanyID, assetid); + List assetAlerts = new List(); + if (aAlerts != null) + { + foreach (var aa in aAlerts) + { + AlertInfo ai = new AlertInfo(); + ai.AlertID = aa.ID; + ai.MachineID = aa.AssetID; + ai.AlertType = aa.AlertType; + ai.Description = aa.Description; + ai.AlertTime_UTC = aa.AlertTime; + assetAlerts.Add(ai); + } + } + + WorkorderAlerts wa = new WorkorderAlerts(); + wa.Alerts = alerts; + wa.AssetAlerts = assetAlerts.ToArray(); ; + + return wa; + } + else + return null; + } + catch (Exception ex) + { + AddLog("ERROR", "AlertsBasePage.GetAlertsByWorkOrder", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object GetOpenWorkOrderID() + { + try + { + if (GetCurrentLoginSession() != null) + { + var mid = Request.Form["ClientData"]; + long aid = 0; + long.TryParse(mid, out aid); + + var wos = CreateClient().GetWorkOrderItemsByAsset(SystemParams.CompanyID, aid); + List workorderids = new List(); + foreach (var wo in wos) + { + if (!wo.Completed) + workorderids.Add(wo.ID); + } + //WorkOrderManager workordermanager = new WorkOrderManager(SystemParams.DataDbConnectionString); + //long[] workorderids = workordermanager.GetOpenWorkOrderID(mid); + string ids = string.Join(", ", workorderids); + ids = mid + "|" + ids; + return ids; + } + else + return new WorkOrderInfo(); + } + catch (Exception ex) + { + AddLog("ERROR", "WorkOrderBasePage.GetOpenWorkOrderID", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object SaveWorkOrder() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var workorderitem = HttpUtility.HtmlDecode(clientdata[0]); + var ids = HttpUtility.HtmlDecode(clientdata[1]); + long[] alertids = JsonConvert.DeserializeObject(ids); + + WorkOrderDetailInfo wdi = JsonConvert.DeserializeObject(workorderitem); + if (wdi.CompleteDate != null) + wdi.Status = "Completed"; + + WorkOrderDetail wo = new WorkOrderDetail(); + Helper.CloneProperty(wo, wdi); + + long workorderid = wo.ID; + if (wo.ID == -1) + { + wo = CreateClient().AddNewWorkOrder(SystemParams.CompanyID, wo, alertids, session.User.UID); + workorderid = wo.ID; + } + else + { + WorkOrderDetail oldwo = CreateClient().GetWorkOrderDetail(SystemParams.CompanyID, workorderid); + var user = UserManagement.GetUserByIID(session.User.UID); + if (oldwo.Status == "Completed" && user.UserType < UserTypes.Admin) + { + return ""; + } + CreateClient().UpdateWorkOrder(SystemParams.CompanyID, wo, session.User.UID); + } + + return workorderid; + } + else + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object DeleteWorkOrder() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = Request.Form["ClientData"]; + int id = Convert.ToInt32(HttpUtility.HtmlDecode(clientdata)); + + CreateClient().DeleteWorkOrder(SystemParams.CompanyID, id, session.User.UID); + + return "OK"; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; ; + } + } + + private UserInfo[] GetContacts() + { + var session = GetCurrentLoginSession(); + UserInfo[] users = null; + if (GetCurrentLoginSession() != null) + { + //contact = ContactManagement.GetContacts(); + users = UserManagement.GetActiveUsers(session.SessionID); + users = users.OrderBy(u => u.DisplayName).ToArray(); + } + else + { + users = new UserInfo[0]; + } + return users; + } + + private MachineItem[] GetMachines() + { + var session = GetCurrentLoginSession(); + MachineItem[] machines = null; + if (GetCurrentLoginSession() != null) + { + machines = MachineManagement.GetMachines(session.SessionID, session.User.UID, ""); + } + else + { + machines = new MachineItem[0]; + } + return machines.Where(m => m.Hide == false).OrderBy(m => m.ShowName).ToArray(); + } + + + private object GetNoneAssignedAlerts() + { + try + { + if (GetCurrentLoginSession() != null) + { + var id = Request.Form["ClientData"]; + long assetid = Convert.ToInt64(id); + + AssetAlertItem[] alerts = CreateClient().GetNoneAssignedAlerts(SystemParams.CompanyID, assetid); + if (alerts == null || alerts.Length == 0) + return new AssetAlertInfo[0]; + + List list = new List(); + foreach (AssetAlertItem alert in alerts) + { + AssetAlertInfo ai = new AssetAlertInfo(); + Helper.CloneProperty(ai, alert); + ai.AlertTime = ai.AlertTime.ToLocalTime(); + ai.CompletedDate = ai.AlertTime.ToLocalTime(); + list.Add(ai); + } + return list.ToArray(); + } + else + return new AssetAlertInfo[0]; + } + catch (Exception ex) + { + AddLog("ERROR", "AlertsBasePage.GetNoneAssignedAlerts", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object AddOrRemoveAlertsFromWorkOrder() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var woid = HttpUtility.HtmlDecode(clientdata[0]); + var ids = HttpUtility.HtmlDecode(clientdata[1]); + var isaddstr = HttpUtility.HtmlDecode(clientdata[2]); + bool isadd = Helper.IsTrue(isaddstr); + long[] alertids = JsonConvert.DeserializeObject(ids); + + + CreateClient().AddOrRemoveAlertsFromWorkOrder(SystemParams.CompanyID, Convert.ToInt64(woid), alertids, isadd, session.User.UID); + + return "OK"; + } + else + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + + + #region Segment + + private object GetSegmentClient() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + SegmentClient client = new SegmentClient(); + + client.Users = UserManagement.GetUsers(); + if (client.Users == null) + client.Users = new UserInfo[0]; + + var jss = CreateClient().GetJobSiteItems(SystemParams.CompanyID, "", false); + List list = new List(); + foreach (var js in jss) + { + JobSiteViewItem item = new JobSiteViewItem(); + item.ID = js.ID; + item.Name = js.Name; + + list.Add(item); + } + + client.JobSites = list.ToArray(); + if (client.JobSites == null) + client.JobSites = new JobSiteViewItem[0]; + + return client; + } + else + return new SegmentClient(); + } + catch (Exception ex) + { + AddLog("ERROR", "WorkOrderBasePage.GetSegmentClient", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object GetSegments() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = Request.Form["ClientData"]; + long woid = Convert.ToInt64(HttpUtility.HtmlDecode(clientdata)); + + WorkOrderSegmentItem[] segments = CreateClient().GetSegments(SystemParams.CompanyID, woid); + if (segments == null || segments.Length == 0) + return new SegmentInfo[0]; + + List list = new List(); + foreach (WorkOrderSegmentItem se in segments) + { + SegmentInfo si = new SegmentInfo(); + Helper.CloneProperty(si, se); + list.Add(si); + } + return list.ToArray(); + } + else + return new SegmentInfo[0]; + + } + catch (Exception ex) + { + AddLog("ERROR", "WorkOrderBasePage.GetSegments", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object SaveSegment() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = Request.Form["ClientData"]; + SegmentInfo si = JsonConvert.DeserializeObject(clientdata); + if (si.CompletedDate != null) + si.Completed = true; + + WorkOrderSegmentItem segment = new WorkOrderSegmentItem(); + Helper.CloneProperty(segment, si); + + long segmentid = segment.SegmentID; + if (segmentid == -1) + { + segment = CreateClient().AddSegment(SystemParams.CompanyID, segment, session.User.UID); + segmentid = segment.SegmentID; + } + else + { + CreateClient().UpdateSegment(SystemParams.CompanyID, segment, session.User.UID); + } + + return segmentid; + } + else + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object DeleteSegment() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string clientdata = Request.Form["ClientData"]; + int id = Convert.ToInt32(HttpUtility.HtmlDecode(clientdata)); + + CreateClient().DeleteSegment(SystemParams.CompanyID, id, session.User.UID); + + return "OK"; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; ; + } + } + + + #endregion + + #region Attachment + + private object GetAttachments() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var woid = HttpUtility.HtmlDecode(clientdata[0]); + + AttachmentInfo[] atts = CreateClient().GetAttachments(SystemParams.CompanyID, "WorkOrder", woid); + if (atts == null || atts.Length <= 0) + return new AttachmentItem[0]; + + List list = new List(); + foreach (AttachmentInfo att in atts) + { + AttachmentItem item = new AttachmentItem(); + Helper.CloneProperty(item, att); + item.AddedOn = item.AddedOn.AddHours(SystemParams.GetHoursOffset()); + list.Add(item); + } + return list.OrderBy(m => m.AddedOn).ToArray(); + } + else + return new AttachmentItem[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object AddAttachment() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string woid = HttpUtility.HtmlDecode(Request.Form["ClientData"]); + + HttpPostedFile uploadFile = null; + byte[] iconfilebyte = null; + if (Request.Files.Count > 0) + { + uploadFile = Request.Files[0]; + iconfilebyte = ConvertFile2bytes(uploadFile); + } + + AttachmentInfo attachment = new AttachmentInfo(); + attachment.StringID = Guid.NewGuid().ToString().ToUpper(); + attachment.FileName = uploadFile == null ? "" : uploadFile.FileName; + attachment.Source = "WorkOrder"; + attachment.SourceID = woid; + attachment.FileData = iconfilebyte; + attachment.AddedByUserIID = session.User.UID; + + string attid = CreateClient().AddAttachmentLegacy(SystemParams.CompanyID, attachment); + + return "OK"; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object DeleteAttachment() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string attachid = HttpUtility.HtmlDecode(Request.Form["ClientData"]); + + CreateClient().DeleteAttachmentLegacy(SystemParams.CompanyID, attachid, session.User.UID); + return "OK"; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + + } + + private object GetAssetAttachments() + { + try + { + if (GetCurrentLoginSession() != null) + { + var assetid = Request.Form["ClientData"]; + AssetAttachmentInfo[] atts = CreateClient().GetAttachments(SystemParams.CompanyID, Convert.ToInt64(assetid)).Where(m => m.VisibleOnWorkOrder == true).ToArray(); + if (atts == null || atts.Length <= 0) + return new AssetAttachmentItem[0]; + + List list = new List(); + foreach (AssetAttachmentInfo att in atts) + { + AssetAttachmentItem item = new AssetAttachmentItem(); + Helper.CloneProperty(item, att); + item.AddedOn = item.AddedOn.AddHours(SystemParams.GetHoursOffset()); + list.Add(item); + } + return list.OrderBy(m => m.AddedOn).ToArray(); + } + else + return new AssetAttachmentInfo[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + + #endregion + + #region Sned Email + private object GetMachineContacts() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var assetid = Request.Form["ClientData"]; + return UserManagement.GetUsersByAssetID(session.SessionID, Convert.ToInt64(assetid), SystemParams.CompanyID); + } + else + return new UserInfo[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object SendWorkOrder() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var woid = HttpUtility.HtmlDecode(clientdata[0]); + var address = HttpUtility.HtmlDecode(clientdata[1]); + var desc = HttpUtility.HtmlDecode(clientdata[2]); + string[] emailaddress = JsonConvert.DeserializeObject(address); + + WorkOrderDetail wod = CreateClient().GetWorkOrderDetail(SystemParams.CompanyID, Convert.ToInt64(woid)); + WorkOrderDetailInfo wo = new WorkOrderDetailInfo(); + Helper.CloneProperty(wo, wod); + SendMail(wo, emailaddress, desc, session.User); + return "OK"; + } + else + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private void SendMail(WorkOrderDetailInfo wo, string[] emailaddress, string desc, Services.Users.UserInfoEx user) + { + if (emailaddress == null || emailaddress.Length == 0) + return; + + string Subject = "Work Order " + wo.ID; + string Body = OrdinaryEmailFormat(wo, desc, user.ID); + + CreateClient().SendWorkOrderEmail(SystemParams.CompanyID, wo.ID, Subject, Body, emailaddress.ToArray(), user.UID); + } + + private string OrdinaryEmailFormat(WorkOrderDetailInfo wo, string desc, string userid) + { + string EmailFormat = ""; + EmailFormat += ""; + EmailFormat += ""; + EmailFormat += ""; + EmailFormat += ""; + + EmailFormat += ""; + EmailFormat += ""; + + EmailFormat += "
Details for work order <{3}> are listed below.To view or edit this work order,please click the below link:
Link
Message from: {0}
Description: 
{1}
Work Order Information: 
{2}
"; + + string absuri = Context.Request.Url.AbsoluteUri; + string wourl = absuri.Substring(0, absuri.LastIndexOf("/Maintenance", StringComparison.OrdinalIgnoreCase)); + wourl = wourl + "/jump.aspx?p=" + Convert.ToBase64String(Encoding.UTF8.GetBytes("jt=woe;woid=" + wo.ID)); + + return string.Format(EmailFormat, userid, desc.Replace("\n", "
"), WorkOrderFormat(wo), wo.ID, wourl); + } + + public static string WorkOrderFormat(WorkOrderDetailInfo wo) + { + string EmailFormat = ""; + EmailFormat += ""; + EmailFormat += ""; + EmailFormat += ""; + EmailFormat += ""; + EmailFormat += ""; + EmailFormat += ""; + if (string.Compare(wo.MeterType, "HourMeter", true) == 0 || string.Compare(wo.MeterType, "Both", true) == 0) + EmailFormat += ""; + if (string.Compare(wo.MeterType, "Odometer", true) == 0 || string.Compare(wo.MeterType, "Both", true) == 0) + EmailFormat += ""; + EmailFormat += ""; + + EmailFormat += ""; + EmailFormat += ""; + EmailFormat += ""; + EmailFormat += ""; + EmailFormat += ""; + + EmailFormat += ""; + EmailFormat += ""; + EmailFormat += ""; + + EmailFormat += ""; + + EmailFormat += ""; + EmailFormat += "
Work Order Type: {0}
Assigned To: {1}
Status: {2}
Due Date: {3}
Description: {4}
Meter Type: {5}
Hour Meter: {6}
Odometer: {7} {8}
Work Order Total Costs ($): {9}
Other Cost ($): {19}
Parts Cost ($): {14}
Travel Time Cost ($): {15}
Labor Cost ($): {16}
Hourly Rate: {17}
Time To Complete(Hrs): {10}
Completed Date: {11}
Internal ID: {12}
Invoice Number: {18}
Notes: {13}
"; + + string SendStr = string.Format(EmailFormat, + HttpUtility.HtmlEncode(wo.WorkOrderType), + HttpUtility.HtmlEncode(wo.AssignedToName), + HttpUtility.HtmlEncode(wo.Status), + HttpUtility.HtmlEncode(wo.DueDateStr), + HttpUtility.HtmlEncode(wo.Description).Replace("\n", "
"), + HttpUtility.HtmlEncode(wo.MeterType), + HttpUtility.HtmlEncode(wo.HourMeter), + HttpUtility.HtmlEncode(wo.Odometer), + HttpUtility.HtmlEncode(wo.OdometerUnits), + HttpUtility.HtmlEncode(wo.WorkOrderTotalCost), + HttpUtility.HtmlEncode(wo.HoursToComplete), + HttpUtility.HtmlEncode(wo.CompleteDateStr), + HttpUtility.HtmlEncode(wo.InternalID), + HttpUtility.HtmlEncode(wo.Notes).Replace("\n", "
"), + HttpUtility.HtmlEncode(wo.PartsCost), + HttpUtility.HtmlEncode(wo.TravelTimeCost), + HttpUtility.HtmlEncode(wo.LaborCost), + HttpUtility.HtmlEncode(wo.HourlyRate), + HttpUtility.HtmlEncode(wo.InvoiceNumber), + HttpUtility.HtmlEncode(wo.OtherCost)); + return SendStr; + } + + #endregion + + private object GetInvoiceNumber() + { + try + { + if (GetCurrentLoginSession() != null) + { + var woid = Request.Form["ClientData"]; + return new WorkOrderManager(SystemParams.DataDbConnectionString).GetInvoiceNumber(woid); + } + else + return new string[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + } + + + + public class SegmentClient + { + public UserInfo[] Users { get; set; } + public JobSiteViewItem[] JobSites { get; set; } + } + + public class WorkOrderQueryParams + { + public long AssetID { get; set; } + public string SearchText { get; set; } + public string[] Contacts { get; set; } + public string[] Status { get; set; } + public string[] AssetGroups { get; set; } + public bool ShowMaintenance { get; set; } + } + + class WorkorderAlerts + { + public AlertInfo[] Alerts { get; set; } + public AlertInfo[] AssetAlerts { get; set; } + } +} diff --git a/IronIntelContractorSiteLib/MapView/MapViewHandler.cs b/IronIntelContractorSiteLib/MapView/MapViewHandler.cs new file mode 100644 index 0000000..0920c62 --- /dev/null +++ b/IronIntelContractorSiteLib/MapView/MapViewHandler.cs @@ -0,0 +1,698 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.IO; +using System.Web; +using Newtonsoft.Json; +using IronIntel.Site; +using IronIntel.Contractor.MapView; +using IronIntel.Contractor.Users; +using Foresight.ServiceModel; +using IronIntel.Contractor.Contact; +using Foresight.Fleet.Services.Attachment; +using Foresight.Fleet.Services.JobSite; +using Foresight.Fleet.Services.MapView; + +namespace IronIntel.Contractor.Site.MapView +{ + public class MapViewHandler : IronIntelHttpHandlerBase + { + public override string GetIronSystemServiceAddress() + { + return SystemParams.SystemServiceAddresses[0]; + } + + public MapViewHandler(HttpContext context) + : base(context) + { + } + + public override void ProcessRequest() + { + object result = "\"OK\""; + string methidName = Context.Request.Params["MethodName"]; + try + { + switch (methidName) + { + case "GetAssets": + result = GetAssets(); + break; + case "GetAssetGroups": + result = GetAssetGroups(); + break; + case "GetContractors": + result = GetContractors(); + break; + case "GetHistoryLocation": + result = GetHistoryLocation(); + break; + case "GetJobSites": + result = GetJobSites(); + break; + case "GetCompanyLocations": + result = GetCompanyLocations(); + break; + case "GetMapAlertLayers": + result = GetMapAlertLayers(); + break; + case "GetUserParams": + result = GetUserParams(); + break; + case "SetUserParams": + result = SetUserParams(); + break; + case "GetServerVersion": + result = GetServerVersion(); + break; + case "GetMachineContacts": + result = GetMachineContacts(); + break; + case "SendLocation": + result = SendLocation(); + break; + case "SaveMapViewSearch": + result = SaveMapViewSearch(); + break; + case "DeleteMapViewSearch": + result = DeleteMapViewSearch(); + break; + case "GetShapeFileInfos": + result = GetShapeFileInfos(); + break; + case "GetShapeData": + result = GetShapeData(); + break; + case "ImportShape": + result = ImportShape(); + break; + case "UpdateShapeName": + result = UpdateShapeName(); + break; + case "DeleteShape": + result = DeleteShape(); + break; + case "GetAssetByID": + result = GetAssetByID(); + break; + default: + break; + } + } + catch (Exception ex) + { + SystemParams.WriteLog("error", "MapViewHandler", ex.Message, ex.ToString()); + throw ex; + } + string json = JsonConvert.SerializeObject(result, new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore }); + Context.Response.Write(json); + Context.Response.End(); + } + + private string GetServerVersion() + { + string serverVersion = SystemParams.GetVersion(); + return serverVersion; + } + private AssetViewItem[] GetAssets() + { + AssetViewItem[] assets = null; + if (LoginSession != null) + { + var clientdata = Context.Request.Params["ClientData"]; + + GetMachineParameterItem p = JsonConvert.DeserializeObject(clientdata); + p.SearchText = HttpUtility.HtmlDecode(p.SearchText); + + MachineAlertViewQueryParameter viewqueryparam = null; + if (!string.IsNullOrWhiteSpace(p.ViewID)) + { + viewqueryparam = ConvertToMachineAlertViewQueryParameter(p); + } + + assets = AssetMapViewManagement.GetAssets(LoginSession.SessionID, p.ContractorID, LoginSession.User.UID, p.SearchText, p.Onroad, viewqueryparam, !p.ExcludeNoLocation); + SystemParams.WriteRefreshLog(LoginSession.User.UID, UserHostAddress, "Assets", p.IsAutoRefresh ? "Auto" : "Manual"); + } + else + assets = new AssetViewItem[0]; + + return assets; + } + + private AssetGroupViewItem[] GetAssetGroups() + { + AssetGroupViewItem[] groups = null; + if (LoginSession != null) + { + var clientdata = Context.Request.Params["ClientData"]; + + GetMachineParameterItem p = JsonConvert.DeserializeObject(clientdata); + p.SearchText = HttpUtility.HtmlDecode(p.SearchText); + + string companyid = p.ContractorID; + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + + List temp = new List(); + groups = AssetMapViewManagement.GetAssetGroups(LoginSession.SessionID, companyid, LoginSession.User.UID, p.SearchText); + temp.AddRange(groups); + + AssetGroupViewItem eg = new AssetGroupViewItem() { ID = "-1", Name = "No Asset Group Assigned" }; + //eg.Assets = AssetMapViewManagement.GetNoGroupAssets(companyid); + temp.Add(eg); + groups = temp.ToArray(); + } + else + groups = new AssetGroupViewItem[0]; + + return groups; + } + + private MachineAlertViewQueryParameter ConvertToMachineAlertViewQueryParameter(GetMachineParameterItem machineparam) + { + MachineAlertViewQueryParameter viewqueryparam = new MachineAlertViewQueryParameter(); + viewqueryparam.ViewID = machineparam.ViewID; + if (machineparam.Layers != null && machineparam.Layers.Length > 0) + { + List layerlist = new List(); + foreach (var la in machineparam.Layers) + { + MachineAlertLayerQueryParameter layer = new MachineAlertLayerQueryParameter(); + layer.LayerID = la.ID; + if (la.Pivots != null && la.Pivots.Length > 0) + { + foreach (var pa in la.Pivots) + { + if (pa.IsCriteriaSQL) + layer.CriteriaParameters.Add(pa.Name, pa.ParameterValue); + else + layer.AlertDescriptionParameters.Add(pa.Name, pa.ParameterValue); + } + } + + layerlist.Add(layer); + } + viewqueryparam.Layers.AddRange(layerlist); + } + return viewqueryparam; + + } + + private AssetDetailViewItem GetAssetByID() + { + if (LoginSession != null) + { + var clientdata = Context.Request.Params["ClientData"]; + string[] ps = JsonConvert.DeserializeObject(clientdata); + long assetid = 0; + long.TryParse(ps[0], out assetid); + + string companyid = ps[1]; + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + + return AssetMapViewManagement.GetAssetDetailItem(LoginSession.SessionID, companyid, assetid); + } + return null; + } + + private KeyValuePair[] GetContractors() + { + KeyValuePair[] result; + if (LoginSession != null) + { + result = MapViewer.GetContractors(LoginSession.User.UID); + result = result.OrderBy(kv => kv.Value).ToArray(); + } + else + { + result = new KeyValuePair[0]; + } + return result; + } + + private AssetLocationHistoryViewItem GetHistoryLocation() + { + AssetLocationHistoryViewItem item = null; + if (LoginSession != null) + { + string p = Context.Request.Params["ClientData"]; + string[] ps = p.Split(';'); + //if (ps.Length != 6) return item; + DateTime dtFrom = DateTime.Now; + DateTime dtTo = DateTime.Now; + if (!DateTime.TryParse(ps[1], out dtFrom) || !DateTime.TryParse(ps[2], out dtTo)) + return item; + string companyid = ps[3].Trim();//companyid + bool notShow00loc = ps[4] == "1"; + string datasource = ""; + if (ps.Length > 5) + datasource = ps[5]; + + item = AssetMapViewManagement.GetMachineLocationHistory(LoginSession.SessionID, ps[0], dtFrom, dtTo, companyid, notShow00loc, datasource); + } + else + { + item = new AssetLocationHistoryViewItem(); + } + return item; + } + + private JobSiteViewItem[] GetJobSites() + { + JobSiteViewItem[] items = null; + if (LoginSession != null) + { + var clientdata = Context.Request.Params["ClientData"]; + + GetJobsiteParameterItem p = JsonConvert.DeserializeObject(clientdata); + p.SearchText = HttpUtility.HtmlDecode(p.SearchText); + + string companyid = p.ContractorID; + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + + items = AssetMapViewManagement.GetJobsites(LoginSession.SessionID, companyid, LoginSession.User.UID, p.SearchText); + + + List temp = new List(); + items = AssetMapViewManagement.GetJobsites(LoginSession.SessionID, companyid, LoginSession.User.UID, p.SearchText); + temp.AddRange(items); + + JobSiteViewItem js = new JobSiteViewItem() { ID = -1, Name = "No Jobsite Assigned" }; + temp.Add(js); + items = temp.ToArray(); + } + else + { + items = new JobSiteViewItem[0]; + } + return items; + } + + private CompanyLocationViewItem[] GetCompanyLocations() + { + CompanyLocationViewItem[] items = null; + if (LoginSession != null) + { + string p = Context.Request.Params["ClientData"]; + string companyid = p; + if (string.IsNullOrEmpty(companyid)) + companyid = SystemParams.CompanyID; + + var client = FleetServiceClientHelper.CreateClient(companyid, LoginSession.SessionID); + CustomerLocation[] locs = client.GetContractorAndDealerLocations(companyid); + List temps = new List(); + foreach (var loc in locs) + { + CompanyLocationViewItem l = new CompanyLocationViewItem(); + l.ID = loc.ID; + l.Latitude = loc.Latitude; + l.Longitude = loc.Longitude; + l.LocationName = loc.Name; + l.Notes = loc.Notes; + l.IconUrl = loc.IconUrl; + temps.Add(l); + } + items = temps.ToArray(); + + //items = LocationManagement.GetCompanyLocations(""); + } + else + { + items = new CompanyLocationViewItem[0]; + } + return items.ToArray(); + } + + private MapAlertViewDefinitionItem[] GetMapAlertLayers() + { + MapAlertViewDefinitionItem[] items = null; + if (LoginSession != null) + { + string p = Context.Request.Params["ClientData"]; + p = HttpUtility.HtmlDecode(p); + int index = p.IndexOf(";"); + string companyid = p.Substring(0, index); + string selectedViewID = p.Substring(index + 1); + + items = AssetMapViewManagement.GetMapAlertViews(LoginSession.SessionID, companyid, selectedViewID); + } + else + { + items = new MapAlertViewDefinitionItem[0]; + } + return items; + } + + private UserParamInfo GetUserParams() + { + UserParamInfo up = new UserParamInfo(); + up.AutoRecenterMap = true; + if (LoginSession != null) + { + up = UserParams.GetUserParams(LoginSession.SessionID, LoginSession.User.UID); + } + return up; + } + + private string SetUserParams() + { + if (LoginSession != null) + { + string p = Context.Request.Params["ClientData"]; + + UserParamInfo up = JsonConvert.DeserializeObject(p); + UserParams.SetUserParams(LoginSession.User.UID, up); + } + return "OK"; + } + + private object SaveMapViewSearch() + { + if (LoginSession != null) + { + string data = Context.Request.Params["ClientData"]; + + MapViewSearchItem item = JsonConvert.DeserializeObject(data); + return UserParams.SaveMapViewSearch(LoginSession.SessionID, LoginSession.User.UID, item); + } + + return new MapViewSearchItem[0]; + } + + private object DeleteMapViewSearch() + { + if (LoginSession != null) + { + string p = Context.Request.Params["ClientData"]; + p = HttpUtility.HtmlDecode(p); + + return UserParams.DeleteMapViewSearch(LoginSession.SessionID, LoginSession.User.UID, p); + } + return new MapViewSearchItem[0]; + } + + #region Send Location + private UserInfo[] GetMachineContacts() + { + UserInfo[] items = null; + if (LoginSession != null) + { + string p = Context.Request.Params["ClientData"]; + p = HttpUtility.HtmlDecode(p); + int index = p.IndexOf(";"); + string contractorid = p.Substring(0, index); + string assetid = p.Substring(index + 1); + + items = UserManagement.GetUsersByAssetID(LoginSession.SessionID, Convert.ToInt64(assetid), contractorid); + } + else + { + items = new UserInfo[0]; + } + return items; + } + private string SendLocation() + { + if (LoginSession != null) + { + string p = Context.Request.Params["ClientData"]; + p = HttpUtility.HtmlDecode(p); + + SendLocationInfo si = JsonConvert.DeserializeObject(p); + if (string.IsNullOrEmpty(si.CompanyID)) + si.CompanyID = SystemParams.CompanyID; + + AssetDetailViewItem asset = AssetMapViewManagement.GetAssetDetailItem(LoginSession.SessionID, si.CompanyID, si.AssetID); + SendMail(asset, si); + } + return "OK"; + } + + private void SendMail(AssetDetailViewItem asset, SendLocationInfo si) + { + string[] emailaddress = si.EmailAddress; + string[] textaddress = si.TextAddress; + string Subject = "Location of Asset: " + asset.Name2 + " " + asset.Name + " " + asset.Make + " " + asset.Model + " " + asset.VIN + " " + (asset.MakeYear > 0 ? asset.MakeYear.ToString() : ""); + var useriid = LoginSession.User.UID; + if (emailaddress != null && emailaddress.Length > 0) + { + string Body = OrdinaryEmailFormat(asset, si.Description); + FleetServiceClientHelper.CreateClient().SendAssetLoationEmail(si.CompanyID, si.AssetID, Subject, Body, emailaddress.ToArray(), useriid); + } + if (textaddress != null && textaddress.Length > 0) + { + string Body = OrdinaryTextFormat(asset, si.Description); + Subject = "";//短信暂时不发Subject 8897反馈 + FleetServiceClientHelper.CreateClient().SendAssetLoationEmail(si.CompanyID, si.AssetID, Subject, Body, textaddress.ToArray(), useriid); + } + } + + private string OrdinaryEmailFormat(AssetDetailViewItem asset, string desc) + { + string EmailFormat = "Location of Asset: {0} {1} {2} {3} {4} {5}

"; + EmailFormat += "Description:
"; + EmailFormat += "{6}

"; + EmailFormat += "Click the link below to view directions to this asset:
"; + EmailFormat += "{7}"; + if (asset.Location == null) + asset.Location = new LocationViewItem(); + return string.Format(EmailFormat, + HttpUtility.HtmlEncode(asset.Name2), + HttpUtility.HtmlEncode(asset.Name), + HttpUtility.HtmlEncode(asset.Make), + HttpUtility.HtmlEncode(asset.Model), + HttpUtility.HtmlEncode(asset.VIN), + HttpUtility.HtmlEncode(asset.MakeYear > 0 ? asset.MakeYear.ToString() : ""), + HttpUtility.HtmlEncode(desc ?? "").Replace("\n", "
"), + "https://www.google.com/maps/dir/?api=1&destination=" + asset.Location.Latitude + "," + asset.Location.Longitude + "&travelmode=driving"); + } + + private string OrdinaryTextFormat(AssetDetailViewItem asset, string desc) + { + string EmailFormat = "Location of Asset: {0} {1} {2} {3} {4} {5}

"; + EmailFormat += "Description:
"; + EmailFormat += "{6}

"; + EmailFormat += "Click the link below to view directions to this asset:
"; + EmailFormat += "{7}"; + if (asset.Location == null) + asset.Location = new LocationViewItem(); + return string.Format(EmailFormat, + HttpUtility.HtmlEncode(asset.Name2), + HttpUtility.HtmlEncode(asset.Name), + HttpUtility.HtmlEncode(asset.Make), + HttpUtility.HtmlEncode(asset.Model), + HttpUtility.HtmlEncode(asset.VIN), + HttpUtility.HtmlEncode(asset.MakeYear > 0 ? asset.MakeYear.ToString() : ""), + HttpUtility.HtmlEncode(desc ?? "").Replace("\n", "
"), + "https://www.google.com/maps/dir/?api=1&destination=" + asset.Location.Latitude + "," + asset.Location.Longitude + "&travelmode=driving"); + } + + #endregion + + #region Shape File + private object GetShapeFileInfos() + { + try + { + if (LoginSession != null) + { + string clientdata = HttpUtility.HtmlDecode(Context.Request.Params["ClientData"]); + StringKeyValue kv = JsonConvert.DeserializeObject(clientdata); + string customerid = kv.Key; + if (string.IsNullOrEmpty(customerid)) + customerid = SystemParams.CompanyID; + + ShapeFileInfo[] files = FleetServiceClientHelper.CreateClient(customerid, LoginSession.SessionID).GetShapeFileInfos(customerid, kv.Value); + if (files == null || files.Length == 0) + return new ShapeFileItem[0]; + + List list = new List(); + foreach (ShapeFileInfo fi in files) + { + ShapeFileItem item = new ShapeFileItem(); + Helper.CloneProperty(item, fi); + list.Add(item); + } + return list.OrderBy(m => m.Name).ToArray(); + } + else + { + return new ShapeFileItem[0]; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object ImportShape() + { + try + { + if (LoginSession != null) + { + string clientdata = HttpUtility.HtmlDecode(Context.Request.Params["ClientData"]); + StringKeyValue kv = JsonConvert.DeserializeObject(clientdata); + string customerid = kv.Key; + if (string.IsNullOrEmpty(customerid)) + customerid = SystemParams.CompanyID; + + HttpPostedFile uploadFile = null; + byte[] iconfilebyte = null; + if (Context.Request.Files.Count > 0) + { + uploadFile = Context.Request.Files[0]; + iconfilebyte = ConvertFile2bytes(uploadFile); + } + + FleetServiceClientHelper.CreateClient(customerid, LoginSession.SessionID).ImportShape(customerid, kv.Value, kv.Tag1, LoginSession.User.UID, iconfilebyte); + + return "OK"; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetShapeData() + { + try + { + if (GetCurrentLoginSession() != null) + { + string clientdata = HttpUtility.HtmlDecode(Context.Request.Params["ClientData"]); + StringKeyValue kv = JsonConvert.DeserializeObject(clientdata); + string customerid = kv.Key; + if (string.IsNullOrEmpty(customerid)) + customerid = SystemParams.CompanyID; + + byte[] buffer = FleetServiceClientHelper.CreateClient(customerid, LoginSession.SessionID).GetShapeData(customerid, Convert.ToInt64(kv.Value)); + Shape.Shape shape = new Shape.Shape(); + Shape.ShapeFileParser.ParseFromShapeFile(buffer, shape); + Shape.SimpleShape ss = new Shape.SimpleShape(); + ss.FromShapeObj(shape); + + return ss; + } + else + { + return null; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object UpdateShapeName() + { + try + { + if (LoginSession != null) + { + var clientdata = Context.Request.Form["ClientData"].Split((char)170); + var customerid = HttpUtility.HtmlDecode(clientdata[0]); + var data = HttpUtility.HtmlDecode(clientdata[1]); + ShapeFileItem shape = JsonConvert.DeserializeObject(data); + if (string.IsNullOrEmpty(customerid)) + customerid = SystemParams.CompanyID; + + FleetServiceClientHelper.CreateClient(customerid, LoginSession.SessionID).UpdateShapeName(customerid, shape.ID, shape.Name, shape.Notes); + + return "OK"; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + + } + + private object DeleteShape() + { + try + { + if (LoginSession != null) + { + string clientdata = HttpUtility.HtmlDecode(Context.Request.Params["ClientData"]); + StringKeyValue kv = JsonConvert.DeserializeObject(clientdata); + string customerid = kv.Key; + if (string.IsNullOrEmpty(customerid)) + customerid = SystemParams.CompanyID; + + FleetServiceClientHelper.CreateClient(customerid, LoginSession.SessionID).DeleteShape(customerid, Convert.ToInt64(kv.Value), LoginSession.User.UID); + + return "OK"; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private byte[] ConvertFile2bytes(HttpPostedFile uploadFile) + { + byte[] dataBuffer = new byte[uploadFile.InputStream.Length]; + uploadFile.InputStream.Position = 0; + uploadFile.InputStream.Read(dataBuffer, 0, dataBuffer.Length); + uploadFile.InputStream.Close(); + return dataBuffer; + } + + #endregion + + public class SendLocationInfo + { + public string CompanyID { get; set; } + public long AssetID { get; set; } + public string Description { get; set; } + public string[] EmailAddress { get; set; } + public string[] TextAddress { get; set; } + } + + public class GetMachineParameterItem + { + public bool IsAutoRefresh { get; set; } + public string ViewID { get; set; } + public string ContractorID { get; set; } + public int Onroad { get; set; } + public string SearchText { get; set; } + public MapAlertLayerDefinitionItem[] Layers { get; set; } + public string MachineIDs { get; set; } + public bool ExcludeNoLocation { get; set; } + } + + public class GetJobsiteParameterItem + { + public bool IsAutoRefresh { get; set; } + public string ContractorID { get; set; } + public int Onroad { get; set; } + public string SearchText { get; set; } + } + + public class MachineQueryResult + { + public MachineViewItem[] Machines { get; set; } + public AssetGroupViewItem[] Groups { get; set; } + } + public class MapViewSearchClient + { + public string SearchName { get; set; } + public bool IsDefault { get; set; } + public int Type { get; set; } + } + } +} \ No newline at end of file diff --git a/IronIntelContractorSiteLib/MapViewBasePage.cs b/IronIntelContractorSiteLib/MapViewBasePage.cs new file mode 100644 index 0000000..2df5de2 --- /dev/null +++ b/IronIntelContractorSiteLib/MapViewBasePage.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Web; +using IronIntel.Services; +using Newtonsoft.Json; + +namespace IronIntel.Contractor.Site +{ + public class MapViewBasePage : ContractorBasePage + { + protected void ProcessRequest() + { + } + + } +} diff --git a/IronIntelContractorSiteLib/OTRConfig/OTRConfigBasePage.cs b/IronIntelContractorSiteLib/OTRConfig/OTRConfigBasePage.cs new file mode 100644 index 0000000..905906f --- /dev/null +++ b/IronIntelContractorSiteLib/OTRConfig/OTRConfigBasePage.cs @@ -0,0 +1,162 @@ +using Foresight.Fleet.Services.OTRConfig; +using IronIntel.Contractor.OTRConfig; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Web; + +namespace IronIntel.Contractor.Site.OTRConfig +{ + public class OTRConfigBasePage : ContractorBasePage + { + protected void ProcessRequest(string method) + { + object result = null; + try + { + string methodName = Request.Params["MethodName"]; + if (methodName != null) + { + switch (methodName.ToUpper()) + { + case "GETSPEEDINGEVENTS": + result = GetSpeedingEvents(); + break; + case "EXCLUDEDSPEEDINGEVENTS": + result = ExcludedSpeedingEvents(); + break; + case "GETHARSHDRIVINGEVENTS": + result = GetHarshDrivingEvents(); + break; + case "EXCLUDEDHARSHDRIVINGEVENTS": + result = ExcludedHarshDrivingEvents(); + break; + } + } + } + catch (Exception ex) + { + SystemParams.WriteLog("error", "OTRConfigBasePage", ex.Message, ex.ToString()); + throw ex; + } + string json = JsonConvert.SerializeObject(result); + Response.Write(json); + Response.End(); + } + + #region Speeding + + private object GetSpeedingEvents() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var sdatestr = HttpUtility.HtmlDecode(clientdata[0]); + var edatestr = HttpUtility.HtmlDecode(clientdata[1]); + + List list = new List(); + return list.ToArray(); ; + } + + return string.Empty; + } + catch (Exception ex) + { + SystemParams.WriteLog("error", "OTRConfigBasePage.GetSpeedingList", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object ExcludedSpeedingEvents() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var id = HttpUtility.HtmlDecode(clientdata[0]); + var notes = HttpUtility.HtmlDecode(clientdata[1]); + + return "OK"; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; ; + } + } + + #endregion + + + #region Harsh Driving + + private object GetHarshDrivingEvents() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var sdatestr = HttpUtility.HtmlDecode(clientdata[0]); + var edatestr = HttpUtility.HtmlDecode(clientdata[1]); + var searchtxt = HttpUtility.HtmlDecode(clientdata[2]); + + DateTime startdate = DateTime.MinValue; + DateTime enddate = DateTime.MaxValue; + if (!DateTime.TryParse(sdatestr, out startdate)) + startdate = DateTime.MinValue; + if (!DateTime.TryParse(edatestr, out enddate)) + enddate = DateTime.MaxValue; + else + enddate = enddate.Date.AddDays(1).AddSeconds(-1); + + double timeOffset = SystemParams.GetHoursOffset(); + startdate = startdate.AddHours(-timeOffset); + enddate = enddate.AddHours(-timeOffset); + + return HarshDrivingManagement.GetHarshDrivingEvents(session.SessionID, startdate, enddate, searchtxt, session.User.UID); + } + + return new HarshDrivingItem[0]; + } + catch (Exception ex) + { + SystemParams.WriteLog("error", "OTRConfigBasePage.GetHarshDrivingEvents", ex.Message, ex.ToString()); + return ex.Message; + } + } + + private object ExcludedHarshDrivingEvents() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = HttpUtility.HtmlDecode(Request.Form["ClientData"]); + HarshDrivintClient hd = JsonConvert.DeserializeObject(clientdata); + + HarshDrivingManagement.ExcludedHarshDrivingEvents(session.SessionID, hd, session.User.UID); + return "OK"; + } + return "Failed"; + } + catch (Exception ex) + { + return ex.Message; ; + } + } + + #endregion + } + +} diff --git a/IronIntelContractorSiteLib/PrintBasePage.cs b/IronIntelContractorSiteLib/PrintBasePage.cs new file mode 100644 index 0000000..99c865b --- /dev/null +++ b/IronIntelContractorSiteLib/PrintBasePage.cs @@ -0,0 +1,48 @@ +using Foresight.Fleet.Services.AssetHealth; +using IronIntel.Contractor.FilterQ; +using IronIntel.Contractor.Maintenance; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Site +{ + public class PrintBasePage : ContractorBasePage + { + protected string ProcessRequest() + { + int printType = -1; + string pt = Request.Params["pt"]; + if (!int.TryParse(pt, out printType)) + return ""; + + string result = ""; + switch (printType) + { + case (int)PrintType.WorkOrder: + result = PrintWorkOrder(); + break; + } + + return result; + } + + private string PrintWorkOrder() + { + string woidstr = Request.Params["wo"]; + long woid = -1; + if (!long.TryParse(woidstr, out woid) || woid <= 0) + return ""; + + return WorkOrderManager.GenerateWorkOrderPrintHtml(GetCurrentLoginSession().SessionID, SystemParams.CompanyID, woid); + } + + protected enum PrintType + { + WorkOrder = 1 + } + } +} diff --git a/IronIntelContractorSiteLib/Properties/AssemblyInfo.cs b/IronIntelContractorSiteLib/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..e2c0426 --- /dev/null +++ b/IronIntelContractorSiteLib/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("IronIntelContractorSiteLib")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Foresight Intelligence")] +[assembly: AssemblyProduct("IronIntelContractorSiteLib")] +[assembly: AssemblyCopyright("Copyright © Foresight Intelligence 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("9d398985-9424-4fc7-a637-6b5b204d8f7c")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("2.20.429")] diff --git a/IronIntelContractorSiteLib/Security/CurfewBasePage.cs b/IronIntelContractorSiteLib/Security/CurfewBasePage.cs new file mode 100644 index 0000000..ab56951 --- /dev/null +++ b/IronIntelContractorSiteLib/Security/CurfewBasePage.cs @@ -0,0 +1,619 @@ +using Foresight.Data; +using Foresight.Fleet.Services.AssetHealth; +using Foresight.Fleet.Services.JobSite; +using Foresight.Fleet.Services.SystemOption; +using IronIntel.Contractor.JobSites; +using IronIntel.Contractor.Maintenance; +using IronIntel.Contractor.MapView; +using IronIntel.Contractor.Security; +using IronIntel.Contractor.Users; +using IronIntel.Services.Customers; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace IronIntel.Contractor.Site.Security +{ + public class CurfewBasePage : ContractorBasePage + { + protected void ProcessRequest(string methodName) + { + object result = null; + try + { + if (methodName != null) + { + switch (methodName) + { + case "GetCurfews": + result = GetCurfews(); + break; + case "GetCurfewInfo": + result = GetCurfewInfo(); + break; + case "SaveCurfew": + result = SaveCurfew(); + break; + case "GetUsers": + result = GetUsers(); + break; + case "DeleteCurfew": + result = DeleteCurfew(); + break; + case "GetSelectedMachines": + result = GetSelectedMachines(); + break; + case "SaveCurfewMachines": + result = SaveCurfewMachines(); + break; + case "GetSelectedAssets": + result = GetSelectedAssets(); + break; + case "AssignAssetsToUser": + result = AssignAssetsToUser(); + break; + case "RemoveAssignedAssetsFromUser": + result = RemoveAssignedAssetsFromUser(); + break; + case "GetJobsiteList": + result = GetJobsiteList(); + break; + case "GetSelectedJobsites": + result = GetSelectedJobsites(); + break; + case "SaveCurfewJobsites": + result = SaveCurfewJobsites(); + break; + case "GetMachineList": + result = GetMachineList(); + break; + case "GetCurfewMovementTolerance": + result = GetCurfewMovementTolerance(); + break; + case "UpdateCurfewMovementTolerance": + result = UpdateCurfewMovementTolerance(); + break; + + } + } + } + catch (Exception ex) + { + SystemParams.WriteLog("error", "CurfewBasePage", ex.Message, ex.ToString()); + throw ex; + } + string json = JsonConvert.SerializeObject(result); + Response.Write(json); + Response.End(); + } + + private object GetCurfews() + { + try + { + var session = GetCurrentLoginSession(); + CurfewInfo[] items = null; + if (session != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var contractorid = HttpUtility.HtmlDecode(clientdata[0]); + var searchtext = HttpUtility.HtmlDecode(clientdata[1]); + + FISqlConnection contractordb = null; + if (!SystemParams.IsDealer) + contractorid = SystemParams.CompanyID; + else + { + string connetionstring = SystemParams.GetDbStringByCompany(contractorid); + contractordb = new FISqlConnection(connetionstring); + } + + items = CurfewManagement.GetCurfews(session.SessionID, searchtext, contractordb); + } + else + { + items = new CurfewInfo[0]; + } + return items.OrderBy(m => m.Title); + } + catch (Exception ex) + { + return ex.Message; + } + } + private object GetCurfewInfo() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var contractorid = HttpUtility.HtmlDecode(clientdata[0]); + var curfewid = HttpUtility.HtmlDecode(clientdata[1]); + + FISqlConnection contractordb = null; + if (!SystemParams.IsDealer) + contractorid = SystemParams.CompanyID; + else + { + string connetionstring = SystemParams.GetDbStringByCompany(contractorid); + contractordb = new FISqlConnection(connetionstring); + } + + return CurfewManagement.GetCurfewInfo(curfewid, contractordb); + } + else + return new CurfewInfo(); + + } + catch (Exception ex) + { + return ex.Message; + } + } + private object SaveCurfew() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var contractorid = HttpUtility.HtmlDecode(clientdata[0]); + var data = HttpUtility.HtmlDecode(clientdata[1]); + + var ci = JsonConvert.DeserializeObject(data); + if (string.IsNullOrWhiteSpace(ci.CurfewID)) + { + ci.CurfewID = Guid.NewGuid().ToString(); + } + + FISqlConnection contractordb = null; + if (!SystemParams.IsDealer) + contractorid = SystemParams.CompanyID; + else + { + string connetionstring = SystemParams.GetDbStringByCompany(contractorid); + contractordb = new FISqlConnection(connetionstring); + } + + CurfewManagement.SaveCurfew(ci, GetCurrentLoginSession().User.UID, contractordb); + + return new string[] { ci.CurfewID, "OK" }; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetUsers() + { + try + { + UserInfo[] items = null; + if (GetCurrentLoginSession() != null) + { + items = UserManagement.GetUsers(); + } + else + { + items = new UserInfo[0]; + } + return items.OrderBy(m => m.ID); + } + catch (Exception ex) + { + return ex.Message; + } + } + + private string DeleteCurfew() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var contractorid = HttpUtility.HtmlDecode(clientdata[0]); + var curfewid = HttpUtility.HtmlDecode(clientdata[1]); + + FISqlConnection contractordb = null; + if (!SystemParams.IsDealer) + contractorid = SystemParams.CompanyID; + else + { + string connetionstring = SystemParams.GetDbStringByCompany(contractorid); + contractordb = new FISqlConnection(connetionstring); + } + + CurfewManagement.DeleteCurfew(curfewid, contractordb); + + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private MaintenanceMachineInfo[] GetSelectedMachines() + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var contractorid = HttpUtility.HtmlDecode(clientdata[0]); + var curfewid = HttpUtility.HtmlDecode(clientdata[1]); + + FISqlConnection contractordb = null; + if (!SystemParams.IsDealer) + contractorid = SystemParams.CompanyID; + else + { + string connetionstring = SystemParams.GetDbStringByCompany(contractorid); + contractordb = new FISqlConnection(connetionstring); + } + + var machines = CurfewManagement.GetCurfewMachinesByID(curfewid, contractordb); + + return machines.OrderBy(m => m.VIN).ToArray(); + } + + private string SaveCurfewMachines() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var contractorid = HttpUtility.HtmlDecode(clientdata[0]); + var curfewid = HttpUtility.HtmlDecode(clientdata[1]); + var machineids = HttpUtility.HtmlDecode(clientdata[2]); + if (string.IsNullOrWhiteSpace(contractorid)) + contractorid = SystemParams.CompanyID; + + string[] ids = JsonConvert.DeserializeObject(machineids); + + FISqlConnection contractordb = null; + if (!SystemParams.IsDealer) + contractorid = SystemParams.CompanyID; + else + { + string connetionstring = SystemParams.GetDbStringByCompany(contractorid); + contractordb = new FISqlConnection(connetionstring); + } + CurfewManagement.SaveCurfewMachines(curfewid, contractorid, ids, contractordb); + + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object[] GetSelectedAssets() + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var companyId = HttpUtility.HtmlDecode(clientdata[0]); + if (string.IsNullOrEmpty(companyId)) + { + companyId = SystemParams.CompanyID; + } + var uid = HttpUtility.HtmlDecode(clientdata[1]); + + var machines = CreateClient(companyId).GetAssetsAssignedToCurfew(companyId, uid); + + return machines.OrderBy(m => m.VIN).Select(m => new + { + ID = m.Id, + Name = string.IsNullOrEmpty(m.Name2) ? m.Name : m.Name2, + m.VIN, + m.MakeName, + m.ModelName, + m.TypeName + }).ToArray(); + } + + private string AssignAssetsToUser() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var companyId = HttpUtility.HtmlDecode(clientdata[0]); + if (string.IsNullOrEmpty(companyId)) + { + companyId = SystemParams.CompanyID; + } + var uid = HttpUtility.HtmlDecode(clientdata[1]); + var machineids = HttpUtility.HtmlDecode(clientdata[2]); + + var ids = JsonConvert.DeserializeObject(machineids); + + CreateClient(companyId).AssignAssetsToCurfew(companyId, uid, ids, session.User.UID); + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private string RemoveAssignedAssetsFromUser() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var companyId = HttpUtility.HtmlDecode(clientdata[0]); + if (string.IsNullOrEmpty(companyId)) + { + companyId = SystemParams.CompanyID; + } + var uid = HttpUtility.HtmlDecode(clientdata[1]); + var machineids = HttpUtility.HtmlDecode(clientdata[2]); + + var ids = JsonConvert.DeserializeObject(machineids); + + CreateClient(companyId).RemoveAssetsFromCurfew(companyId, uid, ids, session.User.UID); + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private MaintenanceMachineInfo[] GetMachineList() + { + var session = GetCurrentLoginSession(); + var clientdata = Request.Form["ClientData"].Split((char)170); + string contractorid = HttpUtility.HtmlDecode(clientdata[0]); + string type = HttpUtility.HtmlDecode(clientdata[1]); + string searchtxt = HttpUtility.HtmlDecode(clientdata[2]); + + int typeid = 0; + int.TryParse(type, out typeid); + + FISqlConnection contractordb = null; + if (!SystemParams.IsDealer) + contractorid = SystemParams.CompanyID; + else + { + string connetionstring = SystemParams.GetDbStringByCompany(contractorid); + contractordb = new FISqlConnection(connetionstring); + } + + var machines = MaintenanceManagement.GetMaintenanceMachines(session.SessionID, typeid, searchtxt, session.User.UID, contractorid) + .OrderBy(m => m.VIN) + .ToArray(); + + return machines; + } + + private object GetJobsiteList() + { + try + { + JobSiteViewItem[] items = null; + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + string contractorid = HttpUtility.HtmlDecode(clientdata[0]); + string searchtxt = HttpUtility.HtmlDecode(clientdata[1]); + + FISqlConnection contractordb = null; + if (!SystemParams.IsDealer) + contractorid = SystemParams.CompanyID; + else + { + string connetionstring = SystemParams.GetDbStringByCompany(contractorid); + contractordb = new FISqlConnection(connetionstring); + } + + var jss = CreateClient(contractorid).GetJobSiteItems(contractorid, "", false); + List list = new List(); + foreach (var js in jss) + { + JobSiteViewItem item = new JobSiteViewItem(); + item.ID = js.ID; + item.Name = js.Name; + + list.Add(item); + } + items = list.ToArray(); + } + else + { + items = new JobSiteViewItem[0]; + } + return items; + } + catch (Exception ex) + { + return ex.Message; + } + } + private object GetSelectedJobsites() + { + try + { + JobSiteViewItem[] items = null; + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var contractorid = HttpUtility.HtmlDecode(clientdata[0]); + var curfewid = HttpUtility.HtmlDecode(clientdata[1]); + + FISqlConnection contractordb = null; + if (!SystemParams.IsDealer) + contractorid = SystemParams.CompanyID; + else + { + string connetionstring = SystemParams.GetDbStringByCompany(contractorid); + contractordb = new FISqlConnection(connetionstring); + } + + items = CurfewManagement.GetCurfewJobsitesByID(curfewid, contractordb); + } + else + { + items = new JobSiteViewItem[0]; + } + return items; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private string SaveCurfewJobsites() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var contractorid = HttpUtility.HtmlDecode(clientdata[0]); + var curfewid = HttpUtility.HtmlDecode(clientdata[1]); + var jobsiteids = HttpUtility.HtmlDecode(clientdata[2]); + if (string.IsNullOrWhiteSpace(contractorid)) + contractorid = SystemParams.CompanyID; + + string[] ids = JsonConvert.DeserializeObject(jobsiteids); + + FISqlConnection contractordb = null; + if (!SystemParams.IsDealer) + contractorid = SystemParams.CompanyID; + else + { + string connetionstring = SystemParams.GetDbStringByCompany(contractorid); + contractordb = new FISqlConnection(connetionstring); + } + + CurfewManagement.SaveCurfewJobsites(curfewid, contractorid, ids, contractordb); + + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + + #region Curfew Movement Tolerance + + private object GetCurfewMovementTolerance() + { + try + { + if (GetCurrentLoginSession() != null) + { + CurfewMovementTolerance tolerance = CreateClient().GetCurfewMovementTolerance(SystemParams.CompanyID); + if (tolerance == null) + { + return new CurfewMovementToleranceInfo(); + } + + CurfewMovementToleranceInfo toleranceinfo = new CurfewMovementToleranceInfo(); + toleranceinfo.DefaultTolerance = tolerance.DefaultTolerance; + if (tolerance.JobSites != null && tolerance.JobSites.Count > 0) + { + toleranceinfo.JobSites = new List(); + foreach (var js in tolerance.JobSites) + { + JobSiteCurfewMovementToleranceInfo jsi = new JobSiteCurfewMovementToleranceInfo(); + Helper.CloneProperty(jsi, js); + toleranceinfo.JobSites.Add(jsi); + } + } + + return toleranceinfo; + } + else + { + return new CurfewMovementToleranceInfo(); + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + + private string UpdateCurfewMovementTolerance() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Form["ClientData"]; + clientdata = HttpUtility.HtmlDecode(clientdata); + + CurfewMovementToleranceInfo toleranceinfo = JsonConvert.DeserializeObject(clientdata); + + CurfewMovementTolerance tolerance = new CurfewMovementTolerance(); + tolerance.DefaultTolerance = toleranceinfo.DefaultTolerance; + foreach (JobSiteCurfewMovementToleranceInfo jsi in toleranceinfo.JobSites) + { + JobSiteCurfewMovementTolerance js = new JobSiteCurfewMovementTolerance(); + Helper.CloneProperty(js, jsi); + tolerance.JobSites.Add(js); + } + + CreateClient().UpdateCurfewMovementTolerance(SystemParams.CompanyID, tolerance, session.User.UID); + + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + #endregion + } +} diff --git a/IronIntelContractorSiteLib/Security/DataTablePermissionBasePage.cs b/IronIntelContractorSiteLib/Security/DataTablePermissionBasePage.cs new file mode 100644 index 0000000..61175df --- /dev/null +++ b/IronIntelContractorSiteLib/Security/DataTablePermissionBasePage.cs @@ -0,0 +1,76 @@ +using IronIntel.Contractor.Users; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Web; + +namespace IronIntel.Contractor.Site.Security +{ + public class DataTablePermissionBasePage : ContractorBasePage + { + protected void ProcessRequest(string methodName) + { + object result = null; + + try + { + if (methodName != null) + { + switch (methodName.ToUpper()) + { + case "GETUSERS": + result = GetUsers(); + break; + case "GETUSERGROUPS": + result = GetUserGroups(); + break; + } + } + } + catch (Exception ex) + { + result = ex.Message; + SystemParams.WriteLog("Error", "UserGroupBasePage.ProcessRequest", ex.Message, ex.ToString()); + } + + string json = JsonConvert.SerializeObject(result); + Response.Write(json); + Response.End(); + } + + protected override bool AllowCurrentLoginSessionEnter() + { + var f = base.AllowCurrentLoginSessionEnter(); + if (!f) + { + return false; + } + + // check whether you are admin. + var session = GetCurrentLoginSession(); + if (session == null || session.User == null) + { + return false; + } + var ui = UserManagement.GetUserByIID(session.User.UID); + return ui != null && ui.UserType >= UserTypes.Admin; + } + + protected override bool ThrowIfNotAllowed { get { return true; } } + + private UserInfo[] GetUsers() + { + var users = UserManagement.GetUnmanagementUsers().OrderBy(u => u.DisplayName).ToArray(); + return users; + } + + private UserGroupInfo[] GetUserGroups() + { + var groups = UserManagement.GetGroups(); + return groups; + } + } +} diff --git a/IronIntelContractorSiteLib/Security/FilterBasePage.cs b/IronIntelContractorSiteLib/Security/FilterBasePage.cs new file mode 100644 index 0000000..0f198f4 --- /dev/null +++ b/IronIntelContractorSiteLib/Security/FilterBasePage.cs @@ -0,0 +1,651 @@ +using FI.FIC.Contracts.DataObjects.BLObject; +using FI.FIC.Models; +using IronIntel.Contractor.Users; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Web; + +namespace IronIntel.Contractor.Site.Security +{ + public class FilterBasePage : ContractorBasePage + { + private const string sqlIn = "In"; + private const string isnull = "Is Null"; + private const string isnotnull = "Is Not Null"; + private const string defaultLanageCode = "en-us"; + protected void ProcessRequest(string methodName) + { + object result = null; + + try + { + if (methodName != null) + { + switch (methodName.ToUpper()) + { + case "GETFILTEROBJECT": + result = GetFilterObject(); + break; + case "SAVEFILTER": + result = SaveFilter(); + break; + case "GETDATASOURCE": + result = GetDataSource(); + break; + case "GETTABLEFILTERS": + result = GetTableFilters(); + break; + } + } + } + catch (Exception ex) + { + result = ex.Message; + SystemParams.WriteLog("Error", "FilterBasePage.ProcessRequest", ex.Message, ex.ToString()); + } + + string json = JsonConvert.SerializeObject(result); + Response.Write(json); + Response.End(); + } + + protected override bool AllowCurrentLoginSessionEnter() + { + var f = base.AllowCurrentLoginSessionEnter(); + if (!f) + { + return false; + } + + // check whether you are admin. + var session = GetCurrentLoginSession(); + if (session == null || session.User == null) + { + return false; + } + var ui = UserManagement.GetUserByIID(session.User.UID); + return ui != null && ui.UserType >= UserTypes.Admin; + } + + protected override bool ThrowIfNotAllowed { get { return true; } } + + private FilterObject GetFilterObject() + { + var p = Request.Form["ClientData"]; + p = HttpUtility.HtmlDecode(p); + int index = p.IndexOf(";"); + string iid = p.Substring(0, index); + string type = p.Substring(index + 1);//1为Group 2为User + + GlobalFilterAuthorize[] globalFilters = null; + List tableList = null; + TableFilterAuthorize[] tableFilters = null; + List pluginList = PluginManager.GetPlugin(); + if (type == "1") + { + globalFilters = GlobalFilterManager.GetGlobalFilterAuthorizeForGroup(iid); + tableList = DataTableManager.GetHaveTableFilterDataTableListForUserGroup(iid, defaultLanageCode); + if (tableList != null && tableList.Count > 0) + { + tableFilters = GlobalFilterManager.GetTableFilterAuthorizeForGroup(iid, tableList[0].IID); + } + } + else if (type == "2") + { + globalFilters = GlobalFilterManager.GetGlobalFilterAuthorizeForUser(iid); + tableList = DataTableManager.GetHaveTableFilterDataTableList(iid, defaultLanageCode); + if (tableList != null && tableList.Count > 0) + { + tableFilters = GlobalFilterManager.GetTableFilterAuthorizeForUser(iid, tableList[0].IID); + } + } + + FilterObject filterObj = new FilterObject(); + + if (globalFilters != null) + { + List gfs = new List(); + foreach (var item in globalFilters) + { + Filter gf = new Filter(); + gf.FilterName = item.FilterName; + gf.FilterCondition = item.FilterCondition ?? " "; + gf.FilterDataType = (int)item.FilterDataType; + gf.FilterType = (int)item.FilterType; + if (gf.FilterType == 0) + gf.FilterTypeString = "Single Value"; + else + gf.FilterTypeString = getPluginName(item.PluginID, pluginList); + gf.FilterValue = item.FilterValue; + gf.IID = item.IID; + gf.PluginID = item.PluginID; + + gfs.Add(gf); + } + filterObj.GlobalFilters = gfs.ToArray(); + } + + if (tableList != null) + { + List> dts = new List>(); + foreach (var item in tableList) + { + KeyValuePair kv = new KeyValuePair(item.IID, item.DataTableName); + dts.Add(kv); + } + filterObj.DataTableList = dts.ToArray(); + } + + if (tableFilters != null) + { + List tfs = new List(); + foreach (var item in tableFilters) + { + Filter tf = new Filter(); + tf.FieldName = item.FieldName; + tf.FilterName = item.FilterName; + tf.FilterCondition = item.FilterCondition ?? " "; + tf.FilterDataType = (int)item.FilterDataType; + tf.FilterType = (int)item.FilterType; + if (tf.FilterType == 0) + tf.FilterTypeString = "Single Value"; + else + tf.FilterTypeString = getPluginName(item.PluginID, pluginList); + tf.FilterValue = item.FilterValue; + tf.IID = item.IID; + tf.PluginID = item.PluginID; + + tfs.Add(tf); + } + filterObj.FirstTableFilters = tfs.ToArray(); + } + + return filterObj; + } + + private string getPluginName(string iid, List pluginList) + { + string result = ""; + if (pluginList != null) + { + var plugin = pluginList.FirstOrDefault((p) => p.IID.Equals(iid, StringComparison.OrdinalIgnoreCase)); + if (plugin != null) + result = plugin.PluginName; + } + return result; + } + + private object SaveFilter() + { + if (GetCurrentLoginSession() != null) + { + var s = Request.Form["ClientData"]; + s = HttpUtility.HtmlDecode(s); + SaveFilterObject item = JsonConvert.DeserializeObject(s); + + if (item.Type == 2) + { + var user = UserManagement.GetUserByIID(item.UserIID); + if (user.UserType == UserTypes.Admin)//Admin用户不需要修改 + return "\"OK\""; + } + string error = ""; + if (!Validate(ref error, item)) + { + return new ErrorObject() { ErrorCode = 1, ErrorMessage = error }; + } + DoSaveFilter(item); + return "\"OK\""; + } + else + { + return "\"Failed\""; + } + } + + private void DoSaveFilter(SaveFilterObject filterObject) + { + List globalFilter = new List(); + if (filterObject.GlobalFilter != null) + { + foreach (var item in filterObject.GlobalFilter) + { + GlobalFilterAuthorize gf = new GlobalFilterAuthorize(); + gf.FilterName = item.FilterName; + gf.FilterCondition = item.FilterCondition; + gf.FilterDataType = (FI.FIC.Contracts.DataObjects.Enumeration.DBDataType)item.FilterDataType; + gf.FilterType = (FI.FIC.Contracts.DataObjects.Enumeration.FilterType)item.FilterType; + gf.FilterValue = item.FilterValue; + gf.IID = item.IID; + gf.PluginID = item.PluginID; + + globalFilter.Add(gf); + } + } + + List tableFilter = new List(); + if (filterObject.TableFilters != null) + { + foreach (var tfobj in filterObject.TableFilters) + { + foreach (var item in tfobj.Filters) + { + TableFilterAuthorize tf = new TableFilterAuthorize(); + tf.FilterName = item.FilterName; + tf.FilterCondition = item.FilterCondition; + tf.FilterDataType = (FI.FIC.Contracts.DataObjects.Enumeration.DBDataType)item.FilterDataType; + tf.FilterType = (FI.FIC.Contracts.DataObjects.Enumeration.FilterType)item.FilterType; + tf.FilterValue = item.FilterValue; + tf.IID = item.IID; + tf.PluginID = item.PluginID; + + tableFilter.Add(tf); + } + } + } + + if (filterObject.Type == 1)//1为Group,2为User + { + GlobalFilterManager.SaveGlobalFilterAuthorizeForGroup(filterObject.UserIID, globalFilter.ToArray(), tableFilter.ToArray()); + } + else if (filterObject.Type == 2) + { + GlobalFilterManager.SaveGlobalFilterAuthorizeForUser(filterObject.UserIID, globalFilter.ToArray(), tableFilter.ToArray()); + } + } + + private DataSourceObject GetDataSource() + { + DataSourceObject result = new DataSourceObject(); + var s = Request.Form["ClientData"]; + string dsiid = HttpUtility.HtmlDecode(s); + PluginStructure dsStructure = PluginManager.GetPluginStructure(dsiid); + PluginManager pm = new PluginManager(); + DataTable dt = pm.GetSourceData(dsiid, null); + + int indexOfName = dt.Columns.IndexOf(dsStructure.DataImport.DisplayField); + int indexOfID = dt.Columns.IndexOf(dsStructure.DataImport.ValueField); + int indexOfPID = dt.Columns.IndexOf(dsStructure.DataImport.ParentField); + if (indexOfName < 0) + indexOfName = dt.Columns.IndexOf("Name"); + if (indexOfID < 0) + indexOfID = dt.Columns.IndexOf("ID"); + if (indexOfPID < 0) + indexOfPID = dt.Columns.IndexOf("PID"); + + result.IID = dsStructure.IID; + result.IsFlat = dsStructure.IsFlat == 1; + if (!result.IsFlat) + result.IsFlat = IsFlat(dt, indexOfPID); + result.Name = dsStructure.PluginName; + result.DisplayField = dsStructure.DataImport.DisplayField; + result.ValueField = dsStructure.DataImport.ValueField; + + List datas = new List(); + if (result.IsFlat) + { + foreach (DataRow dr in dt.Select("", dt.Columns[indexOfID].ColumnName + " asc")) + { + DataSourceData ds = new DataSourceData(); + ds.ID = dr[indexOfID].ToString(); + ds.Description = dr[indexOfName].ToString(); + if (indexOfPID >= 0) + ds.PID = dr[indexOfPID].ToString(); + datas.Add(ds); + } + //datas = datas.OrderBy((d) => d.ID).ToList(); + } + else + { + Dictionary nodes = new Dictionary(); + foreach (DataRow dr in dt.Select("", dt.Columns[indexOfID].ColumnName + " asc")) + { + DataSourceData ds = new DataSourceData(); + ds.ID = dr[indexOfID].ToString(); + ds.Description = dr[indexOfName].ToString(); + if (indexOfPID >= 0) + ds.PID = dr[indexOfPID].ToString(); + //if (nodes.ContainsKey(ds.PID)) + //{ + // DataSourceData pnode = nodes[ds.PID]; + // List subNodes = new List(); + // if (pnode.SubData != null) + // subNodes.AddRange(pnode.SubData); + // subNodes.Add(ds); + // pnode.SubData = subNodes.ToArray(); + //} + nodes[ds.ID] = ds; + } + + foreach (var kv in nodes) + { + if (nodes.ContainsKey(kv.Value.PID)) + { + DataSourceData pnode = nodes[kv.Value.PID]; + List subNodes = new List(); + if (pnode.SubData != null) + subNodes.AddRange(pnode.SubData); + subNodes.Add(kv.Value); + pnode.SubData = subNodes.ToArray(); + } + else + datas.Add(kv.Value); + } + } + result.Data = datas.ToArray(); + + return result; + } + + private Filter[] GetTableFilters() + { + var p = Request.Form["ClientData"]; + p = HttpUtility.HtmlDecode(p); + int index = p.IndexOf(";"); + string iid = p.Substring(0, index); + int index1 = p.IndexOf(";", index + 1); + string type = p.Substring(index + 1, index1 - index - 1);//1为Group 2为User + string dtiid = p.Substring(index1 + 1); + + TableFilterAuthorize[] tableFilters = null; + List pluginList = PluginManager.GetPlugin(); + if (type == "1") + { + tableFilters = GlobalFilterManager.GetTableFilterAuthorizeForGroup(iid, dtiid); + } + else if (type == "2") + { + tableFilters = GlobalFilterManager.GetTableFilterAuthorizeForUser(iid, dtiid); + } + + List filters = new List(); + + if (tableFilters != null) + { + foreach (var item in tableFilters) + { + Filter tf = new Filter(); + tf.FieldName = item.FieldName; + tf.FilterName = item.FilterName; + tf.FilterCondition = item.FilterCondition ?? " "; + tf.FilterDataType = (int)item.FilterDataType; + tf.FilterType = (int)item.FilterType; + if (tf.FilterType == 0) + tf.FilterTypeString = "Single Value"; + else + tf.FilterTypeString = getPluginName(item.PluginID, pluginList); + tf.FilterValue = item.FilterValue; + tf.IID = item.IID; + tf.PluginID = item.PluginID; + + filters.Add(tf); + } + } + return filters.ToArray(); + } + + /// + /// 判断数据源的数据是否是树形结构 + /// + /// + private bool IsFlat(DataTable dt, int pidIndex) + { + if (pidIndex < 0) return true; + + List ids = new List(); + List pids = new List(); + + foreach (DataRow dr in dt.Rows) + { + string id = dr[pidIndex].ToString(); + if (pids.IndexOf(id) >= 0) + return false; + + string pid = dr[pidIndex].ToString(); + if (ids.IndexOf(pid) >= 0) + return false; + + ids.Add(id); + pids.Add(pid); + } + return true; + } + + private bool Validate(ref string error, SaveFilterObject FilterObj) + { + string msg = ""; + if (FilterObj.GlobalFilter != null && FilterObj.GlobalFilter.Length > 0) + { + Filter errorObj = null; + if (!ValidateFilter(ref msg, FilterObj.GlobalFilter, out errorObj)) + { + //string TableFilterError = CommonHelper.GetLangauge("LHBIS.FIC.Client.Modules.FilterManagement.A016") + "\n"; + error = "Filter '{0}' in global filter:" + "\n"; + error = string.Format(error, errorObj.FilterName); + error = error + msg; + return false; + } + } + if (FilterObj.TableFilters != null && FilterObj.TableFilters.Length > 0) + { + foreach (var tf in FilterObj.TableFilters) + { + Filter errorObj = null; + if (!ValidateFilter(ref msg, tf.Filters, out errorObj)) + { + //string TableFilterError = CommonHelper.GetLangauge("LHBIS.FIC.Client.Modules.FilterManagement.A017") + "\n"; + error = "Filter '{0}' in the data Table '{1}':" + "\n"; + error = string.Format(error, errorObj.FilterName, tf.TableName); + error = error + msg; + return false; + } + + } + } + return true; + } + + private bool ValidateFilter(ref string error, Filter[] Filters, out Filter errorObj) + { + errorObj = null; + for (int i = 0; i < Filters.Length; i++) + { + Filter item = Filters[i]; + if (!string.IsNullOrWhiteSpace(item.FilterCondition)) + { + if ((item.FilterCondition == isnull) || (item.FilterCondition == isnotnull)) + { + item.FilterValue = ""; + } + else if (item.FilterCondition != sqlIn) + { + bool returnValue = true; + switch (item.FilterDataType) + { + case (int)FI.FIC.Contracts.DataObjects.Enumeration.DBDataType.dtBoolean: + try + { + bool.Parse(item.FilterValue); + } + catch + { + error = "The Filter value must be True/False.";// CommonHelper.GetLangauge("LHBIS.FIC.Client.Modules.FilterManagement.A012"); + returnValue = false; + } + break; + case (int)FI.FIC.Contracts.DataObjects.Enumeration.DBDataType.dtDate: + try + { + //必须要满足(月日年)或(年月日)的格式 + DateTime t = DateTime.Now; + try + { + t = DateTime.Parse(item.FilterValue, new System.Globalization.DateTimeFormatInfo()); + } + catch + { + } + string tFilterValue = item.FilterValue.Replace(".", "-").Replace("/", "-"); + if (!tFilterValue.StartsWith(t.ToString("MM-dd-yyyy")) + && !tFilterValue.StartsWith(t.ToString("MM-d-yyyy")) + && !tFilterValue.StartsWith(t.ToString("M-dd-yyyy")) + && !tFilterValue.StartsWith(t.ToString("M-d-yyyy")) + && !tFilterValue.StartsWith(t.ToString("yyyy-MM-dd")) + && !tFilterValue.StartsWith(t.ToString("yyyy-MM-d")) + && !tFilterValue.StartsWith(t.ToString("yyyy-M-dd")) + && !tFilterValue.StartsWith(t.ToString("yyyy-M-d"))) + { + throw new Exception(); + } + } + catch + { + error = "The Filter value must be a date.";// CommonHelper.GetLangauge("LHBIS.FIC.Client.Modules.FilterManagement.A013"); + error += " " + "Date format must be 'MM/dd/yyyy' or 'yyyy-MM-dd'";// CommonHelper.GetLangauge("LHBIS.FIC.Client.Wizard.ChartWizardHelper.A286"); + returnValue = false; + } + break; + case (int)FI.FIC.Contracts.DataObjects.Enumeration.DBDataType.dtFloat: + try + { + float.Parse(item.FilterValue); + } + catch + { + error = "The Filter value must be a floating point.";//CommonHelper.GetLangauge("LHBIS.FIC.Client.Modules.FilterManagement.A014"); + returnValue = false; + } + break; + case (int)FI.FIC.Contracts.DataObjects.Enumeration.DBDataType.dtInteger: + try + { + int.Parse(item.FilterValue); + } + catch + { + error = "The Filter Value must be an integer.";// CommonHelper.GetLangauge("LHBIS.FIC.Client.Modules.FilterManagement.A015"); + returnValue = false; + } + break; + case (int)FI.FIC.Contracts.DataObjects.Enumeration.DBDataType.dtGuid: + try + { + if (string.IsNullOrEmpty(item.FilterValue)) + item.FilterValue = Guid.Empty.ToString(); + else + new Guid(item.FilterValue); + } + catch + { + error = "The Filter Value must be a GUID.";// CommonHelper.GetLangauge("LHBIS.FIC.Client.Modules.FilterManagement.A018"); + returnValue = false; + } + break; + } + + if (returnValue == false) + { + errorObj = item; + return returnValue; + } + } + + if (item.FilterValue.Length > 2000) + { + errorObj = item; + error = "The length of the Filter Value must be less than 2000.";// 没有资源号 + return false; + } + } + } + return true; + } + + #region Model + public class Filter + { + public string IID { get; set; } + public string FilterName { get; set; } + public int FilterType { get; set; } + public string FilterTypeString { get; set; } + public string FieldName { get; set; } + public int FilterDataType { get; set; } + public string FilterDataTypeString + { + get + { + string dataType = Enum.GetName(typeof(FI.FIC.Contracts.DataObjects.Enumeration.DBDataType), FilterDataType); + if (dataType == null) return null; + if (dataType.StartsWith("dt")) + { + return dataType.Substring(2, dataType.Length - 2); + } + return dataType; + } + } + public string FilterCondition { get; set; } + public string FilterValue { get; set; } + public string PluginID { get; set; } + } + + /// + /// 包含Global Filter, DataTable List和第一个DataTable的Filter + /// + public class FilterObject + { + public Filter[] GlobalFilters { get; set; } + + public KeyValuePair[] DataTableList { get; set; }//IID/Name + + public Filter[] FirstTableFilters { get; set; }//第一个DataTable的Filter + } + + public class TableFilterObject + { + public string TableIID { get; set; } + public string TableName { get; set; } + public Filter[] Filters { get; set; } + } + + public class SaveFilterObject + { + public string UserIID { get; set; }//用户或用户组的IID + public int Type { get; set; }//1 + public Filter[] GlobalFilter { get; set; } + public TableFilterObject[] TableFilters { get; set; } + } + public class DataSourceObject + { + public string IID { get; set; } + public string Name { get; set; } + public bool IsFlat { get; set; } + + public string DisplayField { get; set; } + public string ValueField { get; set; } + + + public DataSourceData[] Data { get; set; } + } + + public class DataSourceData + { + public string ID { get; set; } + public string PID { get; set; } + public string Description { get; set; } + public DataSourceData[] SubData { get; set; } + } + + public class ErrorObject + { + public int ErrorCode { get; set; } + public string ErrorMessage { get; set; } + } + + #endregion + } +} diff --git a/IronIntelContractorSiteLib/Security/JobsiteLimitBasepage.cs b/IronIntelContractorSiteLib/Security/JobsiteLimitBasepage.cs new file mode 100644 index 0000000..b780bb0 --- /dev/null +++ b/IronIntelContractorSiteLib/Security/JobsiteLimitBasepage.cs @@ -0,0 +1,252 @@ +using Foresight.Data; +using Foresight.Fleet.Services.JobSite; +using IronIntel.Contractor.Security; +using IronIntel.Contractor.Users; +using IronIntel.Services.Business.Admin; +using IronIntel.Services.Customers; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace IronIntel.Contractor.Site.Security +{ + public class JobsiteLimitBasePage : ContractorBasePage + { + protected void ProcessRequest(string methodName) + { + object result = null; + try + { + if (methodName != null) + { + switch (methodName) + { + case "GetJobsiteLimits": + result = GetJobsiteLimits(); + break; + case "SaveJobsiteLimit": + result = SaveJobsiteLimit(); + break; + case "DeleteJobsiteLimit": + result = DeleteJobsiteLimit(); + break; + case "GetContactList": + result = GetContactList(); + break; + case "GetSelectedContacts": + result = GetSelectedContacts(); + break; + case "SaveSubscribeContacts": + result = SaveSubscribeContacts(); + break; + + } + } + } + catch (Exception ex) + { + SystemParams.WriteLog("error", "CurfewBasePage", ex.Message, ex.ToString()); + throw ex; + } + string json = JsonConvert.SerializeObject(result); + Response.Write(json); + Response.End(); + } + + private object GetJobsiteLimits() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var contractorid = HttpUtility.HtmlDecode(clientdata[0]); + var searchtext = HttpUtility.HtmlDecode(clientdata[1]); + + if (!SystemParams.IsDealer) + contractorid = SystemParams.CompanyID; + + JobSiteLimitItem[] items = CreateClient(contractorid).GetJobSiteLimitItems(contractorid, searchtext); + if (items == null || items.Length == 0) + return new JobsiteLimitInfo[0]; + + MachineType[] alltypes = Machines.MachineManagement.GetMachineTypes(); + List list = new List(); + foreach (JobSiteLimitItem item in items) + { + JobsiteLimitInfo jl = new JobsiteLimitInfo(); + Helper.CloneProperty(jl, item); + string[] typeids = jl.AssetTypes.Split(','); + if (typeids != null) + { + foreach (string tyid in typeids) + { + MachineType type = alltypes.FirstOrDefault(m => m.ID == Convert.ToInt32(tyid)); + if (type != null) + { + if (string.IsNullOrWhiteSpace(jl.AssetTypeNames)) + jl.AssetTypeNames = type.Name; + else + jl.AssetTypeNames += "," + type.Name; + } + } + } + if (!string.IsNullOrWhiteSpace(searchtext)) + { + if (Helper.Contains(jl.JobSiteName, searchtext) || Helper.Contains(jl.AssetTypeNames, searchtext) || Helper.Contains(jl.Notes, searchtext)) + list.Add(jl); + } + else + list.Add(jl); + } + + return list.OrderBy(m => m.ID); + } + else + { + return new JobsiteLimitInfo[0]; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object SaveJobsiteLimit() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var contractorid = HttpUtility.HtmlDecode(clientdata[0]); + var data = HttpUtility.HtmlDecode(clientdata[1]); + + var jl = JsonConvert.DeserializeObject(data); + + if (!SystemParams.IsDealer) + contractorid = SystemParams.CompanyID; + + JobSiteLimitItem item = new JobSiteLimitItem(); + Helper.CloneProperty(item, jl); + var client = CreateClient(contractorid); + jl.ID = client.SaveJobSiteLimit(contractorid, item, session.User.UID); + + if (jl.Active) + client.CheckOverUnderTruckingAlert(contractorid, jl.JobSiteID); + + return new string[] { jl.ID.ToString(), "OK" }; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private string DeleteJobsiteLimit() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var contractorid = HttpUtility.HtmlDecode(clientdata[0]); + var idstr = HttpUtility.HtmlDecode(clientdata[1]); + long id = Convert.ToInt64(idstr); + + if (!SystemParams.IsDealer) + contractorid = SystemParams.CompanyID; + + CreateClient(contractorid).DeleteJobSiteLimit(contractorid, id, string.Empty, session.User.UID); + + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private UserInfo[] GetContactList() + { + var session = GetCurrentLoginSession(); + UserInfo[] users = null; + if (session != null) + { + //contact = ContactManagement.GetContacts(); + users = UserManagement.GetActiveUsers(session.SessionID); + users = users.OrderBy(u => u.DisplayName).ToArray(); + } + else + { + users = new UserInfo[0]; + } + return users; + } + private object GetSelectedContacts() + { + try + { + UserInfo[] items = null; + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"]; + long id = Convert.ToInt64(clientdata); + + items = JobsiteLimitManagement.GetSubscribeContacts(id); + items = items.OrderBy(u => u.DisplayName).ToArray(); + } + else + { + items = new UserInfo[0]; + } + return items; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object SaveSubscribeContacts() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var jlid = HttpUtility.HtmlDecode(clientdata[0]); + var contactids = HttpUtility.HtmlDecode(clientdata[1]); + + string[] ids = JsonConvert.DeserializeObject(contactids); + + JobsiteLimitManagement.SaveSubscribeContacts(jlid, ids); + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + } +} diff --git a/IronIntelContractorSiteLib/Security/SecurityBasePage.cs b/IronIntelContractorSiteLib/Security/SecurityBasePage.cs new file mode 100644 index 0000000..2f7cb3c --- /dev/null +++ b/IronIntelContractorSiteLib/Security/SecurityBasePage.cs @@ -0,0 +1,63 @@ +using IronIntel.Contractor.Users; +using IronIntel.Services; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Site.Security +{ + public class SecurityBasePage : ContractorBasePage + { + protected void ProcessRequest(string methodName) + { + object result = null; + + if (methodName != null) + { + switch (methodName.ToUpper()) + { + case "GETNAVS": + result = GetNavigations(); + break; + } + } + + string json = JsonConvert.SerializeObject(result); + Response.Write(json); + Response.End(); + } + + private SecurityNavigateItem[] GetNavigations() + { + var user = GetCurrentUser(); + List list = Acl.GetSecurityNavigateItems(user).ToList(); + LicenseInfo license = SystemParams.GetLicense(); + if (license != null && license.Items.Count > 0) + { + LicenseItem li = license.Items.FirstOrDefault(m => m.Key == "CurfewConfiguration"); + if (li == null || !Helper.IsTrue(li.Value)) + { + SecurityNavigateItem item = list.FirstOrDefault(m => m.ID == "nav_curfew"); + if (item != null) + list.Remove(item); + item = list.FirstOrDefault(m => m.ID == "nav_curfewmt"); + if (item != null) + list.Remove(item); + } + + if (user.UserType != UserTypes.SupperAdmin) + { + SecurityNavigateItem item = list.FirstOrDefault(m => m.ID == "nav_curfewmt"); + if (item != null) + list.Remove(item); + } + } + + return list.ToArray(); + } + } + +} diff --git a/IronIntelContractorSiteLib/Security/UserGroupBasePage.cs b/IronIntelContractorSiteLib/Security/UserGroupBasePage.cs new file mode 100644 index 0000000..a17b4e9 --- /dev/null +++ b/IronIntelContractorSiteLib/Security/UserGroupBasePage.cs @@ -0,0 +1,155 @@ +using IronIntel.Contractor.Users; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Web; + +namespace IronIntel.Contractor.Site.Security +{ + public class UserGroupBasePage : ContractorBasePage + { + protected void ProcessRequest(string methodName) + { + object result = null; + + try + { + if (methodName != null) + { + switch (methodName.ToUpper()) + { + case "GETGROUPS": + result = GetGroups(); + break; + case "GETGROUPINFO": + result = GetGroupInfo(); + break; + case "SAVEGROUP": + result = SaveGroup(); + break; + case "DELETEGROUP": + result = DeleteGroup(); + break; + } + } + } + catch (Exception ex) + { + result = ex.Message; + SystemParams.WriteLog("Error", "UserGroupBasePage.ProcessRequest", ex.Message, ex.ToString()); + } + + string json = JsonConvert.SerializeObject(result); + Response.Write(json); + Response.End(); + } + + protected override bool AllowCurrentLoginSessionEnter() + { + var f = base.AllowCurrentLoginSessionEnter(); + if (!f) + { + return false; + } + + // check whether you are admin. + var session = GetCurrentLoginSession(); + if (session == null || session.User == null) + { + return false; + } + var ui = UserManagement.GetUserByIID(session.User.UID); + return ui != null && ui.UserType >= UserTypes.Admin; + } + + protected override bool ThrowIfNotAllowed { get { return true; } } + + public UserGroupInfo[] GetGroups() + { + var groups = UserManagement.GetGroups().ToArray(); + return groups; + } + + public GroupDetail GetGroupInfo() + { + var iid = Request.Form["ClientData"]; + UserGroupInfo group; + if (string.IsNullOrEmpty(iid)) + { + group = new UserGroupInfo(); + } + else + { + Guid guid; + if (!Guid.TryParse(iid, out guid)) + { + throw new ArgumentException("Group ID is not valid."); + } + + // 返回带 Users 数据的详细用户组对象 + group = UserManagement.GetGroup(guid.ToString()); + } + var users = UserManagement.GetUsers().OrderBy(u => u.ID).ToArray(); + + return new GroupDetail + { + GroupInfo = group, + Users = users + }; + } + + public string SaveGroup() + { + var content = Request.Form["ClientData"]; + content = HttpUtility.HtmlDecode(content); + var item = JsonConvert.DeserializeObject(content); + + // 保存组基本信息,与包含的全部用户 + if (string.IsNullOrWhiteSpace(item.Name)) + { + throw new ArgumentException("Group Name cannot be empty."); + } + item.Name = item.Name.Trim(); + if (string.IsNullOrEmpty(item.ID)) + { + // add + item.ID = Guid.NewGuid().ToString(); + UserManagement.AddGroup(item); + } + else + { + UserManagement.UpdateGroup(item); + } + return ""; + } + + public string DeleteGroup() + { + var iid = Request.Form["ClientData"]; + Guid guid; + if (!Guid.TryParse(iid, out guid)) + { + throw new ArgumentException("Group ID is not valid."); + } + try + { + UserManagement.DeleteGroup(guid.ToString()); + return ""; + } + catch (Exception ex) + { + SystemParams.WriteLog("Error", "DeleteGroup", ex.Message, ex.ToString()); + throw ex; + } + } + } + + public class GroupDetail + { + public UserGroupInfo GroupInfo { get; set; } + public UserInfo[] Users { get; set; } + } +} diff --git a/IronIntelContractorSiteLib/Security/UserToContractorPage.cs b/IronIntelContractorSiteLib/Security/UserToContractorPage.cs new file mode 100644 index 0000000..4131dfd --- /dev/null +++ b/IronIntelContractorSiteLib/Security/UserToContractorPage.cs @@ -0,0 +1,98 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Web; +using IronIntel.Contractor.Users; +using Newtonsoft.Json; + +namespace IronIntel.Contractor.Site.Security +{ + public class UserToContractorPage : ContractorBasePage + { + public const char splitChar = (char)170; + protected void ProcessRequest(string methodName) + { + if (methodName != null) + { + switch (methodName.ToUpper()) + { + case "GETUSERS": + GetUsers(); + break; + case "GETGROUPS": + GetGroups(); + break; + case "GETCONTRACTORS": + GetContractors(); + break; + case "SAVECONTRACTOR": + SaveContractor(); + break; + } + } + Response.End(); + } + + protected override bool AllowCurrentLoginSessionEnter() + { + var f = base.AllowCurrentLoginSessionEnter(); + if (!f) + { + return false; + } + + // check whether you are admin. + var session = GetCurrentLoginSession(); + if (session == null || session.User == null) + { + return false; + } + var ui = UserManagement.GetUserByIID(session.User.UID); + return ui != null && ui.UserType >= UserTypes.Admin; + } + + private void GetUsers() + { + string json = ""; + var users = UserManagement.GetUnmanagementUsers().OrderBy(u => u.DisplayName).ToArray(); + json = JsonConvert.SerializeObject(users); + Response.Write(json); + Response.End(); + } + + private void GetGroups() + { + string json = ""; + var groups = UserManagement.GetGroups().OrderBy(u => u.Name).ToArray(); + json = JsonConvert.SerializeObject(groups); + Response.Write(json); + Response.End(); + } + private void GetContractors() + { + string iid = Request.Params["uiid"] == null ? string.Empty : Request.Params["uiid"]; + int flag = Int32.Parse(Request.Params["Flag"]); + string json = ""; + UserToContractorInfo[] contractors = UserManagement.GetContractorsByIId(iid, flag); + var cntractrssort = contractors.OrderBy(c => c.Name).ToArray(); + json = JsonConvert.SerializeObject(cntractrssort); + Response.Write(json); + Response.End(); + } + private void SaveContractor() + { + string iid = Request.Params["id"]; + string contractorstr = Request.Params["contractors"]; + string[] contractors = JsonConvert.DeserializeObject(contractorstr); + for (int i = 0; i < contractors.Length; i++) + { + contractors[i] = HttpUtility.UrlDecode(contractors[i]); + } + UserManagement.AddUserToContractor(iid, contractors); + Response.Write("Save contractors info successfully."); + Response.End(); + } + } +} diff --git a/IronIntelContractorSiteLib/SingleAssetViewBasePage.cs b/IronIntelContractorSiteLib/SingleAssetViewBasePage.cs new file mode 100644 index 0000000..1e6d575 --- /dev/null +++ b/IronIntelContractorSiteLib/SingleAssetViewBasePage.cs @@ -0,0 +1,383 @@ +using Foresight.Fleet.Services.Asset; +using IronIntel.Contractor.Machines; +using IronIntel.Contractor.Maintenance; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Web; + +namespace IronIntel.Contractor.Site +{ + public class SingleAssetViewBasePage : ContractorBasePage + { + protected void ProcessRequest(string method) + { + object result = null; + try + { + string methodName = Request.Params["MethodName"]; + if (methodName != null) + { + switch (methodName.ToUpper()) + { + case "GETASSETDETAILINFO": + result = GetAssetDetailInfo(); + break; + case "GETPMINFO": + result = GetPMInfo(); + break; + case "GETASSETRENTAL": + result = GetAssetRental(); + break; + case "GETASSETDETAILWORKSPACECONFIG": + result = GetAssetDetailWorkspaceConfig(); + break; + case "GETASSETONOFFTIMELINE": + result = GetAssetOnOffTimeline(); + break; + case "ISCALAMPPRIMARYLOCATION": + result = IsCalampPrimaryLocation(); + break; + } + } + } + catch (Exception ex) + { + SystemParams.WriteLog("error", "SingleAssetViewBasePage", ex.Message, ex.ToString()); + throw ex; + } + string json = JsonConvert.SerializeObject(result); + Response.Write(json); + Response.End(); + } + + private object GetAssetDetailInfo() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var custid = HttpUtility.HtmlDecode(clientdata[0]); + var assetidstr = HttpUtility.HtmlDecode(clientdata[1]); + long assetid = -1; + long.TryParse(assetidstr, out assetid); + if (string.IsNullOrWhiteSpace(custid)) + custid = SystemParams.CompanyID; + + AssetDetailInfo info = CreateClient(custid).GetAssetDetailInfo(custid, assetid); + + AssetDetailItem assetdetail = new AssetDetailItem(); + Helper.CloneProperty(assetdetail, info); + if (info.CurrentLocation != null) + { + assetdetail.CurrentLocation = new AssetAddressItem(); + Helper.CloneProperty(assetdetail.CurrentLocation, info.CurrentLocation); + } + if (info.CurrentHours != null) + { + assetdetail.CurrentHours = new AssetEngineHoursItem(); + Helper.CloneProperty(assetdetail.CurrentHours, info.CurrentHours); + } + if (info.CurrentIdleHours != null) + { + assetdetail.CurrentIdleHours = new AssetIdlehoursItem(); + Helper.CloneProperty(assetdetail.CurrentIdleHours, info.CurrentIdleHours); + } + if (info.CurrentOdometer != null) + { + assetdetail.CurrentOdometer = new AssetOdometerItem(); + Helper.CloneProperty(assetdetail.CurrentOdometer, info.CurrentOdometer); + } + + return assetdetail; + } + else + return new AssetDetailItem(); + } + catch (Exception ex) + { + return ex.Message; + } + } + private object GetPMInfo() + { + try + { + var session = GetCurrentLoginSession(); + PMInfo ominfo = new PMInfo(); + if (session != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var custid = HttpUtility.HtmlDecode(clientdata[0]); + var assetidstr = HttpUtility.HtmlDecode(clientdata[1]); + long assetid = -1; + long.TryParse(assetidstr, out assetid); + if (string.IsNullOrWhiteSpace(custid)) + custid = SystemParams.CompanyID; + + var client = CreateClient(custid); + var names = client.GetAssetPMScheduleNames(custid, assetid); + ominfo.ScheduleNames = string.Join(", ", names); + ominfo.AlertMessages = client.GetAssetPMAlertMessagess(custid, assetid); + } + return ominfo; + } + catch (Exception ex) + { + return ex.Message; + } + } + private object GetAssetRental() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var custid = HttpUtility.HtmlDecode(clientdata[0]); + var assetidstr = HttpUtility.HtmlDecode(clientdata[1]); + long assetid = -1; + long.TryParse(assetidstr, out assetid); + if (string.IsNullOrWhiteSpace(custid)) + custid = SystemParams.CompanyID; + + var temp = CreateClient(custid).GetAssetCurrentRentalSimpleInfo(custid, assetid); + if (temp != null) + { + MachineRentalInfo rental = new MachineRentalInfo(); + rental.RentalID = temp.ID; + rental.ProjectReturnDate = temp.PrjReturnDate; + rental.RentalRate = (decimal)temp.Rate; + rental.RentalDate = temp.RentalDate; + rental.ReturnDate = temp.ReturnDate; + rental.Term = temp.Term; + rental.TermUnit = temp.TermUnit; + return rental; + } + return null; + } + else + return null; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetAssetOnOffTimeline() + { + try + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var companyid = HttpUtility.HtmlDecode(clientdata[0]); + if (string.IsNullOrEmpty(companyid)) + { + companyid = SystemParams.CompanyID; + } + var assetid = long.Parse(clientdata[1]); + var date = DateTime.Parse(clientdata[2]); + return CreateClient(companyid).GetAssetOnOffTimeline(companyid, assetid, date).Select(s => + { + double off; + if (s.Off != null) + { + off = s.Off.Value.TimeOfDay.TotalSeconds; + } + else + { + var now = CreateClient().GetCustomerDateTimeNow(companyid); + if (now.Date == date.Date && (s.On == null || now > s.On.Value)) + { + off = now.TimeOfDay.TotalSeconds; + } + else + { + // 23:59:59 + off = 24 * 60 * 60 - 1; + } + } + return new + { + HasOn = s.On != null, + Start = s.On?.TimeOfDay.TotalSeconds ?? 0, + HasOff = s.Off != null, + End = off + }; + }); + } + catch (Exception ex) + { + return ex.Message; + } + } + + private string IsCalampPrimaryLocation() + { + try + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var companyid = HttpUtility.HtmlDecode(clientdata[0]); + if (string.IsNullOrEmpty(companyid)) + { + companyid = SystemParams.CompanyID; + } + var assetid = long.Parse(clientdata[1]); + return CreateClient(companyid).IsCalampPrimaryLocation(companyid, assetid) ? "1" : "0"; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetAssetDetailWorkspaceConfig() + { + return MachineDetailWorkspace.GetConfig(); + } + + class AssetDetailItem + { + public long ID { get; set; } + public string Name { get; set; } + public string Name2 { get; set; } + public string VIN { get; set; } + public int MakeID { get; set; } + public int TypeID { get; set; } + public int ModelID { get; set; } + public string MakeName { get; set; } + public string ModelName { get; set; } + public string TypeName { get; set; } + public int MakeYear { get; set; } + public string Description { get; set; } + public string AquisitionType { get; set; } + public string CostCenter { get; set; } + public DateTime? DateAddedUtc { get; set; } + public string DateAddedUtcStr { get { return DateAddedUtc.ToString(); } } + public DateTime? DateAddedLocal { get; set; } + public string DateAddedLocalStr { get { return DateAddedLocal.ToString(); } } + public string GroupNames { get; set; } + public string CurrentJobSiteNames { get; set; } + public string LastForeman { get; set; } + public string AssetIconUrl { get; set; } + public string MapViewIconUrl { get; set; } + public bool OnRoad { get; set; } + public bool TelematicsEnabled { get; set; } + + public AssetAddressItem CurrentLocation { get; set; } + public AssetEngineHoursItem CurrentHours { get; set; } + public AssetIdlehoursItem CurrentIdleHours { get; set; } + public AssetOdometerItem CurrentOdometer { get; set; } + public string DisplayName + { + get + { + //DisplayName取值顺序为Name2,Name,VIN,ID用于前端显示 + string name = Name2; + if (string.IsNullOrWhiteSpace(name)) + name = Name; + if (string.IsNullOrWhiteSpace(name)) + name = VIN; + if (string.IsNullOrWhiteSpace(name)) + name = ID.ToString(); + return name; + } + } + } + + class AssetAttributeItemBase + { + public long AssetID { get; set; } + public DateTime AsofTime { get; set; }//utc time + public string AsofTimeStr { get { return AsofTime.ToString(); } } + public DateTime AsofTimeLocal { get; set; }//AsOftime的用户本地时间表示 + public string AsofTimeLocalStr { get { return AsofTimeLocal.ToString(); } } + public string DataSource { get; set; } + public string SubSource { get; set; } + public string DataSourceName { get; set; } + } + + class AssetAddressItem : AssetAttributeItemBase + { + public double Latitude { get; set; } + public double Longitude { get; set; } + public string Street { get; set; } + public string City { get; set; } + public string State { get; set; } + public string PostalCode { get; set; } + public string Country { get; set; } + public bool IsPrimary { get; set; } + public string Address { get; set; } + } + + class AssetEngineHoursItem : AssetAttributeItemBase + { + public double Hours { get; set; } + + private double _Corrected; + public double Corrected + { + get + { + return _Corrected; + } + set + { + value = value > 0 ? value : 0; + _Corrected = Math.Round(value, 2); + } + } + public bool IsPrimary { get; set; } + } + class AssetIdlehoursItem : AssetAttributeItemBase + { + public double Hours { get; set; } + public bool IsPrimary { get; set; } + } + class AssetOdometerItem : AssetAttributeItemBase + { + public string UOM { get; set; } + + private double _Odometer; + public double Odometer + { + get + { + return _Odometer; + } + set + { + value = value > 0 ? value : 0; + _Odometer = Math.Round(value, 2); + } + } + private double _Corrected; + public double Corrected + { + get + { + return _Corrected; + } + set + { + value = value > 0 ? value : 0; + _Corrected = Math.Round(value, 2); + } + } + public bool IsPrimary { get; set; } + } + + class PMInfo + { + public string ScheduleNames { get; set; } + public string[] AlertMessages { get; set; } + } + + } +} diff --git a/IronIntelContractorSiteLib/SystemSettings/CustomerProviderBasePage.cs b/IronIntelContractorSiteLib/SystemSettings/CustomerProviderBasePage.cs new file mode 100644 index 0000000..f8566a9 --- /dev/null +++ b/IronIntelContractorSiteLib/SystemSettings/CustomerProviderBasePage.cs @@ -0,0 +1,149 @@ +using Foresight.Fleet.Services.Customer; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Web; + +namespace IronIntel.Contractor.Site.SystemSettings +{ + public class CustomerProviderBasePage : ContractorBasePage + { + protected void ProcessRequest(string methodName) + { + object result = null; + try + { + if (methodName != null) + { + switch (methodName.ToUpper()) + { + case "GETCUSTOMERLOCATIONS": + result = GetCustomerLocations(); + break; + case "SAVECUSTOMERLOCATION": + result = SaveCustomerLocation(); + break; + case "DELETECUSTOMERLOCATION": + result = DeleteCustomerLocation(); + break; + } + } + } + catch (Exception ex) + { + result = ex.Message; + SystemParams.WriteLog("Error", "CustomerProvider.ProcessRequest", ex.Message, ex.ToString()); + } + + string json = JsonConvert.SerializeObject(result); + Response.Write(json); + Response.End(); + } + private object GetCustomerLocations() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + CustomerLocation[] locations = CreateClient().GetCustomerLocations(SystemParams.CompanyID); + + List list = new List(); + foreach (CustomerLocation lc in locations) + { + CustomerLocationItem item = new CustomerLocationItem(); + Helper.CloneProperty(item, lc); + list.Add(item); + } + if (list.Count() > 0) + return list.ToArray().OrderBy(m => m.Name); + else + return new CustomerLocationItem[0]; + } + else + { + throw new Exception("not login."); + } + } + catch (Exception ex) + { + return ex.Message; + } + } + private object SaveCustomerLocation() + { + try + { + if (GetCurrentLoginSession() != null) + { + string data = HttpUtility.UrlDecode(Request.Params["ClientData"]); + HttpPostedFile uploadFile = null; + byte[] logobyte = null; + if (Request.Files.Count > 0) + { + uploadFile = Request.Files[0]; + logobyte = ConvertFile2bytes(uploadFile); + } + + CustomerLocationItem item = JsonConvert.DeserializeObject(data); + CustomerLocation location = new CustomerLocation(); + Helper.CloneProperty(location, item); + var cp = CreateClient(); + int locationid = location.ID; + if (locationid == -1) + locationid = cp.AddCustomerLocation(SystemParams.CompanyID, location); + else + cp.UpdateCustomerLocation(location); + + if (logobyte != null) + cp.ChangeLocationLOGO(locationid, logobyte); + return "OK"; + } + else + { + throw new Exception("not login."); + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private string DeleteCustomerLocation() + { + try + { + if (GetCurrentLoginSession() != null) + { + string id = HttpUtility.UrlDecode(Request.Params["ClientData"]); + int locationid = -1; + int.TryParse(id, out locationid); + CreateClient().DeleteCustomerLocation(locationid); + return "OK"; + } + else + { + throw new Exception("not login."); + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + public class CustomerLocationItem + { + public int ID { get; set; } + public string Name { get; set; } + public double Latitude { get; set; } + public double Longitude { get; set; } + public string Address { get; set; } + public string Notes { get; set; } + } + } +} diff --git a/IronIntelContractorSiteLib/SystemSettings/SystemSettingsBasePage.cs b/IronIntelContractorSiteLib/SystemSettings/SystemSettingsBasePage.cs new file mode 100644 index 0000000..a075dc5 --- /dev/null +++ b/IronIntelContractorSiteLib/SystemSettings/SystemSettingsBasePage.cs @@ -0,0 +1,292 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Newtonsoft.Json; +using System.Xml; +using System.Web; +using IronIntel.Services; +using IronIntel.Contractor.Users; +using Foresight.ServiceModel; + +namespace IronIntel.Contractor.Site.SystemSettings +{ + public class SystemSettingsBasePage : ContractorBasePage + { + protected void ProcessRequest(string methodName) + { + object result = null; + try + { + if (methodName != null) + { + switch (methodName.ToUpper()) + { + case "GETCOMPANYUISTYLES": + result = GetCompanyUIStyles(); + break; + case "SETCOMPANYUISTYLE": + result = SetCompanyUIStyle(); + break; + case "DELETECOMPANYUISTYLE": + result = DeleteCompanyUIStyle(); + break; + case "GETUSEROPTIONS": + result = GetUserOptions(); + break; + case "SAVEUSEROPTIONS": + result = SaveUserOptions(); + break; + case "GETTIMEZONES": + result = GetTimeZones(); + break; + case "GETSYSTEMOPTIONS": + result = GetSystemOptions(); + break; + case "SAVESYSTEMOPTIONS": + result = SaveSystemOptions(); + break; + } + } + } + catch (Exception ex) + { + result = ex.Message; + SystemParams.WriteLog("Error", "Settingcolor.ProcessRequest", ex.Message, ex.ToString()); + } + + string json = JsonConvert.SerializeObject(result); + Response.Write(json); + Response.End(); + } + + private object GetCompanyUIStyles() + { + try + { + if (GetCurrentLoginSession() != null) + { + IronSysServiceClient ic = SystemParams.GetIronSystemServiceClient(); + CustUIStyleList uis = ic.GetCompanyUIStyles(SystemParams.CompanyID); + + List list = new List(); + foreach (CustUIStyle ui in uis) + { + CustUIStyleItem item = new CustUIStyleItem(); + Helper.CloneProperty(item, ui); + list.Add(item); + } + if (list.Count() > 0) + return list.ToArray(); + else + return new CustUIStyleItem[0]; + } + else + { + throw new Exception("not login."); + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private string SetCompanyUIStyle() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string uidata = Request.Params["ClientData"]; + CustUIStyleItem item = JsonConvert.DeserializeObject(uidata); + item.UIStyleName = HttpUtility.UrlDecode(item.UIStyleName); + CustUIStyle ui = new CustUIStyle(); + Helper.CloneProperty(ui, item); + IronSysServiceClient ic = SystemParams.GetIronSystemServiceClient(); + ic.SetCompanyUIStyle(SystemParams.CompanyID, ui); + return "OK"; + } + else + { + return "User being not logged in."; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private string DeleteCompanyUIStyle() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string uistyleid = HttpUtility.UrlDecode(Request.Params["ClientData"]); + int styleid = -1; + int.TryParse(uistyleid, out styleid); + IronSysServiceClient ic = SystemParams.GetIronSystemServiceClient(); + ic.DeleteCompanyUIStyle(SystemParams.CompanyID, styleid); + return "OK"; + } + else + { + throw new Exception("not login."); + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetUserOptions() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var up = UserParams.GetUserParams(session.SessionID, session.User.UID); + return up; + } + else + { + throw new Exception("not login."); + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object SaveUserOptions() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string options = HttpUtility.UrlDecode(Request.Params["ClientData"]); + UserParamInfo upi = JsonConvert.DeserializeObject(options); + UserParams.SetUserParams(session.User.UID, upi); + return "OK"; + } + else + { + throw new Exception("not login."); + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetTimeZones() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var timezones = SystemParams.GetTimeZones(); + return timezones; + } + else + { + throw new Exception("not login."); + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetSystemOptions() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string af = SystemParams.GetStringParam("AccuracyFilter"); + double accuracyfilter = 0; + double.TryParse(af, out accuracyfilter); + + SystemOptionInfo soi = new SystemOptionInfo(); + soi.TimeZone = SystemParams.GetStringParam("CustomerTimeZone", false); + soi.AccuracyFilter = accuracyfilter; + soi.UnitOfOdometer = SystemParams.GetStringParam("UnitOfOdometer"); + soi.AcknowledgingAlerts = SystemParams.GetStringParam("AcknowledgingAlerts"); + return soi; + } + else + { + throw new Exception("not login."); + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object SaveSystemOptions() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + string options = HttpUtility.UrlDecode(Request.Params["ClientData"]); + SystemOptionInfo upi = JsonConvert.DeserializeObject(options); + + SystemParams.SetStringParam("CustomerTimeZone", upi.TimeZone); + SystemParams.SetStringParam("CustomerTimeZoneOffset", upi.Offset.ToString()); + SystemParams.SetStringParam("AccuracyFilter", upi.AccuracyFilter.ToString()); + SystemParams.SetStringParam("UnitOfOdometer", upi.UnitOfOdometer); + SystemParams.SetStringParam("AcknowledgingAlerts", upi.AcknowledgingAlerts); + + return "OK"; + } + else + { + throw new Exception("not login."); + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private class CustUIStyleItem + { + public int UIStyleID { get; set; } + public string UIStyleName { get; set; } + public bool IsDefault { get; set; } + public string TitleBarColor { get; set; } + public string MenuBackgroundColor { get; set; } + public string ChartTitleBackgroundColor { get; set; } + public string ChartBorderColor { get; set; } + } + + private class SystemOptionInfo + { + public string TimeZone { get; set; } + public int Offset { get; set; } + public double AccuracyFilter { get; set; } + public string UnitOfOdometer { get; set; } + public string AcknowledgingAlerts { get; set; } + } + + } +} diff --git a/IronIntelContractorSiteLib/UserManageBasePage.cs b/IronIntelContractorSiteLib/UserManageBasePage.cs new file mode 100644 index 0000000..93ea1dd --- /dev/null +++ b/IronIntelContractorSiteLib/UserManageBasePage.cs @@ -0,0 +1,599 @@ +using Foresight.Fleet.Services.Asset; +using Foresight.Fleet.Services.JobSite; +using Foresight.ServiceModel; +using IronIntel.Contractor.Contact; +using IronIntel.Contractor.JobSites; +using IronIntel.Contractor.Machines; +using IronIntel.Contractor.Maintenance; +using IronIntel.Contractor.MapView; +using IronIntel.Contractor.Users; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Web; + +namespace IronIntel.Contractor.Site +{ + public class UserManageBasePage : ContractorBasePage + { + protected void ProcessRequest(string methodName) + { + object result = null; + try + { + if (methodName != null) + { + switch (methodName.ToUpper()) + { + case "GETUSERS": + result = GetUsers(); + break; + case "ADDUSER": + result = SaveUser(true); + break; + case "EDITUSER": + result = SaveUser(false); + break; + case "DELETEUSER": + result = DeleteUser(); + break; + case "RESETPASSWORD": + result = ResetPassword(); + break; + case "GETUSERMACHINEGROUP": + result = GetUserMachineGroup(); + break; + case "SAVEUSERMACHINEGROUP": + result = SaveUserMachineGroup(); + break; + case "GETUSERINFO": + result = GetUserInfo(); + break; + case "GETALLGROUPS": + result = GetAllGroups(); + break; + case "GETGROUPSBYUSER": + result = GetGroupsByUser(); + break; + case "GETSELECTEDMACHINES": + result = GetSelectedMachines(); + break; + case "GETSELECTEDASSETS": + result = GetSelectedAssets(); + break; + case "ASSIGNASSETSTOUSER": + result = AssignAssetsToUser(); + break; + case "REMOVEASSIGNEDASSETSFROMUSER": + result = RemoveAssignedAssetsFromUser(); + break; + case "SAVECONTACTMACHINES": + result = SaveContactMachines(); + break; + case "GETJOBSITELIST": + result = GetJobsiteList(); + break; + case "GETSELECTEDJOBSITES": + result = GetSelectedJobsites(); + break; + case "SAVECONTACTJOBSITES": + result = SaveContactJobsites(); + break; + case "GETMACHINETYPES": + Machines.MachineManagement.RefreshMachineTypes(); + result = MachineManagement.GetMachineTypes().OrderBy(m => m.Name).Select(t => new + { + ID = t.ID, + Name = t.Name + }); + break; + case "GETMACHINELIST": + result = GetMachineList(); + break; + case "GETAVAILABLEFEATURES": + result = GetAvailableFeatures(); + break; + case "GETFEATURESDEFINEDONUSER": + result = GetFeaturesDefinedOnUser(); + break; + } + } + } + catch (Exception ex) + { + SystemParams.WriteLog("error", "ContactBasePage", ex.Message, ex.ToString()); + throw ex; + } + string json = JsonConvert.SerializeObject(result); + Response.Write(json); + Response.End(); + } + + #region Security + + private object GetAvailableFeatures() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var client = CreateClient(); + Foresight.Fleet.Services.User.Feature[] features = client.GetAvailableFeatures(SystemParams.CompanyID); + if (features == null || features.Length == 0) + return new FeatureModuleItem[0]; + + List list = new List(); + foreach (var feature in features) + { + FeatureModuleItem fmi = list.FirstOrDefault(m => m.Module.Id == feature.ModuleId); + + if (fmi == null) + { + fmi = new FeatureModuleItem(); + fmi.Module = Foresight.Fleet.Services.User.FeatureModule.GetModule(feature.ModuleId); + fmi.Features.Add(feature); + list.Add(fmi); + } + else + fmi.Features.Add(feature); + } + + return list.ToArray(); + } + else + return new FeatureModuleItem[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetFeaturesDefinedOnUser() + { + try + { + var session = GetCurrentLoginSession(); + if (session != null) + { + var useriid = Request.Form["ClientData"]; + var client = CreateClient(); + KeyValuePair[] pms = client.GetFeaturesDefinedOnUser(SystemParams.CompanyID, useriid); + + return pms; + } + else + return new KeyValuePair[0]; + } + catch (Exception ex) + { + return ex.Message; + } + } + + #endregion + + protected override bool AllowCurrentLoginSessionEnter() + { + var f = base.AllowCurrentLoginSessionEnter(); + if (!f) + { + return false; + } + + // check whether you are admin. + var session = GetCurrentLoginSession(); + if (session == null || session.User == null) + { + return false; + } + var ui = UserManagement.GetUserByIID(session.User.UID); + return ui != null && ui.UserType >= UserTypes.Admin; + } + + protected override bool ThrowIfNotAllowed { get { return true; } } + + private object GetUsers() + { + var items = UserManagement.GetUsers().OrderBy(u => u.ID).ToArray(); + return items; + } + + private object GetUserInfo() + { + var uid = Request.Form["ClientData"]; + var user = UserManagement.GetUserByIID(uid); + if (user == null) + user = new UserInfo(); + return user; + } + + private object SaveUser(bool adduser) + { + var session = GetCurrentLoginSession(); + if (session == null) return ""; + + var content = Request.Form["ClientData"]; + content = HttpUtility.HtmlDecode(content); + var user = JsonConvert.DeserializeObject(content); + var item = user.UserInfo; + + try + { + if (adduser) + { + if (string.IsNullOrWhiteSpace(item.ID)) + { + throw new ArgumentException("User ID cannot be empty."); + } + if (string.IsNullOrWhiteSpace(item.DisplayName)) + { + throw new ArgumentException("User name cannot be empty."); + } + item.Active = true; + item.IID = UserManagement.AddUser(item, item.TransPass, session.User.UID, session.SessionID, Request.UserHostName); + } + else + { + UserManagement.UpdateUserInfo(item, session.User.UID, session.SessionID, Request.UserHostName); + UserManagement.SaveUserGroups(item.IID, item.GroupIDs); + // save subscribe message + if (user.Subscribe != null) + { + user.Subscribe.UserIID = item.IID; + FI.FIC.Models.WorkspaceManager.SaveSubscribeMessageByEmail(user.Subscribe, item.IID); + } + + if (user.Features != null && user.Features.Length > 0) + { + var client = CreateClient(); + client.UpdateFeaturesForUser(SystemParams.CompanyID, item.IID, user.Features, session.User.UID); + } + if (SystemParams.HasLicense("EmailSubscribe") && user.Schedule != null) + { + FI.FIC.Models.Schedule.ScheduleManager.SaveEmailScheduleItems(item.IID, user.Schedule, "en-us"); + } + } + + } + catch (Exception ex) + { + return ex.Message; + } + + return new string[] { item.IID, "Saved successfully." }; + } + + private string DeleteUser() + { + var session = GetCurrentLoginSession(); + if (session == null) return ""; + + var iid = Request.Form["ClientData"]; + Guid guid; + if (!Guid.TryParse(iid, out guid)) + { + throw new ArgumentException("User IID is not valid."); + } + else if (!UserManagement.CanDeleteUser(iid)) + { + throw new Exception("This user cannot be deleted."); + } + CreateClient().DeleteUser(iid, session.User.UID, ""); + return "OK"; + } + + private object ResetPassword() + { + var session = GetCurrentLoginSession(); + if (session == null) return ""; + var clientdata = Request.Form["ClientData"].Split((char)170); + var iid = HttpUtility.HtmlDecode(clientdata[0]); + var password = HttpUtility.HtmlDecode(clientdata[1]); + + Guid guid; + if (!Guid.TryParse(iid, out guid)) + { + throw new ArgumentException("User IID is not valid."); + } + + UserManagement.ResetPassword(iid, password, session.User.UID, session.SessionID, Request.UserHostName); + return "OK"; + } + + private object GetUserMachineGroup() + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"]; + var useriid = HttpUtility.HtmlDecode(clientdata); + + var allMachines = MachineManagement.GetMachineGroups(""); + var machines = MachineManagement.GetMachineGroupByUser(useriid); + UserMachineGroupInfoItem mgi = new UserMachineGroupInfoItem(); + mgi.AllMachineGroups = allMachines.OrderBy((m) => m.GroupName).ToArray(); + mgi.MachineGroups = machines.OrderBy((m) => m.GroupName).ToArray(); + + return mgi; + } + else + return "OK"; + } + private object SaveUserMachineGroup() + { + if (GetCurrentLoginSession() != null) + { + string clientdata = Request.Form["ClientData"]; + clientdata = HttpUtility.HtmlDecode(clientdata); + UserMachineGroupSaveItem umg = JsonConvert.DeserializeObject(clientdata); + + MachineManagement.SaveUserMachineGroup(umg.UserIID, umg.GroupIDs); + + return "OK"; + } + return "Failed"; + } + + private object GetAllGroups() + { + if (GetCurrentLoginSession() != null) + { + var groups = UserManagement.GetGroups(); + return groups; + } + return "Failed"; + } + + private object GetGroupsByUser() + { + if (GetCurrentLoginSession() != null) + { + string clientdata = Request.Form["ClientData"]; + clientdata = HttpUtility.HtmlDecode(clientdata); + + var groups = UserManagement.GetGroupsByUser(clientdata); + return groups; + } + return "Failed"; + } + + private MaintenanceMachineInfo[] GetSelectedMachines() + { + var contactid = Request.Form["ClientData"]; + var machines = MachineManagement.GetContactMachinesByID(contactid); + + return machines.OrderBy(m => m.VIN).ToArray(); + } + + private object[] GetSelectedAssets() + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var companyId = HttpUtility.HtmlDecode(clientdata[0]); + if (string.IsNullOrEmpty(companyId)) + { + companyId = SystemParams.CompanyID; + } + var uid = HttpUtility.HtmlDecode(clientdata[1]); + + var machines = CreateClient(companyId).GetAssetsAssignedToUser(companyId, uid); + + return machines.OrderBy(m => m.VIN).Select(m => new + { + ID = m.Id, + Name = string.IsNullOrEmpty(m.Name2) ? m.Name : m.Name2, + m.VIN, + m.MakeName, + m.ModelName, + m.TypeName + }).ToArray(); + } + + private string AssignAssetsToUser() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var companyId = HttpUtility.HtmlDecode(clientdata[0]); + if (string.IsNullOrEmpty(companyId)) + { + companyId = SystemParams.CompanyID; + } + var uid = HttpUtility.HtmlDecode(clientdata[1]); + var machineids = HttpUtility.HtmlDecode(clientdata[2]); + + var ids = JsonConvert.DeserializeObject(machineids); + + CreateClient(companyId).AssignAssetsToUser(companyId, uid, ids); + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private string RemoveAssignedAssetsFromUser() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var companyId = HttpUtility.HtmlDecode(clientdata[0]); + if (string.IsNullOrEmpty(companyId)) + { + companyId = SystemParams.CompanyID; + } + var uid = HttpUtility.HtmlDecode(clientdata[1]); + var machineids = HttpUtility.HtmlDecode(clientdata[2]); + + var ids = JsonConvert.DeserializeObject(machineids); + + CreateClient(companyId).RemoveAssignedAssetsFromUser(companyId, uid, ids); + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private string SaveContactMachines() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var contactid = HttpUtility.HtmlDecode(clientdata[0]); + var machineids = HttpUtility.HtmlDecode(clientdata[1]); + + string[] ids = JsonConvert.DeserializeObject(machineids); + + UserManagement.SaveUserMachines(contactid, ids); + + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private object GetJobsiteList() + { + try + { + JobSiteViewItem[] items = null; + if (GetCurrentLoginSession() != null) + { + var s = Request.Form["ClientData"]; + s = HttpUtility.UrlDecode(s); + + var jss = CreateClient().GetJobSiteItems(SystemParams.CompanyID, "", false); + List list = new List(); + foreach (var js in jss) + { + JobSiteViewItem item = new JobSiteViewItem(); + item.ID = js.ID; + item.Name = js.Name; + + list.Add(item); + } + items = list.ToArray(); + } + else + { + items = new JobSiteViewItem[0]; + } + return items; + } + catch (Exception ex) + { + return ex.Message; + } + } + private object GetSelectedJobsites() + { + try + { + JobSiteViewItem[] items = null; + if (GetCurrentLoginSession() != null) + { + var contactid = Request.Form["ClientData"]; + contactid = HttpUtility.UrlDecode(contactid); + + items = JobSitesManagement.GetUserJobsites(contactid); + + } + else + { + items = new JobSiteViewItem[0]; + } + return items; + } + catch (Exception ex) + { + return ex.Message; + } + } + + private string SaveContactJobsites() + { + try + { + if (GetCurrentLoginSession() != null) + { + var clientdata = Request.Form["ClientData"].Split((char)170); + var contactid = HttpUtility.HtmlDecode(clientdata[0]); + var jobsiteids = HttpUtility.HtmlDecode(clientdata[1]); + + string[] ids = JsonConvert.DeserializeObject(jobsiteids); + + UserManagement.SaveUserJobsites(contactid, ids); + + return "OK"; + } + else + { + return "Failed"; + } + } + catch (Exception ex) + { + return ex.Message; + } + } + + private MaintenanceMachineInfo[] GetMachineList() + { + var session = GetCurrentLoginSession(); + var s = Request.Form["ClientData"]; + var p = JsonConvert.DeserializeObject(s); + + var machines = MaintenanceManagement.GetMaintenanceMachines(session.SessionID, int.Parse(p.Key), p.Value, session.User.UID) + .OrderBy(m => m.ShowName) + .ToArray(); + + return machines; + } + + private class UserMachineGroupInfoItem + { + public MachineGroup[] AllMachineGroups { get; set; } + public MachineGroup[] MachineGroups { get; set; } + } + private class UserMachineGroupSaveItem + { + public string UserIID { get; set; } + public string[] GroupIDs { get; set; } + } + + public class FeatureModuleItem + { + public Foresight.Fleet.Services.User.FeatureModule Module { get; set; } + public List Features { get; set; } = new List(); + } + } +} diff --git a/IronIntelContractorSiteLib/WorkspaceBasePage.cs b/IronIntelContractorSiteLib/WorkspaceBasePage.cs new file mode 100644 index 0000000..ca2c447 --- /dev/null +++ b/IronIntelContractorSiteLib/WorkspaceBasePage.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor.Site +{ + public class WorkspaceBasePage : ContractorBasePage + { + protected void ProcessRequest(string method) + { + Response.End(); + } + + public override string JQueryVersion + { + get { return "1.12.4"; } + } + } +} diff --git a/IronIntelSiteServiceHost/App.config b/IronIntelSiteServiceHost/App.config new file mode 100644 index 0000000..1333070 --- /dev/null +++ b/IronIntelSiteServiceHost/App.config @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/IronIntelSiteServiceHost/IronIntelService.cs b/IronIntelSiteServiceHost/IronIntelService.cs new file mode 100644 index 0000000..b0ab85f --- /dev/null +++ b/IronIntelSiteServiceHost/IronIntelService.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections.Generic; +using System.Reflection; +using System.Linq; +using System.Text; +using System.Configuration; +using System.ServiceProcess; +using System.Threading; +using FI.FIC.DataProviders.Alert; + +namespace IronIntel.Contractor +{ + public class IronIntelService : ServiceBase + { + private static bool IsTrue(string s) + { + return (string.Compare(s, "true", true) == 0 || string.Compare(s, "yes", true) == 0 || string.Compare(s, "1", true) == 0); + } + + private AlertManagerEx _Alert = null; + + protected override void OnStart(string[] args) + { + base.OnStart(args); + + SystemParams.CreateDbObjects(); + + if (IsTrue(ConfigurationManager.AppSettings["StartFICAlertService"])) + { + _Alert = new AlertManagerEx(); + _Alert.Start(); + Log.WriteMessage("FIC Alert Service Started."); + } + if (IsTrue(ConfigurationManager.AppSettings["StartFICChartSubscribeService"])) + { + FI.FIC.Email.ChartProvider.StartSend(); + Log.WriteMessage("FIC Chart Subscribe Service Started."); + } + } + + protected override void OnStop() + { + if(_Alert!=null) + { + _Alert.Stop(); + _Alert = null; + } + + FI.FIC.Email.ChartProvider.EndSend(); + base.OnStop(); + } + } +} diff --git a/IronIntelSiteServiceHost/IronIntelSiteServiceHost.csproj b/IronIntelSiteServiceHost/IronIntelSiteServiceHost.csproj new file mode 100644 index 0000000..3e26781 --- /dev/null +++ b/IronIntelSiteServiceHost/IronIntelSiteServiceHost.csproj @@ -0,0 +1,100 @@ + + + + + Debug + AnyCPU + {B5E29343-DF46-47DE-A8E8-69BCF58C0697} + WinExe + IronIntel.Contractor + IronIntelSiteServiceHost + v4.7.2 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + false + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + false + + + true + + + LHBIS.snk + + + + False + ..\Reflib\FIC\FICBLC.dll + + + ..\Reflib\FIC\FICEmailSubscribe.dll + + + ..\Reflib\FIC\FIChartLib.dll + + + False + ..\Reflib\FIC\FICIntf.dll + + + False + ..\Reflib\FIC\FICIntfAdv.dll + + + False + ..\Reflib\FIC\FICModels.dll + + + + + + + + + + + + + + + + Component + + + + + + + + + + + {515fb61f-f032-4a48-8f32-93b59b9d37f8} + IronIntelContractorBusiness + + + {9d398985-9424-4fc7-a637-6b5b204d8f7c} + IronIntelContractorSiteLib + + + + \ No newline at end of file diff --git a/IronIntelSiteServiceHost/LHBIS.snk b/IronIntelSiteServiceHost/LHBIS.snk new file mode 100644 index 0000000000000000000000000000000000000000..bb71a518ae18e6b1c7a4e4057c21ed4835d06325 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50096Q7aUpkzAcz{f1?NoVA^#YGG&FB;24!K zA}o<$oj}Pmr@nu)WLKLdhvJ&Zz!$`=k+xr`J+?c@()h@$k}R$hnW0rV^$C5Kum4$; z+XTM@92|Mej@SPaq73zx8+M~_zKRrSnG1f+bK!}MsPdeo+l~XUVGwiq@v#SySMFdkPZSmM)V=d*k?r+p$x3g}z^aMtH5 z))e(^i$yr10bjIN;av5@vTp{hMS-@N`&@K&y+J3R7)$h)5p6~*L0EWQmC7p{P`Eza z(qfoFG3H#W${6KjY!rS+)Z>DHWbci0L_zed;w@XjZlNG0ZfEDu z{ZfVGta?zX3SCX10hVT&Hk1jmM#r~{F7y9!6a`DZ4^m-b#zVUAF3i+uEom-IIuQSG zu@?e^D|w$%+}lvRY`|SDV7Tr=A=()Q2<1YHeNvvM(ZWqE-ojNJrSOhAUUG=qUXE2k zJW|#B&Kx((}^bv(1b`^)vK&u1vBGrEkJZB)R z`Y=PluLp4MAwrjFP#nGR7g}$Y5w^u;;;Kmbh!8LT^Q=q+od-+AB#5Km=RHg+Zhb*K io9yj01-4rzdKT^W^o@#D#4ZRMJwq_OGP_&tu^g1TCKPi3 literal 0 HcmV?d00001 diff --git a/IronIntelSiteServiceHost/Log.cs b/IronIntelSiteServiceHost/Log.cs new file mode 100644 index 0000000..9db2f52 --- /dev/null +++ b/IronIntelSiteServiceHost/Log.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.IO; + +namespace IronIntel.Contractor +{ + static class Log + { + public static void WriteMessage(string msg) + { + try + { + string dir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Log"); + if(!Directory.Exists(dir)) + { + Directory.CreateDirectory(dir); + } + string fn = Path.Combine(dir, "svclog.txt"); + using (FileStream fs = new FileStream(fn, FileMode.Append, FileAccess.Write)) + { + using (StreamWriter sw = new StreamWriter(fs, Encoding.UTF8)) + { + sw.Write(DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss.fff")); + sw.Write(": "); + sw.WriteLine(msg); + } + } + } + catch + { } + } + } +} diff --git a/IronIntelSiteServiceHost/Program.cs b/IronIntelSiteServiceHost/Program.cs new file mode 100644 index 0000000..3657b68 --- /dev/null +++ b/IronIntelSiteServiceHost/Program.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.ServiceProcess; +using System.Text; +using System.Threading.Tasks; + +namespace IronIntel.Contractor +{ + static class Program + { + /// + /// The main entry point for the application. + /// + static void Main() + { + IronIntel.Contractor.IronIntelHost.Init(); + ServiceBase[] ServicesToRun; + ServicesToRun = new ServiceBase[] + { + new IronIntelService() + }; + ServiceBase.Run(ServicesToRun); + } + } +} diff --git a/IronIntelSiteServiceHost/Properties/AssemblyInfo.cs b/IronIntelSiteServiceHost/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..969f95a --- /dev/null +++ b/IronIntelSiteServiceHost/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("IronIntelSiteServiceHost")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Foresight Intelligence")] +[assembly: AssemblyProduct("IronIntelSiteServiceHost")] +[assembly: AssemblyCopyright("Copyright © Foresight Intelligence 2019")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("b5e29343-df46-47de-a8e8-69bcf58c0697")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("3.0.0.0")] +[assembly: AssemblyFileVersion("3.20.420")] diff --git a/Reflib/DocumentFormat.OpenXml.dll b/Reflib/DocumentFormat.OpenXml.dll new file mode 100644 index 0000000000000000000000000000000000000000..325df179db67ec2f6f1cfa05c0484df2fb67ef6c GIT binary patch literal 5937168 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

T94rp3YyObK^H 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

    +Lj_oO9U&I+E2k824H(2wm08WDmI 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

    73c%8Ge6(9JEKHfaOz45%f*_~qT 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

    ~nr$Id4V0b`NbzV|wD%BgJG}Y}5#U_xYwp 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�w6wBO6!66*H)A^F~@N|rL;MU?J1>g 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

    >H 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­rQy`qrFR29(&gYlZ2N2HZm(}MG&gYlaw-BC5 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®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

    7Ww^PF07tUSwPwREI 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%0D4oGnCtL&wtYU2$1>+=2)p(Z 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

    _xI=N_XeXQbdi3`B|1{K(bPmou^t`GMsy5+ z79Gn|(Q*8FbUc3{#NqVxIB=mOr2F68~_BK|wNm=B^$*dex*kH(gd!6#w?C#Talg;@+_cJHyqn zv;17_9M{Lr^GmS{+z`9SFUKzVe|IC@fU(PZ6HP?y3b(|r^6Rl{+!4FZZ^mwLXY3}w z6}#p9E}E3sZSINP;df(q`MuaZ?u*^$)3FCm?x))-_K=5S9S*szVjcNxtP_vKI`c=d zE{EJxbRWgK@7Ul-{2 zY-0mhi49~mHi-4uU^Zey*o+NzvPHki5F4g{MspM!u76JVQEY_%1>Hxnk@}Z3S+P<2 zSM*cd*l7K0`Zw%iWAtz6&WerY<=8m>AvT^@ViSD&N1C$OMExgvfyXBCMr<Ne}`T@PYV{`RGdV9y` z=?*lT@%g$Vy}jcLbSHXy#~13(G_CPPx(mI%!WXVRNFeniir>5d=OvuUE^$M~W6an6sQ;Qz)0K3zaJU_7K3 z(u~I=dJ(;f<1xLMW;~wYC*mnCi)Xkzp5v$D1+IvfocuJ+d%Vog#j9KsuXAm@$uGp) zxh{Un$uH8+1mdUpmG~KMil61?_&I(pex6(67o7Y$-Hh>zd@6p4JK~qQCw_(BjbG*7 z_%-g2U*|LN8$1xd$wTp5{9*hy56AEDX#6gJ9KXk7@%uaxf54ORhYZ9!{LsHuM{mn` zN5{>mGTw!$cvq(5-JHzOq{qAK98Gt;2P^TOtj2q>7VquTI?Z^zk8aZU?s#9_ zP7@vP$6v(z^GtjI&&CJxSMfnS7a#28uj%`BdXg!fp_B*`LFmSC-2cz#wYV(d0ZTX(1FOUz-<#9Y28F^`WW=CgNV0Uu8+bg~cKm5D`s zSz<8cW;3x?znh;yMF~8w@6HIvJuHHgQWwX!;VjnM&MY zI&qiz#61=g_gPFlU?uU8)kKHG<}T6ku(_kTOLWprx=9nA`SU~#70q3ur~WnFp^0AlH}qaj^wz(nc}(=tzoQvU^ySq=KmIAvpVtxteEMga%EUnZ z7n;h%ApKXG%EVyaP7L8c5<~gV#4z4X4ClWRBb>ZP^OzXPN0Ou1Avv0lCdc@+Bi)k8 zvAPpYXmT8%n;g%s$q9U6aw2;sC-Fte$?TP!;{0PYkIAX}aeBulr|~7p>Fk%B!T!ma zd|7f92P9`Z`EvTMmz<+tLErU~bM-6fWt*JGVafS?ZE^vJCl~tkbu^X9Mf&x0KPDG* zbaDyblw8WUCYNzSayj3YT*0>|S8`Hv72lCu?axl8=}WHR6Unulo?OQ#lk0stgJv+f zf$vLhCb#h;$?aT}+~LoDl;$qEQ-6%+F1bs8oNmD6Zv6?m z0h4?5C+X)r$-P{a+{e!*_j7gffKNY1lbAfHKTr2y@{s-lO=9veHzben%gLksO7a*t zC6Du~$rDa)rr%gg2KbF+h})A9K9!95bO*hMlL@_({;i5+ir-0QxF?z8GsyxEBuo5$ zvdn|Ys`Edf2~F1Z4{1V^P5msrgp=+1M|4XjPw^+o(>$I$!xPD~JefSlK=QnkLAoWA z7nn$1WHNb)spMs!rfFJ}S6E11Wife;_2hLnk~i2)-efCz%lUTt{+PV2Ptmj{@95KX zOD6B?Gju;D@9|vnK7XBjz~3Yv@^fp1hsx#eXDw^G>pllmDa%P4?CQq8l^Wj}Mdm`ABL2JER8s z^ig`XrUtQdYA~OZ8p7wMhO%pF7@wCK?qoN*JyRoecY4RBM(Q3kzo}8WC(UnawC+Xs zX=;q_P4{VPtnNdv+0;1Qmu5LNUiYJKrl|?KKTULMq8>oEZEBJpNVjcjvK~aQ-_#U6 zm|nlBsd@VD(+fE@Q;(n-PtD?+QnNWGHHU9b&GqS6`c|8o z$G4{Db3$qX-C#Uq2EupZEB_d0L^=9 z6&Ivd^TVk%{77mo7p2zmqp9^yE~cOQrZ(s$^sP3vQ7@$zZ)%fXMnCmUZPv?a-cwun z+0<69PHp4oQrmsHhHl=}4!xG%y{Vmg9nE`c7r&g^&5fx&{Ca9Hx2E>-|E2bGTk3%G z-=KL<9n??Jciz+?ek*mDyHZEEJ9U)bNgd;!)Nv=jOYh;-3H?3#{+kNur|Di!g?K0x z;SW(qVycbe|h1N{%0=+s00 zE7jqMpRA@j@?okIA4zv+hjbTqPIu*V(%sl4-JM<2J@~wIPj*Z9I^zGY5Sr6;Z}v*} z;bZB(?49oC)5mEl)BV{mJ%BGw59G_zgE$~Pm@iKcadIHNc+*4q>hv%UO%La5(j$C2 zjPBF)NWMNjiX+pbIVL@ZZ%&Wp*z`C~NRQ{+(i1o_J(2H9PvX?{WWGB+h11eg{hd$H zeVU%8pQMRPPv?8nGdL?flk?KE_@VS{&QH(bN7Hk;I6aRaOV8($^a6jw$LX$2FXSiF zi?}?!n4e8A;p+5KelER?YtqY||2*B2=@t45^ldS{Qh$+Nu<2F$OEgF6)%weHW2V>e ztLe4eoLGgany@5N@8@W5ZiQh?Y=AQHxK9kD~NsdJm7K_wsmpAAg$O&lBkbPM)NjF?~=6>E}i1Lpn@1WBM>t=_5?1 zk1~@!=F=?ARQkBi(*&hYu$&ICk`A$!joc;41bl*@z?1B&!TB(VUeT!}n#z@&lQ1oSPZX4`wFt ze=`%gATx;{&P?`a7t*X{rto8#sa%qo#-*9*{6uC3mt|%;`AM3%%q;yWy0bE~`Ps}I zuFlNmn#??YJ~N+dGYg#j0?k)uA-|ki#EqH7+>}|uuV$8Vb7q;7U!$MWWR~l%)7)iN z@Tts7?#Qg-&dh3lE3<~XGHaduHqB#Zo&FBpP?`07ISSe@K&<*~TAdw)0qK2ajiV@~4?yJdxS$>a)&dzbyP_ndqweJjk~=PR-gI4Jv&!?GQYdKqRra(K2A zM`kzg*=~GuwmZjWdmQcX$Xn=5nC;04*r|*N=fqDkL9?nRXJKD*G^q$O)(TnIF%#PKIX*RRt^b&ecX21NDM)obV;%ueGMv(vdgJA)gtGx_E0EN;xscJeFqp3KhS*6dvVzwA72 z%g*=dH)uk$3-nVomDz>dm0iSdXBYE3*(KbQUCQrfmpQqY{z*!9x!yL1n%%$?*^N$~r28?uNe5{vvzr;uZeb$3m8tAD zrnB3b$?kA6OZQ`Tr_R$v(>+LJxVUuF;S zZ1ylOW{>c9*`vIaJ;rO<1g~cUypav@uh|H1W@G-gztPNQ6Z-Eov)PpX2i<_# z4DV-i{CBp%2icNO|3g2w$(7kLSLJ`@>iq9qlbv(zd`|9^lU?W@%$;WU+!?+gcb1Rm z&aqGKJYSrs@!%?}rd}Hn&N9XQ4`6im#+ynh)n%Ue#{T79v{bsozUCW3HEeAKi($-uz&$59j6jazU;i zKb-5&g}DJ-oEylGHKDHhLbyK26Hp@E}FR9Ebh(C=J#@Q_=DVB9?H$*4|DVRY;FOM-x#djeR{$lvES@p5i6|B&0lzvQ;^Ms6Gbn%mBQ=63LIZYTeh+r>xnyV)VXhmYp>^1t%? z*eSoC|D8YJf6mVIfB*S|x(ofBB!5VErT_cSA7+pI5xy{glrPF3W3T*iK9)b>WN(_0 zd_ec18OeuqUz(JBME9df$;Whmx~K99zA~TU;CzO!%IADKgzm3=fv?S%I6PnGh*d7r+W-jMkVoRYuD zcjYhf-TBL$mcPO$@>iXlPP3E0rf1OYmcOoN(k+(1!8!Sx{6PK|KbXJGdHFm1Q2wry z^XW#*-_r}|=E~pa;`{@CEdP)n&v!WHRhjR|Pvkot^D_{drhI3;oc>8fzKdQ#H(I`{ zUP<$n@1|GLjh64OSJRD_@1fVwn={{2uce90_tNWV;_|)qdU|u_`|zvzzTBMe$FJr4 z`*aK4bol{#D@|N}px#DPmLJ4#<_B|Ueh7Evhw|I`VceY`?&Npqrpu4e-=(?BkJR6z z7ioT!ewtpS`O*3rn#BAV{xCn5hx6ljBtM=%%1_|Y{6r^zOm|;?lKu((6OH_2hVoMw z&QE0|Kh396n#BBcrt&kG&d+2vKa08iZ07TGoGj3^=I81XeG|;jV?95gjr;<(@(bCX zU&No~7dv^1W;VZs=krVXoBT5VHou$~^DFqf{7NS;(S4U+#q0Ui{7Zff|C(RRoB4J8 zTYkNhx9Fc)AuTv=6~{A_%Oefj}*4~v;$3jVLSi3u!Efo zJK3eMi_b0WX4k?VC!a_2Uf9bQ7WT1cVLy8n4)C$ULG~^ja`JJy0Skxu(!vq;FC68d z!ZE(GaGZk+Cpe@K;HwKE4lP9d+1JpF7h?LgG|`0w-%v<#R3XFBg&f~hC~!=nDVGlhFxRk+X9g$Mjx;UU))I{d^>X6Q~Vbktv@*(`M8R|}oFxzL4Q zD|Geg7P|Wi-S~|{cWy8A;EqC1ezVYvI}5#?{1(k-p^yGH&1Rvm{tnG%p`ZRP&1Rv$ z{vOR{VSs*`X0tF*KSSRc3xo9c>5W<#tbaf=TNt8$NHbd)s-LCFEez8?qRA}`*FUDo zEsW4Vp|@*cr2Z+rT??c1NqV~$M(ZHWbzzJS(_9zE>L|Tw3*&U0?%cw7ouo-GOweh1 z*%l`1EX{jilFrjlQwx)Ik#6V06x~KI-ojK}p%-sqny%3vC`{K4diNG)=oW2*!c6@$ z`e&VmS^5{W4GOdQo5CDkD9q(=3-f$>k#<61zP?1?TMG;L$HGEhEiB^o!eXEPg=W97 zgm(%{`Om^K{;RN@_X;cce}$D!-lsQkVU>PBd!V>lcc8nzxQ1PdYx&&bI(99t_v!QK zJ85x)em=c{iyQR|=-w}GVz1(6K33eq$BSFpr?`zTE^c?SFMSU!?%<%}PQJ3Zi?1r~ z=8)nZzPh;A$)WTHF7DIA=&mpB*TdgL)+GhvFeUir&V>!+JDriQ*AG zhQ7}hkLt1XI|jvLdK~>6sd!wEr|nTZp(oILpcv2-X@?X;dJ^6H#R#VtV|=oh;QNay z&M9X2fntsyEEYJgSmK9@Wq)=)-SWk%UO=zqVqGt!@2$nAUPQNlv0X2wjZr+Mm(Uxa zcv>%|y-_@)m(d%bcvdf`H$d^6UO{hw;(5K2_DS)AUPV7yDqiFlikG;qc$r@;Uh(OA zdR-T<>J9X|E?(0cX{!{k^J~Q$+)}*Br;4|@qj;O&EZ*UFi+8!Vc#q#J-sisJ1AoKQ z^nNZrPtZT{EcVa= zy3>n2b%^ftVlN$`pE4DD>lnSai+yy0Zuw$gouXU5*iUEZt}pi2IlAkM19XAz`r<%c zqL+DbkS^1=-Qr+fr8huvh_2Jmql!cM^Wrd`E)M4}iX(h_hQ93{_=VDGC)d%Omd)b;&U16=0>4(e=;Ri<{Y#hlROvEzl&*O zNjHA!8oyJz&ON0Y+*`WI@0D(GU+K1!Pt)C9y2EEncX_0Ak4H=Q`Qy?99xFX`@+Wj7 zmpc5^RF*n2QtHH5sWaoHE=-iV{?uJecX6qkPSeDdy0cX3!M0LQmP@^STA|yv)LYl+ zrCsX7_EKN|tkjRcD)r~N(g6OtG?2e94dUg}VE&;rgnujz<<-(K{;4$F-*$~&-K7!w zI=!(=BYCSdihnPS=Kqz(@P275|6Ll#|CGk_VQB&%X`ATJcA)RnZIg6Ix>egIvrF3) zKDTWupVu~x-P)$}`E4_t>`pgn+f4Rqo5jc4X7lm3IqcImmoILc=VV{HN!#XgP}>5& zvTY$>+qQ_q+ZOY6ZAP#kx#a5;(OXQb7tEXzPD|wle6gO zy=~j{Y?`UI?RpN)RND?cmu}Lwoq8V4QQIyqZrja|we8{Zw!QpR+di&n+s{w89dLdn z-Fj^Y^(vaCwnKU~O;g)py@qD0?TB7WGu3ufucJG$?U-Iq^VN2o8{1CsD{TROwJpTW zZ4rL0E#~AF`WD=l&|7J~+EV;xTZTK^a{N|X!Kb_E`)^xG@1`khEAxA8Rqku6bAMZt z&$PAkK-(!NzfW)Jw$u6tGw$A!5bO*I{(SN0HvTa@U-{>Z4>&Abyb?2S79{hJ(Pd;et z#s9SR=EJr=&OcJ_qdS!Q>PP85D)-}mm;1AGc>ueY2l55wLF`c;%%0^Td{KEQdzFXz zvyaiOR35G$rztCs&@ZNYsytG^gzl;GDE(6UCR-k@Uq&}qd5nHJ-CX6d`V};l<#GCz zbeEOK>sQfTR-T|=P2YCQ6ZLCoPRo-xvOJk@C{N+2@>HL`k-qJgr|CD*RF_%EdJ_G-w>*#UF3;z*@&Z0lUg*>5G@<21dIrsDd9j{J z-+aqU`2O-z&M7bB-12gMu)Kov$}64x5dHQ}c@;leUd_ejHC$F+%TJcqad~+?SC=>N zbLEX(Q{Ke2<<0y;c?;K-xBA<@NdG*gyiI?J-kIg?{Car@x0ZKuTX`41QQpn%I0sgoga`G76Yvl+dJGwbNqGrJkOUe@Iv__e_Ou9i{;Bs z{*L}hO8JWZJ>7%ltNIW0jk0`A|B>dmd|m&E=C^!9|C#2ud{h60=C^!H|CQ#qd|UsG zzHgTA@NW4o|5d)nd*%B+{Xd%D@&i6BKjb5o4kz7@m5%IK>BRr4bUx{KWoe2lU36!< zH!EFr7rHkq-E>#FJuBUHH@ZD5J#=@P_exLQgXX%@i;q`&vrnZDUtH8Geb3|nXUtbx?k(E(SzJcDN zmC<~2Wemqw#&Tk19N%6U&qn%2rx{RG{om1+7( z`k7T_x_%Gcs+Ae~z4Vi-%1r$}n%~MS{eGI?%541sn&QeF{Xu%KR_1bHWgb6Lna@R) z1wQ>Ky;Lg;xwNu~pQtS6Co4<1yt0&^sw{JI1xm37=ySV+PtgXb zY}4PQ7i?ua_f&T9yOo{XTiNB)@6iUR?AA}yZ#7i*@L**xe^A-SA6EABaOD7>tsHdn z2yKAMA$^p-hgJ^rMCAxiR*o`QImS@sIK!0_PDW@0R02#@LQGd8%vNH|RT9isQcf0V zGgLCVM4O?K(`DKKl>$#yO8j}H%wJThJX5LjmzAcIXX(3PrJa{5r}+EIY5uu#hSw`+ z`IpK${+Ddy z!AGk%ecF+3;p#0ur+S-Rs(0A6dY8|u-eb4weJ7t!b6S1C$Ey$7r`jRl=B;+*ORAmN zui81_=A}ujcHyh4T{)!MjYF&5`I>4E4y*Qb^0jnhR(tVH)!rOa?ZdIvzI;oyAIDYu zJNZ8}gVh0iXLTT_R0nZtbuiyu9l~kVp-w(Q(^nm)pQP!l4%hFYDXWg)`>P{4r#gxY zs-yYg>KHDpj^)RzKy%5`sXjzx!hKr$8S{Ub9;4xPoJVmsV>ytq`R`Z zNPmm&%IaeMZJL_u67H=o<@c(~_;htS_g7c&nd(X>56}cvSLuT^LDkjz5Y16_jXq3s zR9&l&&`)uz>-f{^dY-6m;K}Mnp9W}-s+)9(=BT<^N9aDSZeg;zm8t4BW~$qnt?pp1 zy3@%#{Y<91i`D9G)~b70ukQ6}gYMSqKHZ{es_y6M>H+?udXVRn;cu%) zoxe!)RXwIJ(YMIzabBsO;2*02{;3+`wQ7WauEw0aPIFgH=o>U;)f8`6GyF$2$A4A} zyjv~tU)8dc_vo8uwW{yaOSoFs59r3MHThq)c6O?r;(ymp`?NDnT#pBHQ(5c5X|J(ew(AoS&?X;PTo?eyTRg`4#j{v*y2n`p8O} z+1ePrioR*q#_H8{C)UR4HFPJ|#_P2-(X|O&Uz^A;)h6-FwaMIAo5HWuraHNazG>E` z>CJRA)~4$%^eV2+&|B$yWo;&R)n@VAwb|TPo5QDTbGg4ZkI&TRJAZ&?wzfbYq&clE zBP_)RysNZMpLSn$X$`9ij=Xt<({E{nl3L7|m&IHB+@UOxM;j zTU*CmZ9Vg~4Ney5)~jvQCA#%$n{=6`xVBkW=_Op-!k^W)@>Fdbe_q?})6+D$wH^8l z-G;TD`YinvsJ2U=qZe{*w?0p=;@TemuC|w#YWw)7+J0WE9pIm92YJ1A$oap}U0FNK zztxWLR_!Qn*N*WYwd1@~JK^L%>E}YV0RLSJ@j)%Z4)quxttZ&Ao?_Q}hR>_#*sWe* z_j-vhsF&HJUiG)VkiN0j>-t6XjkVs?kI@v@+x6o##r0GA#Wc(H)A}Ve%k?w*r8LX+ zv-)N9)~%n@FQ*r8{k(n!&2s$$ht@ChHT6pzR=@1i*V07SuW)4jD&J7Q#y8flb9DU% z-&DWpv1&c^*eezy@Bg@IjMe+@2KDBJL?ZPrT&obs&@!=cw{Qg zd%dHcM)O|pq^Hw2)_P|>gMNZk@50&ju6%#J8$VF*&bjp-{9wJOlk@0CuJ_`?dT)ND z-iIHp_vPYxKYpy<-^nF(U)Kldr8MvLfm~4^#81};^E34!TvZ>+&(?=Ixtb=uK3uP% z>8_99`ua$IsXmHdu8-!%`WSwtKGw-iG~M-adNbYH_3_+RpTKX_C-SNKB<`qB<~Qq8 zoZLzCUZ1LW(M?^S#=Z6F{9b(qpRUj3{`xFFQ=jeR0h;>y9DR@`y*`&m>ht)c`h5Pl zzJSN-3;C1!A}5d29;h$YCurX5OBksyWwgGG@%nNm>MNM6uXHj+Q(s@DGc@D%)hyN5 zu&ut9mHIkX>+4yoZ*a0s-+${Hb(3bizKN&noB50S7XGrnm1pbQ_^bMMC(qGz*LUdi zG}rZ=yj0)C-`98Z5A{8~Qs2uz*7rGim8QPFUtgnFas2>q)(`S;^+Wu7{V;FWkMJM$ zqfXwT`?`Ki-=#^fALoPm3I3-Zp#R(?J2WDEv=MW%Bi+}HgziM&WE&}VZDjboMvl*K z6xh8{;tLvOCwtIuSv0D;C*9hOI{P%5d~u_lFKL`&zs704v~kAC{`9T3aaIqYTf1?N zgB$1hs>TJrx^a<18<+T+#$_jm(YM;h6+N70ym6JI8rS&7#&y1_af4$TH~HqqEhop) zj5luUaddY#?r>t`F5lj`$9FXDb8_PW-`RNR-Y8@;)((T5*t^mTF(&3L1qUQBQAMt?4A z4B#gl1No`OAg*W(=BFD&oLosW-WaM^(XHJW#{zt|Yb^^H;dQe(7}8)(KG zWAsM4sT*Utr7@0QZ;a>vYfRv_#zcOjG0Dm8G~|=}k2U7;Cyn|1X=4FTG#2t?W08{qn&rk~ z#u`f)Z!Bf9v5cw4a;6(AoXpTHH&(LLSjD!+YE~L+SZ%Cjt+CF@I^EZe^*q(sz@IlZ z@)wOwJk!|BUpBTld6r(``MDO-yM0cildo!lH(0*tpbXVFB z&6Ms&TcVlK-DyiSbGip@iDp6fq@Qm$OS%{Bie{NFZdTd1S!cgylP_(yvw!oHlP{z9 zeDgG4-8{pg&9fZVJjd5I&vSV5f|IYK7k=}iem%VhnwRt&Xje2Z>o?M?pm{~ViSGU8 zRgQ07<6E28IiY#Or*ETO(Y&eOPVa%{E&UGK56#=0+PuSeH}CR^<~>et-sh9e2TsnQ zd%yXR?{9X9c;PoY@&nCI5&z_fZvSRyJ&(SXH@on|&8}S7?8c8byK`x?2S3s5$z{!6 z&VQ0#`_10^Q}nI8*@vHL_T{Q(Kdx@}=jWOOxTZPK$o^149$_;-Wfsa~7k`*^D*k_#5JMr#I*7 zB<+Ew|BmA$Y5LyXoUgO=GwtRA7MlxMYA#~4xtOiy61F#&@>Fvff8Jcq)6EtB>@R2! zG*{|h(w*L1rGG^~({8TTzozfw%{BTrv{8 zG`X$)?A$uQ=d=#;xvfL&+B(eVwT?L1jb^rWRClL0eCrq=YaM6r)(Jk|3iz}S&1oy7 z`_j$cis*hct*w~uPcQaXg0E<$IH;B3;8u>WY85!7RdVvxG{vp5ehtlXtEyj1v)rod z*U>Dun)>y0zqi^srge&MZk^`X))}9^g}$w~&g%c6S#F)vZ>3wlb)J)27x<3WMZU9j ziBnpa`L5O#C#TZ=-nz>7w61Yx>pI`ty5ZAVbj!DH>e=*eZ{6YtTemr{b%!5m-Q}Xz zJ$|%xpNm@$oc|d8E@kVX{y5EVt3%Yy-s;HZtxjCg>da5Kx^QKyYt(<0g{HXGO@EeV zw$+_qX!YQ_R!^>P_2QRWy}6;)$H_0#>%G-ie}!hb)lYwwZuVAxZfgzTH(CR^y*0?E zPtohWHCTU>zMHp(aCd7cztbAVXIjH~pf!TuZ;j-U)+qj{HJV3TWBB9NSbxJYn%~wq zeVlId)_8q_Zu8az9iVUMt%*8BbKRQ6SZgxlttrg4rZV4}#zJd4i>(>Xm*`G!&D3SO z&0DirZ_Q?-HHW8LbNP$bJf3OI=Pz3eoIgwN@YX_}Z!O|)T8sJH))HQ9E#>c8%bdJK zcXw+!ueMh3Ppy^wb88i^w^s8ntu;>GpgC==mW>0O%E)<*ujwTTZ} zo7tg#3mZ*tvZ>pVPjBUD|iDTl+3PzkN5mx9?%k_Pu;j`#$z+-_Jhn2l(Rl zgY4UWi2d6S^JVQvIH3Kg{~2CRZ|wGC9Nd1KuWCQRSGNZ^v^~Vvv`3sAM&F~`V;tF@ z;2YXgd}DitquXQ%|I+Y;V_- zXe!%J>B%&k?Wgq=n$7kzdMe$p?Pv8gx@X(Z>FIROwx8ECXmZ;x=$SOR?HBbdn%wqF zdN$p{?U(f&x`o@X=(#k@?N{|YdbhV<)AQ-w-hN##pnJLfhF(bX-hNXrqIqw>r5DpT z^!D3&3Ekc8cl1(v!?)k%iuQZ_bo+gNru_j|wLj!%+dIU3L#O+?y`x@3uln{*dM(X< zduP3l-uCTX^m^I=?OpZ%XXyUpeY^|*kMB&vDOp;7yCcS_E{{8z%l1%dTk?;MV`|WYNooo81^Ypr|>zub$bhZz4 z(yQrj^FWJULw}nGTJ>5w^9MTXb#&$rbkXZ+9|B$V2HJ-}H@%Vmeh+llo9J)(Ko7l{ z{+18))LUpV0=@KBT8uz%y^Zer1AX*%Is*jy>K$|j2=voCXevF>I-!C2u#xfx(5kN*C9HA1ZL<6Em&Ztj?sbzX6XbyRS3-1DO$6@9G#&x3(VCy z+O)ttU7$@1%-1D4p9B`@3Y|{^3w4dQF0e>9XzK!t^+j5|z!H6lP9}k+yc$@>e+QQH z<-iJF53J;W0;^nkgYHBEtMyGfu>{uWTeN|JwfZ)lTLSC!9XhuJ*Xt%)#oz|rj_yQ) z8+Cg+&jdH=4z!cO&AORRHNh>qBb{o3TXiQ|&fqrPLU$s;?YfojM1nhXXWG)>PThsh zJi%SME1h|QyLC5O*We!Aoz6VLy}AdTd4l_NPuknye%*_HMl^Up_oh=&@SyHP3miP8 z`_cjj59@xk!@(oEKkabvs2)J~HNj(gApN9V@VFjC`y4!>2h%rw)9Xz9l(@F==>JhZk!E<^ft#t6b9z`o1yr4(ZN(Tda46Sr9q{q@q2P1kMt#mM^ z$J0s&6M6!zbTFkS(n<$2dJ?U4FsCQeN(T#i3axaoq^HvA1}mHutnqWf20tIX$T`7F zd^C93m2+utgIDxC+S}k&J)iECg4gr{I%@^5>xHz#!5exJ?Qrm>UQBBoyrq}W8V7Id zrL@MuJ9-(daj@wR)|l2f*iNsYH4e7dD`|~`9rP+%<6yI1O=}$NsMpXM2RrGtw8p^} zy^hv6*s9ml8V5V;4YbC=E_x%aaj>i2L~9)ErZ>|X2fOPnw8p_6dMmAQu&3TeYaHyQ zx6>L2d+Qyv#=$;%C#`X?uiiy#9PFoe)9MEMb6;=(e-#|aXM=-yAUK%64i0hULE78k zP<@Ebd%@`U353aEcDl-Ug@Y5bbSnnvT%k2B+&7?QL*|PSD;4 zXX+H~ZE%*((B1}T>m2QEaE>m}-UjFD676kpp03c|2IuP0I;8NZQF5`cL%UyYsb~U&{-=bX&uGF__SA(nc9op5h`p&p>?_g?P_SfZl+xgZO|QQS3?_hC)(A}Cf!228rrN|X;(vAbZ6St&{o}rb~Ut3 zcconoZP(psS3^5=ciPp^PThlcHMC3jq+Jc|*1c#~Lwj^@+SSlr-G_EHv`_b?T@CHm z{b*N12Xueh)zCpbfOa)>NDri44f*uey9Uv&hK}gLw3DHu91%Lk4~35N{?G}I3Z3MK zL#JFhniev2T92WH44u(qX(2;r^*CC{&^bMx7BX~RPoRYiUCA??MCk`_Moh4GrRRp~0>^ zMhh7lqL0%;hKA}Bw2+};`XrrKL&NncIA z^R%C#vHAk-XK0)b(0+!->k#c{Xo8N=eugIM80}|hl1|Wmh9>J2?Pq9;&d`2_rs^E+ zXK0!((0+!d>k{o}XojxPeuif18trFjmTu5~hGy%FbY2b3(U<5BJv3KerYCHndHM>S zV?*=xRodIo0)35EG_;VnLyP#o&|=;dUc#pEQr;b2=E`=opW)@YJ?&?Bh3-K68D6QI zX+OiObVu6H@M_(O_A|Ujx6n?8*Ro4^9p4yU&o_lPuv>T|-yGiL%I>s~;mx`SEo69$ z?nw(7-l}`iLWZ~L-n5Y6?Ya*wWO#?}OA8s^sr%7FhIi@yw2dk>iyA(xN6?~%kLZ!KtKp-16zyvG zm>x~L8a}Sa(5{A0=&`h`;gfnC?P~ax9#6X(KCLIvu7=O(iL|TXvw9NkYWSRIKW53A$}$t;mmN1pA9EmIg6GvoYJ#tIl~z}hn6#(({pJ#!v#H$mNQ(^ z^JzK56}^C#GhEXPX*t6Uy@-}Gd{Hl^LV!-Mp3+S~A8eS-EjJVc+Qy$ui5r)Y1(!}Mv|+wgFGhW0i*LZ79* z4Ug34Xm7)#^m*Fb@MwL3_BK352WW4@V|9pjH9U@q@OUP}6PON9WF|a`+3;jn=4esF zQ*?nAH9S?9Xi>w{bcGf*JYCmlQNuHIgBCSBQ(vS-4bRe-Xi>wn^<`Sr@Em=G7BxIq zU!_G2&(qiF1RI{OuhTg;yg=Web8L8_zDeiU@FIPS7C5|E-=+l)FVS~sha*dM6YX$h znQlir99gd0(+)>g=nk~Qk(Iicb~v(1ccdMTtk#`qha+or3!P&lYjrD~VXGijwG z2|bHeI+D_}X{93>J%`pflH>eHfnSW2_@zjN3nMjtInr?DBHH1|MZK7IIC4oZp&gD~ z)=O!JBUkh?+TqAmy_|M9a!s$G9gbYrD`|%#H}opn;mA$BnszvHORu3Fj@;I3>3kcx zqu0^-Hqvy$`Ih!M(oS!neU7x(8)>B@9rPwz=}5EQOe-DfsJGBcM>^@Pw9=6ly^U5n z(yF)9N=G{D9kkMsE_x@ebfl}^MJpZYrgzgyN4o1hw9=6tdM~YXq^I6TD;?>j_tQ#8 zdg}wU(vd#;Agy$yuRcU89qFeJ(@IDB>m#(%kpcQBt#o9dK1M4Y8KjTXN=F9k6STUK zAv_xy$`>QU_)=sz&qqe^uaS|iyg+*!8KncXw~^60MCaSc7#*SWZDg#D(GEw(=>+X? zWV}w%8b>DR46SiwqR!D8M<(e4t#M?sF3}oCrsxW-ab&8l(Hcjl=?1NFWV*gcYaE%O zFVPxDX6nnd#*tb23axQuw!TVh9GRo9(HckQ>g%+|k$L(Ct#M?&zDa8wS)gyx8b=oD z+qA}!Mfwh{adfe6qBV{#(d}rBqf2#rTI1+4-GSCPx?DHY8b?>?j_@8`-KP7~>PENg0kpc&9eN? zhtujt_v;a~y3qrAB&}}rpdLl58$F~))9OYK>oK&t(Ia{+t#0(F9!IMiJ*LOg>PC<2 z3ADP=6M7=8ZuF#{M5`M;r6<$sMo;T0w7StVdMd4M^sJsns~bJ1r_<_2&+8eqy3q@I zCarEXpl8wQMnifwt!^};=g`?W8q;&>Y#dGKd9=pSl%7v(9L?wjw8_z&UPzl9E$BtG z$l$srjds%q zXdbU8BAAFt%1gAa(aHKU zt!s3OzC!C7ovN?Wx<;qzYqYM>>H0dYYjlRbLF*cwsc+J{MrY|;w64+F`Zld=bdJ75 z>l&M@n`m8Q^K?5}*VugBp4K(CKzE>ZjV;v8w63v5x+AS?Y_aY{>l$04TWDQlOLZ%) zYiybBOzRq3uDj5>##ZRAw63w0x*MH!W2mKw(BDO~Nq$d)wwYnFracrIL zO=}!mulvv@$2RD`w8^oJx*u(FY?JO!+Z)@=L9s1-Pi!mS8{5VqvF&_cY=S46Hv0ZvNt!`|$9zm-c+oMO)>c;l!QM9_TeR?#lZfw6EL#rD*pvThc#t!Onw7RiF zdOWRe?696ds~bC_C(`Q1j_OIYy0K$=GOcdxxSm3*8#|$=((1-e>S?s1u~VEKJI&9> z&hXLLS?|$tikWaF1m6(En)1E-ax0**k!$uPN%Ue zdJ~;aV^{TNI-SO@=`FOJvFmy(Eobb8-bVWwyQ#O+9>#8QPwX~-5xc`*#+pugGZkyc zU&Y#=w1l*Tu@3qGEn%!#AEYIWb<~Gw31gk~VOqjii#|e27;Du>X$fPU^)Xt)SQmYq zmN3>;pP(g-b<-zl31i*$DO$o<4}F@JFxFF_p(Tv<(r0N2W4-k`TEbW#eV&#u)>mJk z#f$Z0B-WqN*Z{_31DS{oVlp<^l_}b~*btqe^Ji?R&e8cZHcS`j{23drOLYE>jnEa^ z#@I+*qiu|h(hXY3*l2x`7BV(QU!sMKjn$WFA!Fn86A#%Jjcw1M&2x|udGK1X+? z4UEs#ooEB&^K=VsV0^xAr45WP(4A=m;|p~c+Q9fC-IX>lzF2po4U8|*-Dv~kOLY(0 z!1yxVlQu2Boc-b}_>TBWzB9gx1LCXsuJ{^P4y2WfuhoNS<>Kq~VA{I)dOd`;F1|qz zrLBu^)Wc}&;+ynv+Pe5=J%Y9_zD19ut&4BfqiE~m+w^GKy7+cIhPE!gLyx7ci|^Fq zXzSv;^my93_-;Lcwl2O$Po%Aj@70rN)8hL$HNKypjvwH|@q?TmKg37khg~^?&XDmV zdM2GA<45%@TEF-)J)71qeq7I?4UC`Ab7=$PC-pqq!1yUWpEfXlS}&jtjGxg9X#?YD z^&;B9_&L3pHZXo(FQE;LU(icw1LFa`j5aVH(#z=#8IR}{bcT$_^h!EI#uIuKogw2X zy_z;Np3!S)GvhhEmKHKz;D&gKPsS^JDqiEJc!N*JFS>FwZDahB-a^|LzpS^?HpZ{$ zZM2Q?t9m<~E#uep4mw-Luj`$3wv6A8tPj(o#yjdGw5ah;`Y0`GyhR_Q<&3xTWV|!~ z9Ph&C<6U_=-i?2WcX#C(+RS(leU>&e-cz5W&5ZZb=V>$Jz4Zk;J;wX!0G%G=eRYVo zG~Q1~XiMY$b&M7@?%y1^D?y7IAE;BbsPREMLyH<8taG%e@gcfEiy9xQOSGu*VY)(# z8XvA}w4Ct~yc8eFf5b=epYhSW5+B2V#mBnxDs5(boW4ez86U5&)2T8(LEoTLWqhK( zNn0A9q;Jud#wY9Bw5ahZ`VK8>VybSUMNLf8?PyUG({+1V)Wi(kffh9}Q#aG1CT8i5 zw5W;Mx)UvGVvcU1MNQ1rt+c3#dAc(#YGS_bLW`PMpu5tdCKl>$w5W+ix;rguVzKT) zr^Lh(_DwA1eTij!M`AhqCsy#CiIuJ#K#Q7Kr3ccYCRXb~w5W+SdN3_&VyzxRi<(%c zhti@Z*6U%ksEG}FI4x>oqaHzvn%JaA(xN6d>ru3*i7k3GEox$`9z%m{_Di8FdBEob7aUPjBAIH#A>awg8}6||g*3wk9jXCk0i(Q+n2dNnO%BEk)c7@tfe z_*5drO^FPjPUKvJ@1})JT+w@IArn{iURub+HNB4(GI3q+r-e-1&_M zEo7pv&e1|9`so5KWTL+=(b+OFfQ`gJwj~Df?}@>@lo-N)B!;^3GA(3cn7%>_nHa9G z(n2Oi=xel)iIMs`Eo8#KBXQRaTD;_FHYLaK?&Mg$A~}xjljHfyylG-D{WVD8oMW_^DW64d~0$hdnRY`p5$y-_M&^?yiug0NT3bB0Z3{F1c6_qOD6V(SvF0l1udv z+PdU2J(M;rxtt@CEBK-0O5UGb#Zk%C{BUxOD@W6sCD-aPv}Vb5dMvG3a=ji$YnI%g z$J3f6H|hzrX30%@BApMDoAo5R7fx=`lj&YKxm8c0b7OLwo=WSN+^(n5`XzVh>9m2# zoq7gsU~-q9NgJ5lt!L2&Cim#sw1LUJdJb(`avv8a_w&oi1N=(zAQvYO@vF(hu3SQE zmOP@D(wZfY>SeTM$zyssty%K8UO{V?JfT<8nk7%_RkUWwQ+hR>1Cyuq8af9i&*-&u z2c0~t*U=qx@|<2z>z6#QH_-YeFX)Z5fysd0L>rh4>CLo($%x)Uo0g1mXEMQ`CR6-b zGQ-`;9DklHxN;AzS+b<}(wZeJdLOM*vc|*727i~l$loU~@o4fgpG#hGZf2H5TOWx6cqu;_yHa+iC$7yqt?HEh8 zXFS<~$z(HA$&O4XJGnALYm;ozIa-@!t1i&mBs=R8oyU@0bcN1i$*#Iao0IIuOUds1 zN3sY1ne53c$zJ?dvbQU*(%K~Z=xek#$-eqJtxd9@zCq`)WPg2=&SS{|`WBtXk^}W^ zI*%m>={vMeslmF5)+seax1)_p4b|;wqf*0k2imCAaNSHBl^UTt(nh65>Q1y#sZqLx zHYzn*x6*kmHAZ))^H^%E?n39W)HvOh&SRuOZ zlXWjzw$v2eo0cs#RrjG~OHI>#X~9y{IUqHI?@G<&yHm3`C^eh!NzHNPVA`(KTs?%g zD>Y9KrE^+pz8*&BwA2DUoHi}BP>-NZOD)nPdG}rSrxxo`v}~y*dNeItYN;MW%a&TE z$I`N;mg{k}Y^fD`JS|&lrJg{`mRhAJ(z2yi>q)e1sWo~sEn8}>o(-hpE%tnmWU0QfFPijZSN+ zbKH?S&!40&@TaK&ccnu7St{bn-L!0}nBGInmP+Wov}~!A-bd%OR7UTob6P5=570R+ zRnQ0NoR%u-L$rjciatzBn5yX`w1=sNK1zF-x~PxQ9;Pno<8)3-UDhXP8&g;GNxH*L zUDc=PJ~wqupQiI$>bgEd`Grgr>A|`K?Pq$3Zl?WA57ixMKhwi>C)&^SaNR=t znI55AX+P5=b!Xbo^eEkh_A@6!XN^n166OR3-u@HvkTIT^n>)<(CNkcA^L6T^b-9^ z`plE`QvE6V3CZ*_em1?Fv(hU#JH3*hPp{&f^lDc=O7AbyYxHCE+tBH?`U`XhORwWs z)9bk;y@5;98~OG0CN4{FcID&r8_?-3`Wy5c(CMxE3Hm+g^fvuXdP9-k&hMmmaBX@g zpG@!K#`JDJmEOZm>AkLhnm(@}y-)vu_9wlc&!i7BHQeKEnO!qkJ}f zj0e)kc`$u~ze%6uq4X(#+HdJM3e%_g$MhMVNT21Y^f^ACKF`zX3p|?+@Wph9=h6}X z?Mrk5P<4=)ci@Svti?I>Tr>$9THHM7qRey5hK>DIC z&;q0{=@KnK`m(Oj0;I3#8ZAKjs&3E%q_63Vv;gVr`VuWb`i8zt3y{94uh0UdZ|SSF z0O{NM8ZAKjj=oL{kZ$^m1)v2;x6?Oi0n+XDEn0wd2Ys6sAl@s*ht zzADqo=1gb4I@86K9qD^K(^Yq(@9|7G-9q2vneMukzQ;2?bZ7b=&-Bz?=zBcVOLwL3 z@l0>sjm}7!KDs-dkurUC5BlEE^wT}*dq2}(_o6dWW`OQZXQa$P-G|OdnL)ZQ?L%g; z?nifjnIXDAot-j6^#EFo%rFkk4CnhZBlv;LNDj}8;s-OMT{(izLYXmoB=5fK{>)fC ziq1lrae6eJg)-yy7&;4OCg`zrw#iK7q|78fl$p$FnJIiYGnLab)A&ecy6b1qxg|40 z&!n?TW+rE6X7Tfx*_@x5!!Ks$azSPumu2Sj@yr4)&n)DM%pyLKS2K3_dSTb7`q#7`nO*ufv>ut=`nPodmD!_zN1xW4*{gp~cVU@*`Z@Zvgv@^Z z2U?rV0sTi>o6JG|Cwi`)Ii&wg`;$4WpQruF9MONFr$(8h`UP5~%rX5UEmG#Veu)+- zb3*@>7AbR5|Bde2GN*KqK0zgOT8C+oGG~~~oMkF=j+xAPW-}L<%LH7Rr%zqTgmjTU z4=oeXW%>k_OiWklr!_JOU8ko;nUrp$pV`P{^xx?|E|b&$pilqK6!bsoZZ1>O|DxYq z&Q$cj={M{$HT^RE#z&^X|79-nPUaGuvX^;x_6pl&ue$OTv^Lpm`jzyF4cY7ZRkS(T z8~WAs`6}6)`Ze?!4%u7!we%Sd+1vVc^a+aDJNotXsSequGd@9)eiJ0yPQQ^peI?so zzlnYyB-=s1nVvOeoAq1hvy!qM^;_w@k?o}Kp-+Cuw&=If&%$L}_1o$5ShAhuqY zcG36InIzj)zk{BxXS?Zl(kUg|o$t%`;LvPO4$Jo92eQ36Jln^WAEZ-Cwy*vWol>&> z^!;>7$@bSDrc+9Gfc^-bQnCZ}N9mN39i$(iQ%ZKQ{urH7vP1O8>6DTksy{)elc?rXveWc8XtlD_^%JyO*%|tqv|8Dj`dhSG*;)GAv|8EO`a85* z**W^Vv|8D@`g^om*?Ic=v|8Eu`bk=?>;nB1tyXrSewtP*yGZ|lRx7($|B%iz*(LfJ zI?rU6>L1b1p=FopAJe^6cDeoutz346{wb|ocBTFqZC!Si{yE)4Wmj{5b`77+uH}L3 zI$!-Ytyy-x{tewRWjF9hb|ZhE-Nfgzn|Um|g@4Fyb>(q7BW1Vg6LhbX-L6m4y;63E zK1HXd>`r}}?v=8;^clKW%I?-@=^T~aqtDU3Qg*LCPxngMefk33D`ofV06p=}9?&5= zS!ECE2%W65hjfh2SJ}flL2H&hqEmFf${y7j+O+I3oul(r_P8$4`6_!tm*{+zJ*g{n zj>?|m#q4SRJ$r`#&YtD9>^Z)iJ!v?O3zO@vKTZpi>!CkE3zO@qAEbrJ_0kW~!sL4EPttu*u8;l{EljR2Kbz~v zS-Jk4og2W<=LT|4ZjdV*TrdbXUKtk=^MnA{Y-f$ofQQ}sr= zGs;cVo9NkcZo1w~&z5sD^cH$blbflx(p^$+mflA1*K)J)mvM$}P})Xj^g%xj(mv&*m2Mcey1zl3U8(=a%tLx#c{WTfsl)R`U7W zDxS`*=3jDa{Ap)s8FFj&Sz3nNI(?3oA-7(ir)9`(&=+VKavODkmLa!EhiDmcn{|Yi zA-6@xXc=-_b%K^5w@s&L8FJfohL$0>L+5B2ayxZ_mLa!GmuMMsyLE-`ymEVVjqbd1 zdv${rBezdqq{YbX*O%zdD|bL&raQ0PL4AepymE*1Roa%^VSSCZC3i$$r-jKK)i>z; zlRL)$<&N`C?ga13pY+uxI`iaD@s;`0?2tdh=KNW{I)9EG^XFap8rqip1^rrDn0!FL zjus{#(yyn5$w%}X=(LlM={M48C!f%7qSH=3rQb}aoqR^Wg%&BF({H6k$`|xKblS<6 z^xNpPldtHv(`hGP)A!PLakA=!a;d@~!%l^vpTmnbY!J_;9`}AIW#) zjC^-~Cf~!AGikf>J@qWQgUk2QvuVNdz4aV=+MMsB=h8VU-&fD0r_K3(dOqFd<@@Ue zv~u|YdLcc9&JWa!=){#Dq!-h3p8Q}g%Man>`Jwzqei&Eehx3X22v@G8r_K41dKIl- zew1EK>z5y`*U+Zr$8ckQET77c{A@m(pTh(Bx%_p0o+}U1^P>EG zeTbej=NIV1w0QZ2`Uovvevv*(XQ%vPeT>dd`6c=|ot^Sa^$FU>{4#x#wlTk4pQ44# zuh6GyA@eKs8CuBvDt(p~GQV1%qlL_`(dTI)^K115TFCr59iWBGuh$`3$ovK!p(V_3 zWGcUj>HKD9^IMq9Z)HBe&6Ne(!2EVyq7BUN&=uOi{7zk?4b1P-4cfr`Zhet9FuzA% zq7BUN)t6}l^ZWD_+Q9sNeU&yae?VWO4a^_Z*J%Uuhx83PW#td+oAmT4e?;G+r%(B# z`Zg_O{+PZ)3t2d>o9GNyIHB9o8LV(px2Mf4oYEcW*;L`QZl>idoY5WWR8}~vJJGYL z!a3bSXS2e2-Ad1<3Kw)|dNx%E=q~hZsu0p$>Dg2vqPx+vsX|P5r)N`zgziCSxk5_! zq-RrwjP6CxrV2UTo1RS-3c3$Hn<|uaUpn;_D!Ly%n<~_Fe>(dW8hQY|*DGAq1L^Hv z;gTLiZ}$q9^Q%I>g<*O%?P_7TUPEWg!U(;V&X$FddL5lD3#0UUI$IV->kYKS zg)w>~?QmhN-b8C$7^gSW8W+avEwsjk33@B7abcp~Mr&M{q_@)=7bfc+w8n)gdMB-M zVXEFmYh0M7chlLjFkSDVcY=i(dM~YXVW!?kD_xkS_tRDvX6pmA)rC3wAZ>MFu0BLt zU6`j2(^ePe>m#()g$4R3ZFOOxK1N$zSfr2BRu>lQ6SUQZCHf?7bz!MKMO$51rccvW z7nbWYwAF|k>&>9!k>lCeVVS~=lCKop99Bp!8 zlP=IE7dGn>ZE|6YuFxhIw(1&fa$%cp&?XnQ>x;C>g&q15ZE|6!zD%23*rl(~CKq<= ztF+05J^C7La$&E&PMciVr*F_E7xwF$w8@17`W9_+;h?@vn_M`g@6aX}59=n{p@r3S3n_N7pJJBW=Pw5ugiJL_Vr{yg1T7dz`m>G@uZ~ZlT9$4(7 zzfR}XVqg6@-Juuz>2J`fwb)-jLC*t=1N1lPd0=s%{ubS{7YFHY)APXMVErAsb1x3j z-=*h)#i9Cp^gOUQOn;xA2Ns9xC+U=19HF10=YhqM`e{1r7DwqH(DT6JX#GQa9#|Zs zpP}c0#j*NF^gOUQPXCym2NuWcpV0Hb;spIudLCGusDDP!1B;XN&*|MqakBmez56Im z(Z8fKaB-^s72VMnr|Dm3F48a3Ta4mj{Sv*!C@#@|rMDQxrTTC57NfXK z2WeM}%XOIEv=&$BD6MO8rH<3vjp8buq_b{uwNBGJj^Y}fr4w&)tLIv z^}p$fVsVFlnLeYnxKsa!o+}o2>HpHde_GtF{~!G}R&kI1KYAum+^hdb&jgD5^j)QW zx~a5Z-%W2uN(b~S=qW+zpnfGiB`6)zucBuKrNjEw^sJzCM8Aff6_k$Z*V40s(lPxy zdR9<6u3t~j3Q8yR8|Ya<>7;%mJu4`k(r=bKIfg3>vC z53OLQz1@yi2te_Oq_tCS0QbfOl?)^(KzPFU%kWz|6OBueul;f~c z!IdAN?Jbq`2kEZARM8)zyZ%y5-%o2?YUmHs8ka8WkI*KUF6ocbCYLVj2WXQ^SMYzVIn_OzvpQlYOb<~g2CYL(t$7qvFE&2*M-BUw?--ximn3mo~XHP=Aj$ximEcnl`yKO#gs3xinn=kT$tALO(;BTpFo=M4Mb1rGHGDTpF!^LYrI~qkl@9 zTpFu?Mw?t3r+-eHTpF)`L7QBfpnpl5T$-qVMVnljq@SftE=|_IrZ+gHDf&0G$)&0M zLune1m!|VXX$JpPn#q%;S+4vuZE|V0ex5eDG)Mo1Hn}uczd)N@nx|i+O)kyXFVQBK z7U;jyCYKiKztJX_7U>{ua%r&+(zT;8u=O`BXkpkG6qTt28@OPgFiq+dsyTt2K{ zPn%pmqTfK9Tt2GbNSjHFw;Z23IjQ@+5#Tu$f@&?c8t`h&E| z<&6FiZE`uM@25>J7xaf|lglOj5!&Q(MSqkwxm?o^&?c7~`eU@o<%{~`w8`a5`V+Lt z<;(g(+T`*T{Sa+(`KtaTZF2dV{uFI;`MUlzZF2dBewa47d{aL{n_Rx7KSP^bzO6q? zn_Rx5KS!HfZaQz1X_L$C^rN)N<@Wk9+T?Nv{RP_Oao9iY1-uSApHZ{ z5d92oa(Sr!5p8mLnEo+sYrgkM{|F9j4Pj|buEw8 zzovC9kJG=QpY|#H*CX%xE&a4ld4m2Oz3nPb)W4?_a(R+|j@Gz5S^t67xI9Jwkv6$J zRsV@Lxjaq(nKrpRT|ZBoT%Mu-LYrKksb8Q?F3-|0(k7Q@>z8Pg%X9Q!X_L!y_1|cd z%ky-QHn}`shiQ|`3v`q=xx7%vX_L!~bdol?yjZ7clgmqVmNvP(ROe}v%gc0;Ho3f9 zmuZvBD|D4Mxx7->X_L#VbQ^7QdA0sKZE|^y{s(Pxd9D5@ZE|^?{uga>dA|CctoyjlN0+T`*U{eQH{<*oXEw8`ad`mV}0-Bj7G@1{+z?9i{E zO|IuJ^*iY8Sml&{C%ql3oYwE6 zw_}wv`rWj~m9zRiw8oWl`n|NtmGk<2w8@nV`u()Ym4N;LZE_`~KS-NgiRcf}CRbwm ze%j?lDZE~fcKSrBeDd~^XCRZx@6ST>dntqTrxzf-N z(I!_e>QB-pS1##K(I!_e>rc}rSFY%XX_G5g^&_;&m23Jlw8@q0`m?mjl^gnVw8@p5 z`t!8Om0S8z+T_Y@{TOX><&ORWZE~gQuQr)BxzbL5i8i^?UVoW3xza&@g*Lg;tiMW| zTQe5%run<~Ayxzd|IsPy5MN?%w0kk+-*Pd`KJTIsKUMC)1^pnps!-pWAz6FTu$ z2I-&DiMKLX|BOz&l_C1)w8oX8`WLjum0|jqw8@p>`d75cl@a<`+T_Ye{cGCf$|(IC z+T_Y;{af1P${77S+T_Yu{d?Nv$~gTTZF0rG4tm!gXp<`w^dD)HD--pfXp<|G^q*;y zE0gu}w8@nz`Y*J}m8tp#+T_YK{UU90Wx9TeHn}oG|CKhmGE@JJHn}oO2WgWlvvrs@ zxiUvbX_G5+b(}W2GEXOIlPmLenl`zzKxb)_D+_g=Ho3A$7ip6#i*=bcxw1r8X_G5U zb)7c3vP`$pCRdj0ztbjHR_K4wCRbMKf6^vbR_TAyCRbMLf72#c*65dMlPhcWe`u2{ z>-2wVlPl}>|D%nqZs04b8`-|Pi5;q&`Ksy`HdnX0^3}Ai)ouDUw64|d`n9yK)gAhE zw64{i`t@|;t?trqpc8L(w|*m?c&mH#o9M(_-K*bB+gshod#d}{t9pRFs|We^>LK>2 z9(Luuw64`7d}sA22UL%7Q1v+9Q$4}K)sq}rJ;nD|PjguH3`bPY@_rxTt!Y zU#Z^lr!A(pSJkEqHmcf=k5}9C8`Tb6QElcE)s7dux1#q})lPa9y|=2i=+*Szs@kg8 z(0i+DXT6r*TUER0b@bk<+EuTo_g2+zdIP<;s&>~KY0auV^d?%ZYEM2>?Zs`?-uzLu zkFRd0H&fNVdI!Cks`k@6>CIHNzurY}rm6$PQ}~j^cCG(L7ciTI2&H&E3%Izw-us&jRY-au97=>olhs?OIXdIMEmpeytSs=83u=nYhLk#5i% zsOn;Uk={U6m*`9Mrm4D=SF6kT@9J{CTwTHI)s_5Db(Je`&^xB;YJHR5B~{n(PIWEs zs;%SQwe@UQ+rU@UHoCGsy+x{R(j91FYMXU4y+x{R(H-e6Qf;g5L~oI5+jI-PMXGJr zt@IYDwnKNOw@9^}x(mHUs_oKU=|orC&9~O}uxD*A@2Tzc)n2qGwf(%ec7T0r2idQ7 zi0`N!X8+m|SH6=Lrgl`ni_UMgWBT2+Ikn^ZJ+wKs6Z*Y$eyg3-@1t{C?G!&)JIxWb zGaOkv%lm8RII4Eul^>=ps$I|@p)INf^harnY9ajqZBZ?vKSn3CT1Rvt2Oi6wT@g< z>%_IS7Jj$Z%5}BQuKXU|7uUMz@6&y8t*d^L&TO@A`YAfI)w=7a>Eu@Hp?^Rpw^~pA zL)ySvFZ~Q{V6C_Q5uMy>ee{p%T0i|$I=R*Q>z~odtu{daoK9%9f&5i% z5ck&x^FVC~e_b2OgSBC<{0*JWYQyz!Y4>U)^zUf*Y9saUY5i)W^mDX+wbA+ybT+Gv z(SM|~S#7NT6P?X!~G@S8b+_)9I@=ODE~{RhzBTbo#2z(OEiu)#mCv?OtsjYqj~T*A}o* zTj;B8biS%B(toG(Rc*2U2d!Ui39r_c^53;(e7Uxq*J~^IpV~@S-k>+>wN<=bTh0H~ z*6{B7TDGgN<16ax`KtN`HrF@u)%8t$ZGAIa>Rb4_`c}T7zKvb#+xf=&4!*g*lilmP z_?G%^|BF3n$Lf1@Puj8iUfqk{kJtC<-gHu`@7H~3+3E*$UwTVkKdAfBzSR%u{&a$> zAJzltEqVQj9!PJ=>qqqA~~{r+!=yp=XBm6M86}vg#-GFnWhxKc$D$?$uB0 z5p?dVpV1>}{px4+D0-`2Kc`32NvwWekD+(#^$U6|{R~n)pvTeAAk{;9JpBw(J)$Sj z*{mMZ6X|SLPv}Xsb@dcKRnKs0J;!PF0w1oIIK5tRs?*>1KN;!H~ysFojdD2 zxU1fiKdblR?s{)m{+#an>V5PtXg%tE`E0!(57hhfV0{38Qy<7f^+B%uEv-j=u>Kvb zM}3I?J*`K5sD6&tpgxSx*N5|TeFV?cNAiXGD4wm4cIAuoU0)x=aD6Nz^>K{V$1`4^ zz(jqbE0gs7UZ14X^!;9+th4m}UZ0}#bXQfM%4&TYYxU{8RG-0r)MxT?eHO3PXY=Ly z9A2-_<*oWW{$G7QZ`T*_PJJQoYAj+?W3fN~Zu-7%EYYu^yQGGHZ}zTN(!Ek+nSK@B z6E&9ewT%^QX{=;xV-;WDSk2CjHLiREeZM!>>NnDNdSe~m(pb+PjScMC*vNYto7k(d z*_CgjyP?Jw{dPLNG`8w{>GaarrthOOOk=x#2c1ca$MUe@Vku? z*EK5K*r@TTMuVFg7rC`@iO)1Hb6evIcQ&r_r;Tge)ws^RjT`)B<0khtZt-B_Hh-vQ;kkM+i2m7jaHs(bY`H@g~3Kwh8o?NXmn?? z(SxZ*PZk=zSZwrWsnLgxMqjoy`tf3;Kd&?f@L!FAyxJJV8;!yIZ(|5=Hiq&}V;Jvh z8_uS-5$w=5lCNqT#pbrrY-tZ5z)wwM}5Rwu$W7Hi`GNO=hpQDeT)e zmG`wxW52fP9N0F4?{1sPL2a`*v~4!u-!_NC+U9a(+dSUiHlL%~7I19aLO#&8h~wH8 zb7I>PKG?RDliHSXYTI&tx@`rg{eQmB1=^-^5Bp2*NlX%wkR(Y+k|ZP{32P-GAxUzC zBuPR@a)cyFLXspQ2}wvoawjAqVcjo#-Sx`y>sD2?>zXXcLAK_T?nUo7r|-X#c;ZJ37q9!3g7oGgR{NM;XLn3IN!Sp zF7U2~i@j^$XWn&iiFZ9*?%e=acsIh8-pz20cMDwW-3r%vx516x9dMI(C*17a1-E(k z!0q0BaEJE*+~Yk2_j(V*ecq$+u=f}|;yn(JdQZR;-c#_T_cT1^Jp<2q&q1%(2YucE zjCeyZ>W#pdHwM$*ILvsHFzZdj3*Ibr`SM@^-+5TncL5gj71+o2<0}YD`3l3*zM|0a z6^G@0C13?#Nm$WW3Rdwsu&S>ttmZ2RYx>H=TYME^Eng*A*H;p#N#enSk#UJmWh}%UQ@>4&NCV@STG}pAUw70T}j$V8j=JabFB3 zd~ulcC1J{!hG}0GUggh&CH?2&)&2{xl)u1!_7Q(U==cl6GXA2ltiL$C#$N)K^OuCz z`b)v`eg{_YmxUGm<=}Px^01P>BD~&TX+LNCkh6V%Wmv^ug_f$2yAb|r@OFQ7Sl3?z z*7Mhd_5HQr9sb&|fxiyC(_fcYHH4g{`|HC-{sy$%4Y^m~ZwMdpH-a7fjbTTB6WGb$ z6uSM*pvT_=KI(4?JNsL~$Na5f7k^v$xW66j>TeIb`8&Yw{!Z`-zX$g4cjmpGgdETP zU0^SNS6X^Q_A-BWIKbZn{>R@F4)phi&-?qpLH@pQu)iPuhd}l_e}6dCKY*4OA$y8{ zAbiU|2u}77f&cXng;V^);M@M;aH@X7M}K^G}4c z{FC7O{>gB*pMSy6^#SAx-9Ht6=$}r@T*$uWp8;3-XTq=jv*2p~Z1|0T4qW4(3)lMR z!FB!x@LT^vxZb}Ae&=5dH~5#p@BK^RM*lLn$-f+K_OFCL_*d~>TOj+Ie>L3dUqj1J zkh5R^I{3SPJv{E;0RQlBgeUx);Yt4%c*?&O{^{QaPy2Vkzx+Gl8UHSL*1rdy^Y4RR z{{iUpAA)}WVHofqg+c!@81f&7VgCsj@t=ZG|7jTWpMg34b1?4r!Gu2mll~A)`6Dpx zkHL&T4zvCw%=M>Xo#V0%U&)T!7^Q1rD&k1Pa3Pfx@stpeU>u zC=Ra+lz^22CE@jfQm}Hsfj0!o!YYAsuxg+@tQM#UZwyp|)dQ8`O@S&0xH^Vh9S5qx znt|%H+ydE;0yW?rfts*EpccF{P#ZQ3)PZ*e>cU2W`t-jWGIIqQzX=wtP#R83B z^FU+RBG3fhA7~0&2AaXvffle$pe1Y@Xaye%w1({hZQ;X#c8t>=vTp|3!w!KCv~+~* ziGfbAbHD>13v`BE0$t$afv)uF3fU6_-C_4Y4_cmp?1_P%)K5b8wLot;Fwh4+ALt7Q z1^U6kf&OqvU;um}Fc1z641zBPhQMKgq41@^FgQFg9KIYF0Y?Nz!dC*L;K;ye_-bG* z92FP`UkgltqXQG+n7|}BHZU2!9+(2h1*XFBf$4BUUMz%p89L#~1Y%i+Sn zO87}&6jQ`3=D<<-L*N+P5;zWj44i;l z1E=Wu6J&-BoQB&2XK2|0nNI`f;O>AA?g<3o-arWM3q;_dKn(sGh{MByBs>yG!=r&L z{4J2jIL9DIlE8U*JaB=QKOo17K!JlCD*^@K*+5}IMD1I3{)Py+e`C1D^?3I+oX z3?46>P}(B_VThun{a3Y)ngO$dM%21eOanh1Uj~!ScZt zutKmUtQc%X&+8yZl3;6ieXuPpl_AHCU^{qYusy6E>;P{Hc7ip69(Z%GGd*iU&T@lY zV69+RT5g5R%farjUa$wOAM6S52=;~zf_>nf!M?Czupj;Jf*enR{o&og0kkxR+$9SR zgw2A3VDsP**djO--X9zWTLy>22ZAH$-wJYA^$ro#0_OBX|_P8$3qOnUJ%E;Bh!B zc!HMqA?F6cQ*dtZH2f%d2F?qfgY$zvxF8sy=f{vEPcQ^O2}WpH1Ub$GWAO7}94-we z;TOR)To%m2FN1mXTn;(g51xlBgBNJ|3UY)A7C6KaCRh-z3l@go28+V=!Q$|{U>+0w!BTKj(4l2B&tO3sjYeH|Z7W4&cLw~Ri3F^mP9z?@)H z7!NjsiC_zu47P-+U@MpowuYHtTbK>DgSo->FfZ5v{vGVZTAha+XM!GhA=sG~SEw^} zp->lCIMfvu33Z1>Lp@-zP)}Gq)Ekxz^?_H1`odD7ez0_?KXgI^V42WBMk@R?+8tY4MH>EouQeqVQ3cbdl%%m5ts^|W{(dv|C991z+F{}b8_2Zpx5=R;fJpwKorIJ5%}3GIY0gm%H9p*`@$ z&^|aUbO62-Is}J@4#Ss2N8yOjG5AX8I2;)|0bdQBf}=vG;cKBYtix!?IY#Il92@e{ z@;c-kJ`{i-ghFsmC;~qW#o*jf9DWo^!g--IoFB@<1))6nap*i;7`gyI2^IL2GlWn< z_-UvxTpTJ2KMNIyOF|{!=b@5tX{Z$ZBILkjp|Zd7d=%uqP^cVS5h_p1O33~dst9+4 zD#4#amEq1%75Gc28r&7C4tIxYz&)XwaBrv<+!v}1_lN4h1EIR`V5mMk6lwr}4K;*^ zLyh2(P-A#B)CB$(Y6_2qn!(>gE#UD`OV;EM$n`>~6+9VgP0K0B9vx~6&xYE;bD{Ro z8|nakp-#{r^3XE?*`q_9VJOsvmM~;S4tIrDg}cL&;U4hna8Fn&+#8k-_km8hFDw)8 z2g`>0!)w9=V7c%>cx`wPEFT^MD};x_is51Ky6|vVDLevRA07!SheyF1!lPl8@K{(i zJPuY1Pk=XuC&KFCN${rdWLP6Sh4s7{vR8(u!dt@AX{iO7J;O6#>+nq2COiwa4bO%T zh3CL_;koeP@I2T)yZ}BDUI;sc7r~C<#jsO&33P{-LQi-Zd^Efqb`GzEkA+vkF5%Vi z@$eehHM|aX3$KUW!yDie;f<_M56BD~-VA$&x6slHvbBe|!q>vv;OOuUI3~Okjt%dE zuZQ=*ap8S%eE0yI5IzLo2p@(M!$;wp;bU-8_&9tkd;(4mpMw7lpN3PyXW-l6b8u?d z2d9MtaC$fd-w8+HjBt$gc^7hy9gf5I!bw_YLH4h38h#kg!nxr*_)+*goEN?T=Z6a% z=1CsN{uM3=7lsSd@(E;b3KxY-!o}g|;Sz9ZxFq}{Tna7=JM{b#vNwgx!WH3iw5)`j zX@|?hHQ|bIZMYI#7p@Gy4OfBd!`0w-;p+6?0J-80*MJ+tHEG!dInxf;f?LD2;ZNZ@ za9g-8+#aqEcZ3_jUEzjsceoMU6K)LmhMT~B;ihnZxEcIC+yWjCw}gL$Tfr0I*6?Jw zEj$%&2mcJWho{3G;9ucR@J!eP&xSk0bKx$ml^3$dg}Xw3xH~NY$ebAN0h8gLFct0% z)8Rfa6YdMM;eIeT+#lwJ2k@%DA=lU8f$*R3AX+X!&a@*#V4=uRSU55a7KsdpMI$3% zvB*ez7KfZ^M@GRCk4GSw+wLAhTg)HEbT?--mIvfb89ob+BDzJ$yK_ z0k)59gpWiv!w!)xuw!H^{X0SS?#MRiiR_@|QONmlWG8$wvJ3W%?18-^`(W?L0r*tp z5bP55-!F-AHjbGg1P+7byv6MM}Z5i zTIxd1KcgFAv*>2nJh}z8h;D`VN4LS2(H-!C=uX%wx(hxS-2+=k_rW&N1F&uM5PT?l z7WfMcU2;kaliI6msoa{^?)iE7}r%9c=|yM_a>hqHW>YXgjzr+Mb@@ zLgv|M2l!pI6D=DcdtcN8w?#X{?a?l9N3<*aIocim672zZMSIeJH)K|g_J(_-eQ4PS z*&m~Q;o)dMcqG~%9*quwzeNYaW6?qI_vjFKJUSGfhz^4%qr(~D6lC9wj)145BWd{y zGD}8B!QAL*m=_%j|BjA>=c5zgKhcTsLUa;z#U{f7u_^G1*i=|BHXRm<&47htGhva~ zELb!)8y1hvfmg=n@?Iq%XTq_0uw-ljEmuR%dt(b>+1Mg@O>8kN7h3|$$Cknhv1RnE z2$@M^%VDM1N?NXm?6a{|uv%<2yfL;0R*$WNHDc@G&9M#itO?m$V;fKu;`2 z%cGDzIu?gd#FDUQEKPea$i5uQ!lz<+wDf`8Ws04L{bLv4pjd(5*q37k;gDEi_(H5G z92zSQN5x9~#+@R_tQRW@C&fy^w_*;Q94ia|8!HEA#md9?V-@K?8*&vHt3*8qat0f# zOuY~?)5WS#FM^!G#;U>3W7Xl(SPl4PtR`F;s|CM`)u!hv$UYUTL%kZZPsQp|uYt^E zvHEaRtO5Kf)(~!sHG)6K8pEBjCh(V7Q@AVE4DN}wfO}&t;l5ZaxIfk!9*DJt2V?Ev zp;&vy{}r+~#X7*Fu}<(r%mYuxI>WzWUFdTLGMB}=QlEp|pNVycu~-k76YEKP95R>1 zdc$O_4@|}S(w>IQWwCy+SWbUfJZAvBI%gm(l{1Jwr6JdVIYVH%oT2dAoMG_(oZ&2O z3E7HrMo_nc%nLaqsar$lg`82;Z6VuL&S>g(knJjGEOmRxRankAYByx2$e92i%b7?^ z7syPJGYLMCGZ{XWGX?g|nF{;oOoy{`X21_}X2L}|vv}2~kZ&_*HuX}-_mVRQZqAtt zf5@2!f6Q6H(yfrAP0m7iI%g65D`zo0ld}Y#%~=Z145dYIr_p z4deU+IsW9VqjtsDQ5T4>r@jJm{E2U%E(AIL#5YnGfqdHW&D6yq$DjBX>JpI8IldKM z6W<2Q#dpAK<2zx6_%8ZXgzWF}J+M)HAG|w$05*;vg7?G^!zS^g@ZR__*ff3|-WNXs zo5fGTN8+a$rvqePj-P>@;^$~_Lq7Sq4|a_Q;1lr>>=BQ^C*v{LD;}q3Z^*nEPr@V9~^ISS&FD7Eg?XS0+Zm5{c39s>E1WGBFNbotOYiB__hsiAm5&Oon9=Q()P| zRCrBdIxLr%0k2KWgyj>nV1>kNSTQjNUYD2)D<$T^>k|uL<-|gGLt+uEl2{C@CYHcz ziKXzy#4=btu^ir%SP5$+R>7MSt6|N=8hA@$9jujD4{uFufVC4F;cbb{uuftNygjiM z)=g}K^%6T^{lrdqM`9Ojkk|w7OzeXV69?d3i9@ha;xN2BaTGRA9E0~Hj>9I26Y$=| zDcCe|8s3*U1Dhw#@eQ_s9CZ^u>XwkBZX!V43Ubs3o{aDNR*>K0h!AZ<>9GBMd(XZqTLTU z#wIFL2O)PX6IEa)Q4JPKR;Ru2MHWfcprvTCCM=e$1&b$Z!!pS_^eGG3ev);m%R#oE zWPR%LknJbg09H&kgq4zwXulq^c_fNUYjX4EwyTS&46buGvi zl59y`8?uEYTT$16e1pl>)XgB@W3nxE3&{7FY)9P^@;xToQ@4VAkI4?Ob+Qv|lk~v0 z$aLI@cCrWTk?aY3C41A}8!~Su`%w3R{Kl8;3!hE) zg9DQN;fu)ua9DC6eO`jx$xjZVei?GblpI3+3S?_Z4yAq-a#ofcM*SLOE=Ufi9s`*R zk|U^Jhs*`Zk<{ZMb3t+x^&616AUT@)O~|=iaxC>*kaM}@IO_jGuCS65sNaTMVI?P0 zPlH@xB_~n81G&yhPNserGN&Y`z}d;Ew0r=$s!C3W^O7^*$H|$rFNB=?C1+7Df?Q!G zXHzeRTwx{WP%nX;KP2Z;FNNIqNY0~P201fKE`ZCE3*n07BKUQ3F-uoN=9=UZ>NSwL zCb^V)9ptWNavAk{$h?zWPQ3xLA0<~(Z-ktsBv(;yhMX%VS5xnT>_^Ep)O#TNQF0yi zKFAqkay|6{$Te4T13aAE2>EA7;nCz47))-3q2x9gOYVR<$(=Bj+yyhqJuo-959TEg zz`v7+;6KU3@Ivw^bfu2LD^kZ{!PE&@D0K=JNu7p8Q)ghY)H!%%$_GoN0`RI-2$o7k zVChs0mQBUsHK`=5kV?afsVuxcl?N-Q&chp07hu&?f#V#dQw8CTslxE4R8d$XRUF=& zDgkdvm4vlYrQoe82i8uNg>_Qp;O(jM@QzeP*dSF2-kGWl8>Xrp=QlXWQ8!f$-jk{h zo2F{OW~rL6d8!s{k*W<_rs}{4QgvagRDJkhssU`9YREVbL9UWgji?`nTqUI%!$(q0 zV5d}5=uS0*o>U9iIn|P$k3o*TsaEjuRBPBZ)fRS3wS(PL?dkIbWG_y2pnei^C6($# z-3xLhmGV$O1-T!R>P+1ia@~~bLj3~dx+&F_`bEfnk5qT~N~#AOnd%8grFz5HQhn$% z8gdqw>PtNqau%2BM?DTQFQocYPk`)?sR8iq)Ic~jH3+_w8p6^Ukb51eq0}=W_c~I; zsAoa0#ZtrJ?9>Q2KQ$6ANR5JvQlsIgsj+ZzY8+gWngBmfO@vERli;${WcX!j3S6F= z3RkA4GxArEGriOd>aQVZda0RkeQFl`E;So&NX>y8Q*+^_)I7L3wSfLVKxU}aLh2tO z=Xc8fyLAN;FakEutfS0bkc`mne_%uv@wm?4EXD z?{r!CRJt7OlP(YYrz^te(v{$VbY(asT?M|7t_FvutHTlL8t|2LO*k@L3yw|KhOejV zz;Wria8kNHd@J1mPEI$3)6FX(k|;g zq)ZIHm5Ia2nIxQ%NyB$DSvWJ32S3c5hjTL*;76GPCpc1N3c^n_h2i2%QTS!1I9#47 z0as*7!Zn#vaBaqc>oR5Grc61wIa40~kf{iFWGca*GnL`aOcl64Qw<)-REGyMHQ=#K zP567J7CfG*4gbp2foC#x;n_@m7|Jw&;Y>pq$uxqgOkhTCffm)%XT`!voVl)IqQLyvz_4$*)Fg~wky0j+a1=- z_JDP>Jz>3UZ&*Lu2i}qG%Lol1b8faDbwkJ&lI;)g%?^M~vjgD+*+H;Xb_jehI~2Cg z4x@h?$d;2GPW=#M%gK(Qei$;tW=B##0=dS?j-u`e*{-sqsojw6Dm#|?QOKN|9Y_5b zWX{b_pne>()nzAAcY|zo*-6w-K<3=+Wa=j&b8dDDbuY*^nVm}g6l9ysPN#kvawjS~ zgZdfBR+^m&pUcjI1G2N>kn9}zLUt}3nw>BE~A+vUN z9rZNGku$rV`W?t#kljH2E@UsrZlrz>az>rqO#MFOxSHKU{Q=~-n%zqMA!JXIqL5rXA4;$^(M%kn+;I^06E%cL)1S)&K9x}>YpI@h_W&2?U21Y8>jvmvUg{b z)W1OP8fDYeyCG*6*(~*5$V`#VquviW0%XrqAB5aB%3h%U6>>hGEpU>%Mv!?VTafxU z$WbC&nEH3fQ6gKE`VYvR;cRj0laN^^TY~ye$SjjBN&Oe(erC253}zh|&z6O*+;Xr$ zZh3e`Zbeuyw-PLrTNxJ3tpY3LR)ZCDtHbMZYrq?GYr^Wewct&;wc*XVbzsfhy6~3V z`n+Q;$UKtUfVwv1x;VEXbsflAdTt}?x{$dew=ry)+XS}FZ3^4vHiMmVTR=~4OV}m1 z73`YZ8urX>3w!6bgU{x+htK79fP-^8!54Bp@a5dj@Ri&ya7=Dj_xw$WerBS|jKBdwqo1D+7^omW+7gT!1Cg)2ky<(HIf=aL0y)HM<+$4QGRqX zR2pTg^EZ`7+3Ng5rBSvzuH>arwmMf(X_T!_Au5fs)hR-yQMNk8s5Ht?&Q(+z=%dX_TGLGgKO7r}HdT&x_S_R2tIaXzQgD0`eQsPyUXalWL|D0`e0R2pTE^A(jo-966NR2pTk zvzAJu>~+4S(kOeK@2K=m?{&VX(kOeKO;j3Xuk!1gSL20VhnQQ4TmcRQiq%I0-6^a==MZX_Ny_hDzVj0VkJA zqa1Ypq0%S^9arkoCXN>wPoI*YIU)ClS<=VTjnh) zjaRbq2-Ic~qR)xg4s7 z>Y#?GDQb&4quyvBnuHdj@6Z->T|w3bJ&%T=*U&fUA5^%I%T*bzmlt-q2A~(w8z_PD z(Dg-lAM_F$hZdu6(2SxSz0uTSF4sD=3GGG)Q5v-??sB=27uC9w^+j7z1l23ya`i;7 zqZz2sRs0?388iiLMCVWhl`F~jgb_;&Ro!Ks0HeXx}qcK z6uPD~eSub=GnvFh2OVNJx zY6beDU(pG4S4GaH&|7FW`V5^yQFH-acO8E(+Knbua=9v8&v%TzL>tf%6hhZjcDb6M zSI{K%30j7}L0i#5bR6ZN0yprtp))9qDphg0{(~l>kI_nWbyfBb^Z@dpXVGx<20D(e zt>$voMh~Li=x1~SJ#(YWH3+?irl5~e2>p$m>MmDRR2MyuhNCfP5_$(MK;NOm=*pYe zZqZ;g0=AUzX%J1W>2ke`>fXZop-JfRTJ%S+qq*pNv( z(AQ`O+K-&uU9P)P3-lBkfL=jU(fg=mU6<=gG#Pz?HX|>Jp(6G8e9?Gx4E=>d=!*J` zi>^Zr(S4{jdIB9rCy@{3pjmgYz8of(qU-MD`$a3zPIMCa(3KoK%c9#+BlI{Lh+aZV z(68tO@}d~ZMFsC-KSX2ETWAK_g!Z66P`SqJ+o&Dtg^r=WP!?TrkIPj8U4ts4n^9eK zA8L&{qORyEGz9&CcB0=<9=ejld5flOpJ*!j2yI2bp(^)r96(LcgJ?%Hz6W%;Ie#zm zp&V4Bh0AphYKdM&OHdefx}W_GZ9spZ>Mi-c&`xv^9Y@zcz<$(MYhs2aK#jYS`#4v(@wp@ryARIoG4Q4jPjiah3W zJ=}%k3VIHmK{q_keua9W{>YE&cjNm)Es-1bLocD}=-M8PkHVbJ3@$S#LfMbP8Sl6!R9ky$|n?K1I9GujmBwq8Q3W z1)t`1s0VrmRqo67jar~r&;oSjGkmW7*dL#z9sL)rLqDJb{rP)P4RqIYtOx3b`k?=y zvFI%{1AT}Vp)b)I^cN~Tfb~V?QB~9sJ%ARV&(SLM9omY{qPG9x^F-az(`X=i2`xll zq4j7lI)S1n{ygh9h}XWrXEK!aK?~6iRP#mN4~;+%3}ahCebGy37FvjQpabYEilV+R zaok6*ps6SqJu{qb6750f&?_%9x1i5a1a%w1>(F2{3ypk*IRL$dR-n!3FuHampFP@$ z_Mj6ej*7j?K8RjIIjGtwm#Z;4fzF{cD)t)t4_b$|pwCD1xuIj|47z!Y%hd{XKy%Q` zW0{lCVzdz*Mx|coJ3#eOE7SqqHjeoK4M72P-FS|o6*WNjqE_e;)CKiI{m~0(BpQ#Vp!d)` z^ch--zC~NmFX#~Z1D!)rltov(!Lc1(gDRt&(Osw+YJ)nVZm16$iO!%9sy2~r2i=c4 zpeN7}RP{}^D>NQ$LIG5N62}bG1&u&+(b%{6d;iPdIfd7we&~6$9BoBK-{yP|?M8=C zxv3nd(JQFTH1;?20CJ=5=uHkT@4BbKneO-Dd+zygmisgKzIz3n?cM}GaBqim+oUbxJifnU0dz1+>U++6{#a94#Z-M7H6+#TU6_sj5W_gc8xeG-1- z_QEyp3|#AWjp*iD=PnJubytAv-5ud~?#JN0c0UVux?hIBxTnEg?(J~5doSGMJ_+}_ zqi~lru~)mfPPj|MlkUOrl>0OIr+WoF?cN0ca&L!c++KLr9fjxI8R&Hv8`aI_b616a z_bo8st_Oqe$6?4l28P|!V8lHiM%|ymnA;0;+@)XZ=8C)Th6(q}FzFrxQ|>om+C2?s z-0#Dzdp^u{AAxypFZ|nGY;-r*d3R~}kGm?o;JyXAJk4PNPaAlJrz0%rc^nq<^n!&w zgJBWR7+BOZ4Hol!28(-Ez$-m#VF}MBc$H^6Ea}+`ulAH4)6G@NQvsIt)Ps(v4J_m7 z2+Mi~!)rY6!*ZVa@LJDju)Jpztl-%TD|(K=>pWgq$rFXwdor-H$2GQ_>jqCTSjAHs zR`t|_)jW5@8$Hcobx%illjm_*!_y1i?0FW}^bCf#c*ek5p84=r&k9)EvkBhjIRfi= zPQu$gURc+Yf%QDaUhn3r@2Lv!@YI71JZ<2ep24u8=QDVhX9aBJSqty>oP>=%UU-iu z3Y&N`@Lo^zaot=^J#FB9o;P7L&otQFvmLhZ?1lGxN{{d6YU!x}AMo4_TY1{R2R$8O zYfmrO#xoeU^}Gxp^1KP#d8WaKJ@a9E&kFd6XD#gD*#tX!w!=;y*Mx2^x2G8Ncq+h0 zJ-5Klp1a{=o;I+Hrz3pa^EmA4c@}o_42Io3FT*E1(_jxz20rO=z0u9p(^Cxg@-&CN zJ#FAqp24t>rx0@%zv{XQxH#uP>pA8vU7?C=@Qb{JCA2@#^?wcj_p&l;F1wOorG6Kax5uSapMQIo z**LG@#h&_Crd_USDKoYKFcV@_e`cc+MR+$rk(fli>4=#*2!`O~?^Iqlr+ z{Dsb-v*?_&-0?bV9Ut$q8Q3Sag;zwltO8gL0OcG^3dPtJo*P+K&~=t zodW0zR1g(Hg;5by6ct0o(UqtKx(byG;&ZGR2E%>%Asq^Yz0QA|KkMl-3*5&sfby+>*vU=uabqiKEzkjRCYTc>JZ*PBD-Qlv@b6MTzvbyhOb-&B% z{+HDQE~^J#Ru8(Y9&%Yd^s;*RzjbNX@_*|>uJxDI8!xMMXEFb8=~VE4wddcuv}^Le zHD_>qk(c^caD8&)rJDbb(8c;X`%Yh|p5KQv`^)O_|JH?E|NXbVbVupZn5A9s{@Y&2 z_0hjIR}lZ!rCmQ>R^NWp|K6+mY5sd~7uTUQ|6);o%~iu?b@H;hCcla1|LwajtM^=1 zAG@qRep!9`vii(r^|{OH*kyJ6-?|Y021ow;7INiXR$utH=1P=X#`)`3__Dg_Wp(k( z>JpdLB`>S1Tvk`Rtgd-kz5cSg^V$Es?>VcVVjJ-xc^rL-GKh;k*Lm{-1uwO$pO&lN z43?Lp-Hp`V+}h9B>ondIY)^yDpU2f-?eb^LwLCwo|2yoX%1>Ln?$WSE>bU!qxV(&D*R9h8|SJ^`2k#i zXZcc>ys~*i^CspGnLlOztoifiFPgt%KF0hF^Z%N^WBxv_zyBlrU30C+C${`^Tdr}n zJb(NZw)`7guJ_Y&xyIA`D$AAi{>u65@f}(3^Naa@bH91iJcaA^dOy8huB`V}&VPT6 zr!3cUjjJqI*7(Z#@AEfV?|((Re{)7fW`4^2oO#GRZk{#2U|zV)rO&m5xno}5ys~+9^IGP0%^R9GF>hhs z+PuBF$God~PxHR!1I&k*4>uoWKF)lS`Bd|n=5x#!m@hV8X1>aNo%u%dt>!z;_n99y zKW={7+-Dv!PnzeM7btt_^DJs!(!8vBMe{1=HOy<9*Eeru-qgIMd0X=i=AF&EoA);F zXFkw;sQC!<(dHA(C!0?|^Xlfc%2EZKFWNY`6TnH<}=Obm@hD2 zY`)BVmH9gJjpkd;cbe}rKWu*7{It2xJYt?S&oeJ@t?mEjCC$s4S2V9;UcM-pRa+c@OhG=KakFnGZ7` ziEI7G;`*HATK|dWQ_N?We{KG)`6lz9%zrWe&HSYKS@WQIj(NuXAM-*LF1`Pi=B3TA zHNW2cM)O<`0@bZ0QHlg89qlubGcGpJD#7`AYLO=Gss7_iF!? zYrm9hf0S!Kl;`h%8|-yk%y*dYF+XH}%-nCDH7|DErSYydzs9^euJ551uJ1*z_pNK~ z`ux={S3iAT%5r6$2P(^zbv~#pSJru~JELYZc zqAXX|_M$9T*7>%wTv_Mc%5r6GSITl_ZC}cAWo=)|`P-S!*Old3-q4oIm77?WE4Q#L zS8i=tuH4?TT-jq;uH4nKT)C%ZxpH62a^(S*<;p`W%aw;)mMd#N(cdH2elyB^ocSd4 zspd2B8Qh1_{T}t7W9DWxm?RT zSbJw{m#e+Id2d_Z&z8%ze4zPI^AYBw&EGbE*Zc$X`R1RRe_{TW`C9Yu&3`oi*?h10 zujap-|7q?u51S{Ss6t1Q=e&szKQ)-G53i{|6Z-!XsR{3G*?=DW?$ng`AE%&)xR(zvC~ zuQk8k{6_Oz%x^cp6W4m*gKNFz%FQjyl^?V$SJw5k`pcDdU9Buv*7dcrTv^xI%5r60 zZ!61{b=|EjSJw5nvRql$;mUI55|-u4x-Qppxw5X$mF3F1PFI#I>v~;TuB_{JWx2Ah z-<9Rcx{gdgc7<`-kmwa@*%7SHH(C%awJ1Qm>OM>v~vOuB_`~Wx2Ah zkCo-hx=vP>E9-h$S+1<>W@WjuuAi0V%DT=|&cEJ!($-I|?euB$=gbG=dfiL7UME+6 z)v{c#d)?ZnTf1ESW?7c2-&|{7Xzg;fFR^wV-}OFnyM zWx1AXUQm`R>v*XwSJr(1Wx2BE4`sQsj;qRYWz8$f`SZ(a`&`%C-=ph5Etjjmj=Rco zWgUN&<;t3ml;z60&#x?3*8P6v{QLf!?R|9oQ+xh#P{%!Gxn8H^pR!z8$3bPevW|z! za%CMCmF3DhJ}S$Vb(~a|E9-cvELYZXQ(3O8``gNLWgSnI<;uG6tt?m8{cmNtaxKep zW!)Foa=EgO%gS&Ofiozh9>N09vl!^R!&9tl#yN<;wbfPdWd0z5}*B=zgZQ z3*E<*AGP)q=DMG$_O#{m<^`)({PVzRHvW6&A6kF4YaF@WPxq^o<;v=>ELYZjEM>W} z#!=26PrrvL=l?FI`+`~z-4B%K-v?aE>y*DW-(>!i`7h@A*OmF#pZV9f`PXy09@Kj1 z_gcMg{_nQ??e#~@|G?GnFI@fPdVjyQYd%qX{=5>k<+`ra>va6ra=BiYve#)oRl8j6 ze_Okjt6i@4E2>`dV&*#kR=du-<TzFW2k!JGru4 zS=ZCba%KIU%5r6`r*i)K>i1OT{NGh)vRr@P9P${H`feXF%= zx!UC#f2a9A^TXz6&4cDS<{9&U%nMb!G|rW{-dFuKzFhe~cD$7<>v~wr<$C|p)h>Az zT+8(wftJgawOm=QtbWRJy*~eZUB?}@%hgZ!E0pER`umjS%KAH%<;wbdmF3F1o>!JD zKVw<0_pMRwlHX~5k9l+R4(6TByPH3UYdp;l8egug-+Pqh%DV5bELYa==*n_sy|1!d zS?{kbSJv-F%5r6`m$F=0>!&PN?rd4Eto7CM{PiAe?fM-`?Q-=~yRuxL%S*W0U&Ylf zSJv+w%K5){yl(Bvs@kxw3u_QI;#~cM)Z|*5}P?m)bQC ztNq{k*xL0wncDMzFMF4Ez3v0^`R1RRe_{TW`C44>tNR}sN3MJY$311a#{0h7CI1oE za=nk1%a!$h%5r7Bud-ZO@2{M{9tX%8_b9IA+P}3te?QlLt(?Dq>-taqb={}_`a85- zuB_jYl;z6$JxN)vtlyQC<;wbfNm;I}`&-I#W!>jemMiP?QkE<0{+F^`S@*$|<;uDr zrYu)}&$3+kL(6hy-6vCjxw7t;Dd*oe({WQ-uI2jPl=HtoeLu=_E!X#?EZ67e#nrCo zlhiI(4%4nIS58=#E9Y94E9>`g^_MHVZoHJ`%0(>8m9MfaS1w~&u3W*gT=@pea;^7G z=C_*HGr!CHUi16S+nDFy_t0}YT3@-w*Yi8da%GLHELYa}%5r7BkFs1@@24zR*83{w zzyBj-t@oqm-OPKLzid9y{5|sz&6k?5#5MjJT;t0%uI_Kh^Y345pk4hmj{4<~w}q^J zJIwc(AHvmNuT%g0*Xy}AWx1B?^~!Q(jiW4A)_BTtWj!yaELYb1D9g1T$IMTe>%NTo zsa^f#%37|R-|w9DPnqk!tH#s)R`u6;o%+kwuHP->`n^KSbss{@m{|2|TJ{(4>hdFgeQYnk6|&OiU|Xs>_F{0SRJ&qu1CT(8q}lFD*rJ@=-Z|NPri_WEbdb^ld=m+rgDb-z_U z$CiI?zQX()^R2kX*LkJJmn-WzI%T=?7+Wq^*7KKIE?3rbn96cx{a&LiSJv+~%5r5r zpQkKW)_JUQ{`st)=Tw$!xt{A(mMiPIK4rPGp6^qZE9?0cWx2ARV^NkX>wH!@|Gajm zeIEPFPnw@K51QwgXUzXGFLcwT&%3O7Me{1=HOy<9*Eeru-W1n*={ZELmt0xTBPz?4 z^<1K|Tv^X2D$A97Tb3*9c||RkE9<#MWx2ARUsRSW>p4bcxw4*TRF*62xkhEVvYu~L zmMiNyM`gLPo_AE1E9<#OWx2ARe^iz$>p4hexw4*zRF*62xkzQXvYwArmMd?zELYxU zS+2axvRwIqWx4WE%W~xtmgUN4EX$PxmgUMZ%W~zkWx4Ws%W`Esf2sACD;KvcSJv~G zS}s@CbD7F=&c~2V4H6`P1gl<+s~Bpz9v>*Lk5_=Yw*c2g-H6C)atNT<3Rko!7~A zJ}1|CoYqtKee`$8m32Q!S+1=6O3L~7m)^DY`2g4Q`M8$Ll|QvCSN_7XT<`mp`C9Yu zarOHV*En+JpDoLk_ga=K|7uyT{JUkj@}HLF%3jNI<*;SBa>BA)IoGmW*;V7x`pNZo z6fwUF*YYy9T&`TfvRwHF%W~zLEX$Q|wJcYzXIZX%mu0!~y_V(5_gj`Lx3Mf&e#Ej| z`BBSq-qj1zn|~n^Z6bohE z_I8NxXoqaqE{^Z%I3(YGc8DKjhj`8o@iBIYm+g>t#yLLGaY()?c8DKqhm@OXHl04t z>5%*<+97_j9pb0iA->oS@w4m@KgSO7^X(A7$PV#K?GV4x4(b1LbA{7?=5$E@U)Ul3 zupQ!$+adm>9a8_Z=AWGYn$scq*V-XIY@g(Kf%xWjh;L(u_y{}1cd|o#H#@{f*&#mK z4)Mqi@q!)VW9<;H+95vP4%z-mj!$zOl5d6`;%#<_&#^2C>Bkb2 z{fLM8YMJAgnap#fhxzSl#knp)>b=em$#;`^n|YUcpSjXpWj<%VXs$Nbm~WVGo15*M zv@_h?-rUjLMWkPQiu4oGul-D%^rF)teuy37H9N!)w?llg9pcmNkoJxmARcr{X2-%52^p7CQkYuPKTuLYX(2io;5#Ve$s51N0>*OZRQ-2cDh9R z0coet@uiMK;-r)RT*o2t3mpHRv4R*aY(*X?GQi14k>r0 z`Azd;^SkC%W*Gl#?Khe~Hh*gV-2A2aYcpJjxX#e;aJ~7R(|>RN(fo_~ck^H7f6d{e zlm36i{Fu47`EfI27R^Jvq~<9Sn0` zS26E0E|7jQ|Kbp59>yWge2hb!c^QW|^D`diY3>JTk98y5@_>Zfn!B2Nnfse*llu$G z5d=gI3ym@amsOBr5wb$zT)9J z+wXFVouBJ6>EZf(meV<3sh{%_a{f^t^8)!H&isHwoOuF=IP(P#apnyi;>;g7#Feb@aEM>3{^Jn8(hl+Ec8D{-kUz{b;kv~*5r^bsyl}{PgzMJ|$07M{ zwL|<)JH+p`L;OKI#2>Xo{I_<9KW&Hj^L9wTxNgFi?5~)wnQP5q2POG7HyJO=F;0;2 zfjc<;qvjswzUF~u*8GG>zdk84UXXek<`GUm+Ubz=PnkI7xlf^dxL=v$^e(54@4Cy!7 zZ!;e-e`Ws0e9HWT`5!ZtPU_p%9BJ-s?k>`=eMI^V@dNCT{=_EfIC1ioM9M+@P&>ry zc8E`~L+UxoJjOiUY&UuCK|Y>$!0?=-!|9w?#5tcJ=Mm)mft)vx^96FAK+X@yc|pI} zKDHxlXPDoZH%Mn)N_tqI^1P4oJm-Tv--A5YgFK&uJePw!kApmigFJtO;knxaZ_gLZ zv(59&3q|_Dx`lo~ob?MH)-gQKq+Xs|!tlJ3=Xf~J@8B3SJdfkKC-F<%-W6_-cBvnd zevNs(d9xYrk8Zc$ZE`GYrbZ0d(N_uF{5?|#JftTe-Okbl|#YYvZ+ z`lo4~L_0IgIVR6>i1YjghUYYUy4-%|K_<^F$QPbh@SK5uh35_7xy5AVCl1Na^9#sx z3mBePOm{l@*iN>ea$y|UP8^cX_Tpi?d5=MTyuX0Fw}9b&1^4mfhm_}j9)~#h^*F@2 zzsDi<@SX$megpDe1M)rt@*V^7{sM;g7ENy#&r^tp=P2_WKhfmAmUQlCVYrVy+3DeV zz-e~gdytR!9gz1NkoOyq_ZpD*8IboFkoOmm_ZE=%6_EE7koOai_Y#oz5s>!~koONT zymwga{)FcWXW6-bXB@eoW*i~TeKj8LuX#^Fec}DYIWB*`d69Xkd8N7BTw&g7-f7-z zK4|j%n|65a4SC)TdCm=az72V<4SAjod5#Uk^J~@x^dGW4tPk+8PT;vV`NQ+$FivK<~ZH4)MAj;uGu;KgtgAW9*RaKi=_n$07MT>=5s< zLwvvv@l)*(Kf?}b=S;`Xb{vwA{mpR#@$;Mx@eAz`zr+ry_X@{vbR3fJ$971*pE}NQ zNPFRU{JHZ%%Kg#~@n72^_59B9-#ZS8|IzWkI1VZQcRM8Cza0OsEE(L{M&X&e=aw_Z{BL&Y2GVRj(oHOaq{C3 zryLIP$L)}Io^<>ljzjYO+YZV1mbqyzN&l!wy^#ES*dh7%b^Mc#L-IB35I@2WDR;Ev zZH`0Ya~xmfIHdd%JH(gTA%3nMQqKkEGV?O?29f-?h-?=m{~eCs<2WS#fcYz@Z=Fxd zLF)OS9pdaS>J9tt!%l~!?`ntmUUo=(VSllI@UUNK52qctznM1k=D}vgJj^`OoN9hr zr2Wr|^cPa^31+9+E0T};$rsuQ#{=~f5AB5g7{--)DNn!12XXp`L!AEM5T~Db=r8+& zIL9$@NPjPOen=b=|E_tJ)30?pq@Ek?ko-S(ocz=SiQjMj&U{g%JnI?qL7eh9q}*zA zjmh+S$0Uda~wb4aY+0k$1imp62H=M%F%u(Pkuao~OXkoZ`~A@xGyRmaCW4ykvN z9g=UF<1-wG=0jOhxlc7 zh+l1o_;q%O-(-jM^ESutavYNHK0Cx8vP1kaJER`g)9?xVGv*5-`Ck?p2Z+CFhm?EW zeA5iqGvbtklp`Gv`8Fvf<+n7qHFq`l5-CSM%0Zks4rzaX$LTk5NIv?HL-K`nFZqc> z;$i(u`@};(SO=5N`WLe9g{*gBSm$y-hL>F5p=MpAAG^695RdE-=lVgr;X1-~0Eg5Y zuJ2P_@2AahpTqn`{xFYmze73hbEu#DVba5WG54)_xPRriAwS0p>~Oz(MDjuE8L&h0 zaUTget{}$~`8dxg2Z@LBr@A~OPCex3x=Q|VedYRwL-L*Bd|VHRhwB38Js!^gGhIKV z+}SR-x${Bd=Q;gCr}LbHdLaF|L~$JASJ)wbjUD3G+adLHUjezFfYbwTHg7lYHt#nd zF;|*lzFKWxBhnuCJM<6Y-1p#+c38(k)~_(ETf_YT>viI+(;@3~7}n)sowAF^KRmx+ z9YH&g{NXtU>k8tKIL|X6&oLm+FCfn;AkQZt&m|zwA0W>eV0gYz{6ykBS0K*w1jus) z$nyipa|0Nj7tC`x?&pbz`}lC5&h?-ELdK7I0Eam90UqWB?&ql|+{cIe_HbVwjtic1 zwd(P4#PhCJJtF19@p6j#M;y}L>2^rIa2$Qv{#ElE=C{mmo0ps4H-BjU$oz@W7ab?yGU03)0WHltyk8&Kg>a&j)$rm|Za2ygJ z>v+|1NPN8GlN^V{r#U{uaY($)@i~q|;$4pSIS%RHLOaA4*&*eYIKI?zNWOFJkbD<7 zzRYn*{4&R{b{tavIy)raO^)B@I3#|TNc>Q#}4rUJH$`5L;MUo#Lu)t{A@d9d(Ja2G%qo)Ft0JM zH*Yp?H}5v@Hy<%qnybv`%ooko<{I-2^KEmpu}S}io7Q zIL7hAMaF~e=J*NQzmt!z$<8<3JkFeD&NaJ5>LDNXK%6)ZX_xB|9Bp!*IO7nf9US6}J08ZLdT>ZPVV>IDzKuD;+)1P!;*^6p z*B>0>T!-**Jqq(2*CpbRd|aP!h;yC7AD;h==PL^C0P4di+Lu ze7Me$50bvS(+@EB_4YvWLGp#`$AR_%=Vu-xo%sufd5e6M5BW<=5s>Lwunf;*0DMUt)*&Qai-YwL|;@JH(gSA%2-1;#b=tew`iSH`yV6 zn;qhJ*&%+P9pVq!A^w;h;!oHi{)`>sFW4devK_KNUp3iZIQt2*e<0%w=?|n{NPUp~ z2H9Vb{RG(`ko^D|f5^B)#v3xuknx3#3k>~ZoN>kvGER`~hm1Q6133iAd zWrz4Nc8DKuhj_ak;vIH~_t+smV2Ajrc8H&0hxnOxh@WkT_<44SUucK;C3c8kVTbrN zc8FhZhxpBQh~I99_}zBMaj}URjvtN#;^DaAIKb%-q#uy>A?-qr56E!=IUXR#0c8I} z_A_MvL-sRd|3daFWdA|-D`fvc_8Vk>LG}}5|3LN&WPd>R17!Rm;|>{b$T&g92Qn^< z(<+hk3KDL zbBcMaIn!*K^UM>?lg-o2#pYS&Ip+E1MdqdEmF9ADg?X!ar+KgWp!ulDcS4L0-v>dy z3xa$P1o;jK^8F9vx>n^FXNV6gCl2w=?GWF_4yk8^xs$n@NWKF_>V@RXnn#GFA1#s& zN&l4j8FRKszR!u|gXEiUo+OgKL?j*JOYM;S=b9Io%goEn8_ZkGJIs5`2SnERv6Lp?!!mK6n_X`F2S9Np^@c z4&;Y85!V;*3}X30F%teX?ePn(}LPcS>pUUPv+`-}(ehjF1@9Fk7^IK*ie zhdAxx5T|_{;`9TDIQ_swf4<=OmmG)W`-&anU$;a2n|6p_Y=`)F?U4O>m3g!IbMu$x zug%|?FPf{(H74(0sgL)rFub2-JJ_zUJsj6~IKJO-`M1r@s!93bBK_T7BtOJ=v_pIs zJEYz4p7-PSj9D}fF>5B*4a$Y<1;;%ej(5&mJe;qGyWC`Rx_O*A%baV{Z_3kO82Z_5 z?>85lXPM`i=bIOqmzr0a%gq($t>&HPz2=|Hzlx08KSahA;{Uco`uUc*X)Q_LN+drd zeLKf@a2yg3?}bMBIsYi9L)sZ_hj?U%c)`;GIR z?SSOtyvHH=!v17Dh(q!*E;z&)9~|P06Aq~-90!aS&NxBF2Qn^@@qmm2Wcwl84cT7E zc0#rfhVA10eJh{I_Z0Y+-tO={#kO|7qoKbeJwA~9d~X8z&IE?x<3sJx$4es7U)b;{|czIHbP1Il<}FOM0mPD5oD|9`AgRe2{wD%?_tS z(jn5%kO%`?n1MfwZL2g%2I2gCVxmD3^lueC$`MmwZjI4{YMlMjY;)}uJ< zQ21k~hxO$B_ON~&?fv$M<6*tH(!R=kPNY9L+Y{n1I(@ad#(YC0Kjp{|>CfBdW{t#$ zo7l023A9uNoSrqBVmhK0{InL=;0aC~3$Kr?H8!u+J!Fpn^g7HOCD6ypeS>cb&Uy*R|FABQ;Y;1H)h9OAT#L!9<; zh|>=ovVEU2=QtfFJ;b}5&VDC9`x~;KA^R7yUm^PwvL7M)53=7N`wOz4Ao~ZhUm*K~ ze$pTM5&A_x@X(*IE?ng6+!AxCd9HbZ$@h8G&v$u{@9`kt;X%H?qunKL2jWZZ5I@%r zDR+U%x)xt%zr%dUe9U~pq<->KFQh)|Cm-7haq{D#+%t0WhjsG{_Lt39ManT>Q4W&- zb*I1SbmmvmA^Dk4@i4D$a##{){v;me(JdWk-XspGe_O|yFNs6qBORxG;*j>}2M)=% zv+}{+&3()R%-B55*KNKVCVxqB>f?DA^@ZnNXF2^)m)pksd4ySaobO7hCwxyj!SSP9 zFY^NRLfT<|z#+~&fkWyU?dwKl7R<5cF|L24$LDx^yV>D(7l_mgsrL(xf5~x3{43_y z&2NhI>td1e5dW?n;#b)r_3*!gP5fHNA%3GB;y<=S%JILa4S#C?xk-8A^q+F1)1Q!! z{u5v6IK)@kA^w~lQeWuD-yMhK`4Lwuqg;#2I9dX9B`rsI%&O*|?cah_lIu6Nqr5)nS?GRsKhtzYcd8gCwbvh*fgLX)M#t$-X zknw_y6Zsz%InE$)wu|_09f!o(F39$f{7v-_iNQ zaq_%993SC$V7tg4wkPy6^eeRglJe0n$o4?WvEL#4oAg(l4)NFQ5MOJD_^`v1`XIi! z9a8T$<_L2qk$gD)fH-j+QjYc^?LyjvyE%Q7Iogaw>M4lS1M#tTh*#|pA8&{FBs-+N zY32;G&75O)nSJI$bCJ2kTxyOm|zu6)FPdmi_V~31qYC^(o&60VjSvMz`pEf&0>LX6S zLVAzWe_-BV-eTTi-Xl`}0g>_$|CJr$zp+F7DLcgfV2Ajh?GXQ)9peAAL;OE>*cy)` zJRasq^8hn8OXi_w-JD<^WgcT5Z?=oHOL?|C)YIW~#({pY{gCa3Y%gRxA=?MpF39%4 zupJk>zVDh>iL}f6E82xP@3HXkKI>ZNztQ}$`BRstKJr7#Q!gIsr#ucxXS?vQeLt7e zPp$`$>j32Zhn)A2^PTb>CzOZ8InE)+H{`g6;duU~+x@lMh1ByqJ0$<_9si@_koaF5 z|GVRm^8d0!{J(aHzi(pFPe?smh{QkOIK)3>hvfT+;~#Szl5cN2B;Us!&o~Z=7ac#u zaY*@^9g^>GbFw*IBp=TBLYz1bDaZChwi~j&Fl^^>E(a+GNe}&-<#b3oB%OZ3(7(CP z2gwIXXFOmShi-end5Xz?CLjBk?I4|cAWl9!<{Y!j>@yddi_9hFQuAE%0&|&pnaKXRT4et~{5m^iKi%Z`ZH`0o zv41EB@w=Q3DR-awkolPTg!zp5g88yYJsbzr8;*xpo&LJ{rn$+aq@69zZOxJ9&LZ{g zE>a()U;CJOr&B-ako>fRL!A6L#1FPZykdvcf0%isdA!*vlAq&<`oi(l>+}Uqr~jmf z?f8P@UveB$&sXda=eVRC#J}!zNWZ>mUhMqebvh*fRd$G9Ylrxac1V3cHt%;j`hr^Eh*sIoIqq!|~W}KgB%V{IdB~^Bd;3%x{~Q zo1Cxoi}RX(h4cISO2;ATKeR*o{Uh@yX2?gsCPIQemiQx1nX<#C8p4<72{_`)IS zAF@OIBX)>$+>syBZ?30s2h|HdYVKj~YaVEhHLD`^;nW9l;y9$faQ$JvAr8qm+79u^ z4)O7>2jY|Lkb1*)>@)V+=I2E6GhfqQn78LUeUbS!bD4RWd9}&)igvEE-y~8m$07AX zoZ}G>$K`F#f0ucm`H=aP`Lg+{`MUY0$#&Cz*xr#xC%&`E^^o*%9o%1W`T^-z+78K= zH|ypE^C*%0?0?EboZ|q8IL8AHagGZd;;c__h;zK);kY@*?HzBnn;mYyM`$B`Q}CDrRJ69a&v`w zt9hq+ulb<)sQFv-Y4dsWCG!>YHIZ@R`pCFJoa-YFajuhixL&Sx`C(I&aoyb9#tiF& z5%yL?5NCeD!#u93&dJcy; z_hUH3cd|pAd5ZKfUyXJ@nYV~T@-ctm5N964A-KOoNiBo4{{CFkS*oj4>P_whKyxu3@&&V4-&@isf8-mkdcg5!{U ztS2ZJ))mbAI3%6jKil`he#bIHccScfaR2 z4vBx$aprsSL+WGR$05%Ak3*dMCOq6fU95Vj@4Mzz=C$UH=H2G~<|88YtrV#b;;ZbC zdY?02G*_Ez%s0%p%}{Q$=}Gzfc1<{3PW{`9v9D6Aij(9@9F%I^848#evlpF zIXlG1*dboFL)sZOA^li8?USE&A?-ohfz%IYnoV<_NV_=O4RPW)q}+*)pX@j! zewrD4vHdLb9P@nhBJ)!7N^`ln!o1bI)4W%tUk{4(3*wL3A^uxC#Gkf9{CPX1|1X*U zHs3NgJtj%t%G}P}!ThL5eS3)X2jctMA%378(q7j5g!xIcVNNq=n0@9#bCF2BOGMg* z_)&$UDR0z0H1%goE1eznsf`LDA>^510M=JdOq4oSbye8_xEq@E{4`U%PRjQKY+ z#Q$mkkD2;ZlArxdIrc9M`;~mu3u%Y^cqqsICV$w^?{|G+KWuIPp!s2w{Ybg6|MpRw zdLiu`V29+3P15lYFWC<@>n8h)eC#L4{(%#mew0W%IPHcw`;9p1#3AK+%?0Kc%rBW= zF~4qx{YyIaKuTJuKp$L3GXkniXA zUy8JkQxC+6XAyP2cR(dH56471IgZ!R*Im`hEL zQ~J&E2{|qy$0Ou8gdBg6;|_AXL5?%X@dP=JAjc2nxPcrmkmCe$d_ay1$ngL<4j}s< zvfm;58?v7v`xmlbA^Q`uA0hh>vfp6XUyMKJF=YQS?l{ERFF3^6KRCqMKRCqMPdLQc zUpU0sZ+O^$oQL%1{}hMcF~4X2K&0FaBIO|YZZYpL?-9xOfJi<_zF#^18^ryT!- z*tM)8=Q*6U_WHVI0Eth5mot^?uX5*!-@@_Hvvs?hq#*4so^vhdA4VL!A0>h*K{P*{-V`XZwgl z^3g9m^zT|Z`EN9T?0i3UK1ey@l!N5|x%o@;*XHlc-?rnbD%$P;<5VK|;ZcY~I5ADz&h|?Yp zaoWWpPWw2-=?4yR`h!E9e&GlYHCk}D?i$k1#;}EC+IKI7oDRwVEjuLtx6RAVaGyec(nG%Q+kYrh&yPgf zh2;B*`7`qu=EEZSaq>f)I1VZQxcQ{{tobMNujW6@e~Z)usRvTeTjr+6C+XBnIwU{! z;}EAE9OATxL!5STh|@kE`mvSTq229F#)EwHgM1LDKR6`+ZssU+v`D^4Bp<{Jc8HI) zL%eE-)H~j!JWe@Cei-sil2d+~NP7^UVTa^zGv}Bg-enKvNT(i1J*49yU!UU(9f#yw zWQX_?JH(gTA%3nM;uqK<{at2KKTf@n`XKc{%EM6Z2XgAWL8RXhzr_y8e}_pr9^&`d zA25Gq{>FUD{Db*t^L6u0bCb^`^=@f?*xc3J%iP~gn|bqKvtk}*9%)WB+szKMM`U{k zM7AH|r`jRgdxm+YdA50;d7(%-#({dmcwFN2E6i)m>&=_Z+s(Vp`^`s0>Low*LY#7V zD8EupKUbO0nPGdVhy0;F^5c;DD2GFw@_48xjKhnH)6QyhjroT8wz=8NB;Rmzdvix~ z7jsW@Kl30nXO1z;<~Vb@*%aw-zes-}{X4}x-TbooRr4Dn<*1Kx5T{-|)c-BVzwJ1r z{>#l3=B;M#BT4!gvuutNsh|E(Kg6jY5A9Gd9_pXya?d*sDff~c(w`~L_ix7``QEZa zeACY+^+S9sJEWdt-QSsJ)0}6XXr642cDcwbh}1h)WIG^UwL^To9n$V3bDBBBY%}MG zl%sy?4efNLXS?DT_pX#XZT z{kl!0UWngihvdJ{aq^Qdlp~Hq@-d#UYBGM*_mD_FNcv;u6K04%V}HSX*?d)`o*i~g z>VY`rsW;T~y7RwjZqk;tx23tQNV$>1WER4^rRRc8H&6ht$Xa&KTr>UkviUD@MKxoe$!d*dcy}9pcy6A@y8u-fZ4( z-fiA*K4PvkSDAk?|8D-v{IB`GSxGxvm^+%gn0uNTvuGY-e%sqyvmb6wHm94%nX}Bf zX1CdIo+2_1r;Cg~#J_BZ_*d-^|Armn-?Bse+jfXwZikHX_f7UU&VGhr|NhYF>__74 zKgfQAVSoL|`F>*lOr$-?_CWIg!hG0#++=%6XFDO=2iY#j_CU4+hWSX|1-a1F7$hm>+Egzo9wrV)O(jmy^wnEbA0RB zNgNXYp!s2ua=SVm;(OU4zP}w(K5gdBgH75ce??9|Abyw~;@m%z9`2)$RGfOr4@15l zmxGiWutWS*JH*ehL;OrT#Lu=v{5(6vFSJAa5<8?{SD5q%ryr2^A?-rigR}#wA5t&8 z#=PFV*}UDn+q~Zl?LT5)X|59K=W`#;V%rWNS=46xejdnQCU^u@xkLcfYg4>EtIpl)K33-#33~{>c1^`7<+|m%orx-@_vH zLHuz$r2Quyf7WqG{7>dz&3~BxHs3NgJt3(V(hj8j2$Od4(B4jthjwu%_k$MJ1+JX3~c8H&0 zhxnOxNV{j7=b0CZ2-CIogA?1F0WUFZnMK$q(@>>=3`k4)N>l5Wm?DsrPor z?{*xL?|wTZ-y@E%bQ}_2Wj<$yIQ=7?enI*J=?4t$(;gn$dC|VwTw}g(Zjx^c^8@CG z%stKh%!ACFImSHPoNP`vk27bPbIoqE-#o=U-Tbn7zIl;(sd=Tj++1NkXg+HG)_mH0 z-h9b?#eB_NYi`w%jLUZBZsvhzR%CyELgcuC_$TcUZ`dJzgdMVfjy6AKe#V?_eomwu z`;B(O{+sXglg!VXUo`*6{F?c{=KqP*M?UI|g3*zrwITcXhpcnfse*^Dy&BbE-)F10wZ9>O0l(pE?f7_j5bM ze`$yKuk8^3ogGr|@6FZb8uJbFZF9eQN&bV(LqzJMU-T1F-_3g@oalU0%wx@&X49N! zo@kzIo@OpK&oa+3&o?hJA2uI1pEREp=_lJkKOxR`;}B=NafmY>IK*F3JvhW)vqOBX z9pb|}ll&0h+z#<=?2vIA;rLFDL-OrrhxjNvq}*sTG7BR4#)|Y8lCNsgf1G|p`U^up z7r7jyo+WmOFSSF;ooilTa$FMUc!V5>kmC=A<8GPrhvS>=C7tbrVf%hyzsC&Q^MIXx zlAr#;(61-#j5qNx&VRA5HHUR2>6@F|m?O-c%{|T0W^9fztL6lAiaEn_Ff6r);#-M%acdKwV2Ah&JH+SNA%3d4)V#>)@Rxramby%Q*rZ+B+grTG zTwzWyZ!_;UA2c5`SDDY7FPm%3wIc0oGC$#PbA(8{JDYo&qs>^P+zgi=W3QSM%qbzC z*>28rxl_%h=0zgozD)0#Xn&sa<9t5`KdN|Z92I9joGOwJl758J;l9qd)cGL&g`|JZ z`LgC7=GEqb=6rLuxt+;(X|#Ku>Vp@Vmzmd?E6m%>yUhp9$3*(I%6#5@*<53;6=`Ra z6TP3z5$4Y3p5|zg?VPkv!vEVVDHkhFJ!71&>U_KGo#eYg`6zdXd5bwt>GX4g^Yh;y zB;N{`n<-K+{UyF&RN_;d|NU~}Tbt*Z7mBUp$oVdD{0j3Lv*~u0yC3b&|E%MG5;-pV z6z8~r_+mSxe@jK$JI{WR{W9|!lk((WVW&LhZZq!|*`E8|KfW6y|AUId$IMmc^CIP6 zHrF`5*4(5wDL334AyWVGal*f468=-gz z+k@PHLEfWK&tm82eG75kk3in9K>ocQVwn=DG#X+QV(p^qxN<<-Te`XiSOq7dai04&U5T|DNZJghz?nZl&j*8Y{+a>=zTVUvAg>xJAWlixY>8b6`k+Q)^Q8 z8$3q!LB=0aFZ+>lVSlc5eK_qL_$BS4c z)8-52YV$SoO>?uQN&VZHBh6jRQRV?=&Kzsj&57nT^LVpqc9{d_Y3361Z1a3`nR$h| z+`P%W-MrU)$XsbYZN6ZxHeWN}G&lRIx8EFT?qZHI4={7)ShH?UG^d%zn@zLJ957Ea zmzZap=bOvSE6nBQP3G<9z2-yaO7m%v`#aj@z7cZY^n$tC=^QVlL-Nx<9OC51Ax^(> zh%d22{A@eK&$mN-nH}O+*de~$4)L4p5Wn3H@q6tMUu}o@Lw1O-v_t%9J7j!bGq*U~ z=^h`>C-QSXwZ_9vejJj{d4@xr^R1O`=e)xq>6_^|#38`X>H*G7ldjZjxG=dVgw*VVjFvq)tz5slToCH(Y;P>u($VeL#QP>Tf&!ZLhx% z>TiVpKBT{q`rAQ&JL>Pl`rAo=AJN~=`unK9K2qW((y`$X#T${76}tlwkx zcS!3mRXtQZRFCaGDVFtD(O*M<n~LuFCMPH3Hm!ie-rh0r2Z!9Z?gW5(w~NI zPP2dJ(ajTjn|*Vev&VPW7qmA!GwF0X)%RWr^=zY1tCZqWxz@-x;y7C_m$H>cR4U}- zxKM7S)1`7XQVmm1iSp_6f=JczyOde?yGT5%crF)}bJ<3^*vMycjcPWRE0>D3Y&IQL z>$Pk#E@!H7UA3qJ$|S#{D3@7KQn1$6J8xp!oMv}_TP7VPespto>-WUw?2du1=^Z_t z&HfNOqIp99)Sja|=FAo5PwlDn^!N949o^I4*6&h7!$~&Eyhn~9)eX%-uO{`j&+Qo6 zks$%n$Mtm1Zg%(fBw5%A_0DFOHe`I?kv;w6yCN4K25Rj9gPXHA0onfuXt9 zkCAII!x0SKl>TP3b1;mE`pSZkx2ZR2{I%_KSL-;|-DWGjY7C^f0GqTp=d6p8 zahhtYQMua4NBMj;SIVc0ajqKW>t$s;xH`AlKCjx--PhmS*3sSHcgXCS zGZp7#(=h56*T3YK+Ur$da|k`=uUtBnjcdiYq8>*1ao{pT&$mwm2$mU zu0_RashG}J;y5bARb?z|c8n_dO0`;4YgNsoQ7NY}tHx2BspZO9O{Z05td=U-Ok6G( z)1^!)Q^_=9&E1t^Tqx;usYg0OqI@P(S8p=KOu0~~7vf0i^huLttdTHKgTuubF;f}bsaKi z=1hg^U9+0AXE$db-R$cb(5d?Qq=HuCF?BV1d%7CB#7&ytUh8QeV7ApX(oFi$%JI(D zTETMv5zV%~ep;E>rbWYe^?y#Y_w(;sBFes7uUkR7*sWH3+xmNYX|(WeSzEy=3;X(; zT?bZsIy;-~{T;eW9XQ@)XLU9Y+@Pjnt0uNIUE=4|o_B0#Ya5facWz^=0J})#rnhx= z%+|%Vd(PC}wv(E@eXYS+mk_kt*=*}wck$$c9Fo*G7AsTd_Vx_Snaj_~ZT)j;U)3m4 zYt3eFv%9@Ho3tc8N0-`Z-5u>cvvnb#)7{oT(A!Kdz#B%%TUEx%TK2so^Sgu(t~L8~ z(VpElc!iHrH685bTp`Y-OS&BEd~D>)obHusrl2#cR4C=+dLbR9G=miDnY>Q1k}gU0 zd_gmiF4OsXu~>>Lm0YD(D(g}nZRAoMMXimlwe`2Lxq};jbW_J6`*m)|{AB8hQuRi$ zn2C#}42@K3nL?>p(sinwFKSL~F)wrRnLZ+I_ zMw&pg*9V3LXs%HzH>w$?+FZV*aHGtsA0LUNf&25v4}9QpnbF=~!32MzL1TW~!x{8jG`~Y%!~h+LxL^ zVqMF1aZRTSHC;(-m7EqHQ6XK38p=~GYKS+oMY)Y7=A%?49oN#ilA6;@RV-(+)mljx z^mImtqNeDK8r3M5qEuP`zf#bIQmAG!HC(nTWDmmai&zP=maRFH5YJF-IXfR$iu%7OZbT`q^0KgTrC`FCbx>V-kzR*|Mc}cnbJ}lUi{LZRrQljV8xuQcky!fy83ku$VKlG zjB+`m-u%9GRV4AUd)zuVO9f>;LU(J;*<4qS)WuqXqnmBBCv|r&TsNmx+cbwO<;a1~ z&NfYJ`Z>PZ(>1@XH`uxgOUi+PN)If890+Z%9yS0p%($S?GU2T0UNU`vn9)#bT zrrPHvt%P}%DrWUHdrzX?bzLLVh8Ut2}L9UGkFmE*9s zzPVGH{p6)9;<}L`7+P`Sl-aYGD_Zw9O6Hn}d%x-sX!P_Bbal2Rhx>aZQA+u`2133; zA*G^0n4`(Ldv;REP-n}!+GaPCmKz<-&e`L&5Ee;0^6Ldo;;2!Fn+y7DJp(!nj?u~|@#I(Q?!8+zXx}yGw6!lhOcUo^9Sgb; z2;9@Qws%%rr*>#>Z*z_YzE@8Yq)CAzwKFg+@H={DAJI0eDM_}kyT7+b!p$a^s+Lp- zboO^C`#{(Hc^%yvLfy1$F*Z?WQm^#jLkcrzp4{6uKS~`npiVS<)tLplk8LfAIgEQ0 znW)=Z`Zh#cTVmH3wDFWit#)gTNr|Z^>j>qf?QZr(sVQ^Y=EHh>r`9Oi{3$xt^_Vb9 zRj2HA@FB&SGdp{9vnJQou-Vjtkw;doCKTgH>KW+QuVe^Vk8X)|Q9g zzOHFZy*$?>*veMv>D8uJ+w}BeK;@I*pfZx|zGN7aUxzhk^)^ptth#2-Y;<(1=t7wv zvh`J(C$REw-ScPk)Ic{pIW0hPm3my)gUUvvRZK+-5KYgz*DU4IxmrG*Nwv@I8>c(+ zD5G1$f*xn)^h;9~H&oe5xeygp7fjJJ^W_=otA{B_V`DVcUpI!ZU=ZQy{^pqG0KLb3DZ$j zEoqzMwC?4r745>T#xvG7rM0Zp(mIY~*8M51uCz4D=8MH#re3M*fkP>m&sD0mIFnEF zY&u&gWVJ6gvfq@r!R*PQ(Rw~z%n$A*{nCm_3(lw!>mddYV=|d+ga6ZxDduX~dM1<3 z6^eySDwo!Jv#bY1T6xuqS@oXvoH|s?<+Ayx80q1G?#|aWQ_Q65)k+~>DCqt~%Q5x4 ztfRSB(Id1RER3YQax&<%X$h_DeK8fLC<2+ zg+f|Sz3N467a8@KOPjA78`V>5WXrj-ZdVv&-9c4#4^h?YkFqkd>yPYdT~lhwfwImD z)oN8Igtj+RZ|L?wUDw0BYPzD8q@HFqN_q&Qr(Q`VM<=C)!8M_Nj(d+M5K8J`6(#nu zPVjGKA9B;qEs|7%uYG?<#+lBGtG_}sx)l$EQtV;AuLX%MI zR$d7cnhRUA(d4#{Udq&xl(yc5GPeI+C-!7>-Xn=pp5~K$gF?!>IX+1o>S4}LTHbJO zcXb=A1u}zkd@|>+a}CDeoS)SC&e=VwbHnJ6Sv<3D7EkIJGHEBp*9){}adkn{0JC-` znQEA|lhUo3r!{dWg@^i(Sv{ktaqS(NtQ%UC9@8zLEgj}BP|4C&kv+yM;foSoh0l|hm?D9JKG z{p)0cZXVq+YnI+9w2q(F)=lo|>)@_oNS*6K>n$mgajWz!7~g$D4+pr{7asV5IdgRQ zHfQs=rP-TQH|3o{uSAj}tu;pIu2v)J4Ci-Xk=a!b8oN}?yw+?rO}X`YDHoS(nY5lp)b+kY8Q*&yr^Jj_dwP3TPUnkN zExgioJ!;hRq;g!;%W*wZEAr?m7jLWZO|ME9FXBcvj*w z4~81)?8a)z#VI`{Di`$jOpWWs8t?R~dT6K@1qzk5me4@zHAyK>6-rtOX)Vww>$zf_ zDb%$1$X5&6?pnE_*GScDqgc>8n2l_DoYLzp9R-azuNMw_e^RNZGqrLqpRMWXq`p$n zPRQgk)v{Wv#&NN(_Y7GLYNe6WL&HX{u4hR#ty%S^u9#Lzy%MMDtWfkKtdh;8({)xB zdX=Y#U>bvbPDg`|xvJK1ajF{WFwx4loX?kXTF7XfRnjYxMp{o)Rj!)Xqb03|G_HEo z#<5h4wH(nxxm+z&%H>+2P^ni+B`tu8ddj34lu?VCSWlYt0z>ayGUZ4Ix?anbwFuM8 zm4(ckqmH^r4{{4Sob^&p1Fc82 zdNG-CUe;V1uF;oVt0qybjXr zM$RWCGV_mb*CU^fPHyp&&a4+`tqoe^o8;+prew_5#mJ`_a(2(j&M+vtSJCrSy~oaM ztTRf~s$aLCxDiuA}*DF;$#V_bx zW;s*Ps|pQ)9_2T5Q$dZohU)=uwXSFLv0e{mYnfQrwW@Bs%X)&WXTBOrJ$-K7@e1#K z*^M`rn9HV)>FvYrXvWwYF!#hGlH=ka77Zwl8YN9eJvJO3wpJn+x4_w!!e+>e5J08)3fWYoBH`)*UjV**zh8l91iamUw3iT zvEloRtgmvdI|_wcm%b28ZUc0Lw@%IE0M3SsUv`6w9~sxX_~`;Nbgi2my!eF%xcDX8 zkzCV~zK7q_fmF!Pu1P_KxgaGltS*Be&x#fQeAI( zYq^Y0K3&fAzA3FsPCe4s6%Ad6#G;NQD}Ww zq*aMO-Ovv=qF?WQnaT}j)33S~XLU}RyjG(cW!`|6V=XHxT7PJ1kk-XfuXG2Ctov0M zj1_aOIift!-!nxkd_9kw*E~i~N=v!crS09~?x%8Wq@U}~BMs<#okzJLH~Bdpj8^CJ z+_;(Z$&mBmpKD#ewZZS0@=0IssMoL$J?gz}tvTD<L^&<4D|&IR z&jT`==qmbfK%ZLaOQDSn^+pq8b@(0c=Jfr+Mrzw=Vm_}2lX{@LK%W-r)-9v+U0+P; z?xLWFje6&=OLj(cQluw^t#9sfkv_oEY_2I=Z(>UY-GJy>cDA4^M6B=dbV;x4E}^2O zj6N62rz+K4US9-j^3mLr)eB`k{MM{j*Y^xMugY2&@qV|cru9}gA8UE752wodx=72W ztWLp#*5X=t>oTBwh)i7C*mf#W1CzWXP2M0Yl#kAH@Abu7Ss$5|bs5U)Z9rM&bQMa~Gy2}6pjYZVqSaXIaj?Ez z;kmZf6%~CtQEI)$&=9feYaQqM&Y5?keA&~S&E0$64~e>)$LK9mxNPKGR}J3&tRG!B z|LJsSO?3IxIDP-414{2A)T4Kt+4;fwDrqN~my+7UZ~FG`j|9?%R_EU3k$_U(`=S*U zbO>@=r=ihAr!|f4{mQzt)MqOdeOc1b$kxhy=U33P_(~-k>oW@7jO#XC55_g~l%lAt z2k^Sa>;Lr7I+NL0b4m>JNXCY`lGbN8y2Z^$TJcpI+7mhr^ofI3%Ed_Ebz}>v zOio{8>cbDc9a4)$eGj2t)f){RJ9;wCf=~xUF1N9UmDnig<0UP)%6hzz)x=ri(L_3< zyNg;WUn-{ydI435^MzDS&-}G2E9r|1t-my}YN^C0m0D*tvbwp==!*@#5mCQ%$m>fA zZuRxzE1k>fae6w^f>MX9?#z`v(rU6;Na;yLRo_D8^pq#ovMkoe8#=z#p<+$h_1$Gg zFE;cEN*EmdDpd6U$PkD~WOS|*pY#xA7vf}^DSHhqbuZ>sbaYB{Zw^Zzk+rp;~TxEj_k z>gw#Bs#{Yf%S+rHFJn7NcYkromKN##^bTRFuynch18Rmg!uYTRC)<^kVPD;o$-Pu2@j;)WrJm+W?27S9nITD}+w} zTpmI6Nqlt}3K{Tl>*UknnScAyxA!CB^B)mkaM0!LYy7HM6Fz6T!D~2tja%7kRxFs` zFvU@Et)gMv{nlUpHo#s+zsC^`kD?KSBlFZVOh_X+w=%cUzgU5x0T14=Zh2*%)U037 zb#d*(aqW=tnt}D;0KaU!UGcLXVE*D;Tj&d_V@7JeJ-yzEKV<_MACQm(I_>24PVmlc?uX`|H>1-p#mr; z2-|C_6L3ctriiu zUhXsGX=z9A{B0y}MpP@#d$G31osXAt_=0JgsxiS}3c=XRdhBq>5FkC8`9<0fdJ=t_ zCxB6tIVpVO>D^dDur{#k`x~x{90|a(N{isy$l*C8?=%15!pTyS_3SHJaewbQ4z_eF zW=G;SL@FkDKj$`Y)UwR%g+9&e#{x8BCOM>?_@J>rvY^Kq5^aOQ4Mse2Uokh}`@vU_ji3E?j83m{_Gc4f ze~(NIh+^cs#S?%%5cEgf1F%)f9fHrBf1^W=B{0))EMbU`0M45)_W1}IC-?T5qlbLr zsH02+<u4I}F7;b8du0EbTe8kpJ8YOyd4d0_l(F+E^gzy!u>T8w<&^hKHohYHN( zXh+(UV30Y)q2=H?exa;-+58{8-lsD#!C~BIQX&tXho|Kmf5k}5XO41>=jo7_i>D~Z zXFyUjP71MRIDCUo_8WRC6Y5)*6*#icj?@V~n|&j^8F)~9Mp=^WAIj`cl^K*|upbTw z3{7|5azE$a_Fa&bK2>m4$$#5SOI?8lp5l1t++2PY@P z!Rc^t{m2d`-txo22OJgmao5HpW;ht(!MEWhjDF*DN27gt$cKP-x&N9Mhtme1|4ZzS zY<;}Jd3_IEg1*C3*nJbWrrv7kj)d`9%Nv8WRb7Q_{XiuNZEa%^9ZX3G|`iD;6~a^d@YRw8jhe z1!)QN5c>1s0jFf1nR^SHg(fq000OoPw0Jlh+f3GuPv z9gM~J zgk7r_Zx{(tZTMJOwhvg^^6fH8j2OLia7n5=jfAlp!_)z0g4gIQ&qoZ_c%?CU@N9oT@`bdx_hV4lH5irf~*z zMTSZ|+St9_JJ9lnd0*SWa6f~S0T<01Mh;Zq`o=5a4QQ+4S9Bi6P!8F#L&xffY3l$5 z3yFNJ&rnoZ4Y7)6`au2QFd<_kBM^g*hCoi5@i0ukuQ1(d+k-cRPRT+?zU+*grY^n2 z#{LFIChM2<88$iSCw#E9A!iKKU8Pe!XQ2 z|5}Grp3|c_+JY_Wkda235y!o-F3`v1nn)|7L9(I3&~rE%9F1_uepr5;4#P1*8zhtE z;$##f&ZzE4qX9!DURKP*&kiv_pe^XA_5p)GOGWKka1w;)dA5&oh?AMrF}?d&ykqvy zpS@*wLt7$fYQG)4c+HF2H^plo_vR~kUju8kSHse-u2$p48fVRiM6Y49aLkvRAuGfe zp8dRlqK3D9BG)j7%~UQFaqewz98e_!5akj_RdI=s)9*NHJzZqTxa5J7xl%fDB}iQ7 ztL39kIZoG!wSf@FXnC*mQJX}sKvC5?=gV1;YgqJ;v+1{#GbQOv&zTs|;n)s%z0c>x zngQ2N6cWxDu~z3m%pv*-Rx(C$mQNV5G=Q^<^ol`|ab?JPDU_QL=Wv)zdA-}oY$+2d z(Y0Q2PzQ^(Rw1l3SfOCOV1WB1}9Sgks_+17}qi?C-@AY5=+8$v5>H zg5X5wC!eYi2VnBTNsw6OSVhApj9DHUm~sA8lISB&AtL1#qnbI%dri7n$p+ixNswq9 zdtKwEm1rDB`5jO)wu|2GH$`ioB$$tGgd+TJ+O6%JJxEuWb zU{7P3rp(uzU44sX^!0NrX-pt!wrKXOFqsosLJx48))x=Yp-dBK2Mom=9Ag}P{p%~a zJMh*~3J3V$q8xJWj`xn^$s61=n9dKGI#A_VP;iC`-&Zj*DZkQ2C#SdZ$);!~PtJ5< zV5UQ`Im4b7%HY9(En|#PXvVBy7-ZQ%WUaZ!TK$=JJF&hop$uQYJQ&FM#ThCrA{c9# zLpcoo>r0Gq*jky5Us3Lep8D#5bvmLLnK=uljW3ovY(}C5u`D^nD##j)lfA4?2EU=< z;1WP>@O5Rteua+ygjyh>QU;G4oy z6;0r`H*E6awZm3BCJ_dF4)8J^F%~KID8j)51$O zg_$w&s9|na^Dy}^3F#BY9EI=9E51q0lI+H_vo&HzmQ@IhEFV#*Iey2)jCl;@cSJ+W z6pHx^GZe}@F2kb(`>0}PY5%}_P7Sk_i}w#c*3UToi_r=V7~l8>my=^XXK$Jjk>^@EeAtm#8f|B*`8F?E5Gr zuMQ45xyNx*?eStdc*cp=x9FrOFsxH`5L2cyv!fj1rhEarMwo-M!}_H;a;VS}=ch;B zBQj8}S&r&F@4O>jj*gElr7?T0P0SA$$Ad);s6go^A`BN#`pJ%ytrb&=nevNoy?^)# zYhhC%k;jI9+q*|V^#Bdv_nPvDJp+e&pUxH^Pu^P-6i9orkE8e=T@!b$-k{S`mMzL+ldR7 zvl~B%lh_&EmAJ4;UW(;;uj5+1dHN~q@$lesaBzBce05C1 zKD0|-!tclYf2IHIuV3EJ?lwxN7kX(Au)pNUn|HO*<)t-43spVyZ`yr%C(Ms`6(|bHe5Acs_M%O6qla_#{W? z^p5Yrzw%#(9H#h+Amu(@XGouJfkZo*EnKW6gt65|_Jns@3neZ#nD3V>C+BpMw_S%s zC53g@Z%5~}@H~qnEuk&}EW+`E@Cu2R)58DGxbuFzPLu+rJT8n3F6CtWJyk^s>p*`E zhLisw#1EbKzpdj(ES$y95MosRam;oLN#BP}7$M#DL+g%X#ypObT1 zc*JbiAyG+Tz5N`W)522|M_NJ{Z#YNhbixNR)qMQjF|^oUgTMZ^g8sHv`MYkFzXx`Z z~IR_S(f*yUK;f* zzl~)B9}+z+IR}f01FBd6qA=1FN&xT1^SdNztxz0Hfexn790BXdjZ@@hH(X5AmR_d= zzKG!(z{=8CG?s^*;XwT_9$#mdrj@)&ShZ$G>_|G!KS}wjwRFPhl)lC6K_*jH z_D30h=9uz2h4bOW+-IsG7Zi?ITUrlr@Bq@@yb{73jWfzq_VKT$4p>_)GXvipne_E> zc6oh{fBa@^DheI!_wnOcK5KvQ9rG2h#-A-ghy4RP%a;t;Ik3RQ$*=|{fXmr*fi$ZG z?|tPpA9+&PbA6RO{&uPtY|boJ9NY78&NkJd(A?BwIo)Vu=(qz*`1~p8MHt zFyM|E@DWD|6j|wbV&uc=)Dx0vV0&STGWx{#G#J8KO)r zN(mKcb+{UFlI>VhBuSF;BPBv`jAV8UU-#b;wu4h6P| z909z;q`YDjsO(}oXJ(9vhVOhIRWe!Xgvgxc1F=(-MmU>~AFKCZMRj#StvZ$<5Bhtp+E?Y2asSC5DZd1@}K zYQ{{yUw&)jRL^||uq!V?m8?Mf3JG3T8s=tvxqWol9;kw^mdp9gcon=}8w15!fxcp9 zQ&L~6o!g8|Bj%~k%hl8H`)nOqJ4n^K@12$`yQ#{no~lu%@Ha8yG2N-j)Iy0%6U6v- zQ>t3QxeH$2Pp8hI9Qq)FJpfVKpG|P}5|o4JpG8&xjE2~wE%(V-VlF=-Ik@;&lXb_RGjHv>gSO8UB4&G^_U+*#4?g# zY4Vkb-d#$Kwis&$6aLh$N!78}pVPu0qyEC8UXhY}1Yb_c_sh>%u{QS)Nyz?WO3>HD z9>C@HW@A{o4`#I6tSK|*MS#X5b_qo?6^maP#qsA5v)qNej_3DG-2zmb094CM2K7LQ z+CcEkdyEle++h_-z1K8y0%I=3`tIowzcdnlO!FMwPf!@9I2{2vyd{c-5~>C3xyz@8 zS1+f9SLCiB1R%=Zlye^wYGsd9AbTd+dTjnrWV1131YQ63%W!4wvs%BHcm*aV=fI(3 zhxl=EiusvvuH_^OX1R<{N%7}^pc?d2t`hgJ-M@dTd#``7&XdPb1q8N*LTivQn=8+JEi>(C#uhDCSFXR?lN8>~A>C6}8= z`!cmDSVK4~MffwT2dgNJfz(K{OlL^7%W1FqboE5j%%>Tv-bz5W7FN6`Q*B?SJ?^KP zzn`K!F~Csv^}}rqUag*vrkfh041caC>1-vEXcZ{xrJ8kxwuA!b@3@J{vo<=mLgb~=PFSSU zgHnzHu{)CRlKq}oYumzBfuh>FB}vF>;cdl|5jFs6DVh=Du-BS$=Ctq@zAfQ%+UOZD z@qC0fZ)Btu(MDP^e8>3_uTt8Ik*7p1CZ&ZR@nzAJ6}5>G4_&!ts6bKwy`9~Dv3l9| ze*WfKNO7juQn58LOIEPoALfa!90%?aTIFbBSnbGVw94V0!c~R_LNY@INv%=CqH`4g zzuVkY0f^#G0<6?h&Kef|9Rt&Jg*9k@c4v`zH8e>*9&fb1OSyi|C0Sua`k}0!b4eD1 zL@qof4V$}9s+UH0>tn#}ulA4_Z#QU#kd&28k(9|(!YP7Y#^$u}t}RL>O<5WUaWDg9 zT1pD5RanZAlEPjRP0to>iB!W@+KrT-+YPTK7uUd;4Bo}u0vw+$vX~}HTzgw$1I#i* zfkbm7VagkTDE8$BMqg$0Y%Fcw46US`4Omg<(>`L~HIuZd{RJ}V6(w_7 zeSGUT8T&FtZRNxEpDjwdDTEldX7fl=B}vC{vQ6A7&_LW)oIXRQrwBkYw7Lj{4J$Rm z>dQ*7!J(yLAjIL5bfE0Do9ADk#O2*AP~vK##1&I_izfD6H06tFx+mW*TBE#1#iFFZ zHp&RBY8BE0E8er4|KMAhT0DTuiBO`OH7=2J+VG~6XN=^#(w;Hm@qUsq;%Q>U^Ip+y zYnBE=9HwJp5=@n-Kv6^S!jvH^8g?OWqDs6wiB_^A0rurGdv}|l95zX1*#U?m!(=Km zB@OE;X(j}eRNbV%LJr|+QY;iTT0J)wN)qy6@ny06wkY`PX_Oz}li*WBb}F zj0@~09Ic+!?g@6P(Ri^p4FZs*&sb^SXKoqJ81k3j3}XX810#v2({FB$vFa3PX#QWr zoByPe&lcKIGp3YOZcY)PDBf4ZCPqBkCa#pwinpJlJgCK(f~81DsV$VaGI_+XQ8Juxi z<1_DPV&PKtOYC?|w@MAUgGImR7zN{6zT_}dU`aG9ot5XQv-#8~00*&zj&VEm(myN+ zI_IEXbp?9e(rq&hrBqk!#YqqsgROLm4S(_FXN1%$C#&sH&xPdZnq( z$9Q8bH)&*4b0_@4cl;3q=t%7 zr{En=CK|Mou^kIGy{z@(2tedmJ$Jm$z#gwPic2$OUdgN~PeXKum9>V=HZ~c|)>l(@ z_c0J+hcP!7qStQZ?vlFiKAYjGKIdE^Ff&NP3Us!xvcG4~7kUI?>75f>CDt4^9+sOd z=KXZ>d2>$-+?tix8molMb7C1p=_qd(3qZ)J$B=XSW8}8_9qu^{yn#$Mhs!ta#ZP(Ntoe z;~FQ~r1zi*9kPL(iZZ4#5uf>Hf6O$~rLaF^8h`&ellR} z`9b+Nz+SL_C6+i|CvVBY^<;WCCafPX&{t1qcL!*BD|8B$SIVSv(;kx|SUn~=EtI(A zXO_u1Exc66Pxl<`WVbid+c@WACE~SY(?LmLFZ_lS#|Pj8Yvw_}W3P2Q_YI6Bql1*R zckFrpkLjw#+k+nQanc)eEvEn7&T{Q8G9Zbj;in>V+HBL40ee?6TBkQ~v%Y1)n%+VN zdAvIHShyKUDMG_asK(s4^Ep&Q9XrC-+@d)aZFV-C&y0hm1WU9#*HIbVAD7B^ zJ;|w5Bb?WAGf9_mD78UBoQ%IrFKK?%6>%#szOxCE>6Jmy9AvSVvsi#-$mF$Nw~)$r zLif4%RTXS%@g_z*f8lD|U}+%4u|IxlFx0T;|>skRperSu{ICyJi!<(WaQtuW+F@Mh!s@d2h^+E>Yg> zx+a{EkmcrZ-Dh;Q6u+O7nAB9E({1CKswc5+$RV3=Iyr1LY+}U2LZ2RyoV=N9=#`Be zKcc7nXI#)J3GI9xywwS;|==XRebsZ$5ot?ykVP#<>I_T?VSo$)j7E;8EWKlNfE)>QpJ?8loy)>nL zr8WJ!qCOd?`W>$W)OT5dqDuSq#kJNyII%8Gu#LfTjeE4MvAZ2?EDD@oqHyb?fZX~8 z!Y=joiFJl3SNG!?L;8lmmpZ;~6hfN4h z_i1(o=`V=+m>nB*D#NK2PM1xb_)eHsXLL#JJ^NQkFRe5EkUUWe+Ka@B+!oV&{}xP;Ux}x7($iXuMzgHF%~=onUzq2j5hvW(*hE0w0e5nxIgFY zb~u+OCEkvgGjD_4ROS7cxb%C?A0CAK|HRk9e6)xE=49}Q3#J?U&Q`Z*gUKM0029Jf zd10(QNFA^1wQ1n0rD)))m1p3pg=XOLvM?ij37DZ+@nu9>yg7J1TYExvW!#C{=CtsK z53Yd7Y-hufaa}I;Jm*g+s{D#iTK#I79yb7ux9cT`-{#XbI_Bf_e_|0odkaUa#Gcdd zbq?3C;xNyQ;3<%3XkA}tORgZ3Wg>XG*wk6`Dg$rlZ@fRtkVs`w(I8^0Gpt6Hfw#KiVd|C4|uwVe7XbH8JAR+!*8l zM8QA6iqUV{HdFFa=x+GOCl_1t&>P)raXR;WR21e1WV^ zetOVkDwkWxocoAF1XK2wSz$RM=^#b2o5zam8rC(ePBG)8C(V3d-N0eLdCt?S4r8VR zs!IT(oJ_}S78`}yK!`)jokA{-zvIcjzFgb&bM!cu@_*sf*d?W{L-&m9 zlGD7qiyW4azEYFBQdem5ALtTlUw|HJ*~01)vmLKXv9YF$*7`f$4`{8_<;XK*Jmh)@ zqjt$YFty?2&t^hb5b9^%X6q7dR|6-1{N%dCbKi#R64WVn63s}H-g!6c@nF40=VL!p@yMyGqa6eJEqxBGprC@s{EI8XsKR? z_w1W&AH#cD!^LOTuw6-Xu5Ayxo^QLEm>$Cj+(WJA;2vr<8~0J!Bk7_QVxo)vvmfnK zd6zv*!9ApG;q8(>tY%%L`dKgG*!IM9g=04p(W11$VICP>DtmXf)U{(Zxb}59Wbc9H z=ZqRqnYpz&(v=d+pPd}O$FY+<{K}4iKELC<^V}_@tfY2|VM7Kd7j&D&+8qtMQm%b~ z`yo#?j?^D;YOCHB@Teu#@YyX{aR#(w*_%JY@xwCdk(NE;FVmT!AF)hs@`$|d z){mC(LNqw`(Py$a>>%3Qyn}||7#(}$azf-sWEm!P4&z5WHqYC_@a*nKd^j!gmUXvp zPd%i$Tw+V;rr}WC_OB*#n~-}{vN61-bKo- zo%FPx%+bDOSFDGNcb>bNy_X)A(oWsV=e+v-Jb+A>r*zgIaz(HG5m!9akC@UpVJDS$ zRVr6JPaF2|KN4E{6+HoCQ1?00tLPH6P)be=J9+HO*iAK))lM?jE;+S#OHK-CGPv~6 zlipXlNSCL40zcxi7}?#-(aZ{=-6fZHI%7N$HJg^ezP^gc;@wR+EK8*9<->srr>z z0&HuHv1jGb0vz7|ibGq4$R)cR&Ix(q-Hgx=n2w(uytVpDv`(|R`OZ^@qmAvI=mh`Z zNdMmHpJ?*uUEgPh0*OYfC(EW^!5nS({==`FkOj*RQ@>sgr;VnWYmb4}A<<09*%X{i zYHb`lXgEeFKjC|F($C$nm(K$JLavIU2U6{&<0)MVukwxn27KgfKC+0}&EXq&y)6DZ zx>?Cmkmgdl2{`oymTX_;XrSu8pN{YJoBcMGzG4ZfU$!`iXGMa&mk0fxEe!3}RwZ@F zV!7Dc(tnL)ujcV_{&a=&U3xKqN3nebxXQ!#zQc~L(DJh1%d8T{Hhj%OC3SG)u+*4xr2`V*)9Hs|*vs9tv!X#7c zAHvxSakr+xVU{u)U)1?B%5S7kt|R!;B9 ze;&u<;oSICZ_`j2_ENQ^uNowpmR__kQCdu>TwjzDiH(Ys#Z%S4HKxqTR#iYWhBDQl<;ncQmocM-py7Ec1IJ;Qm zWwh#2Bw0FFm$Em<^|_KP8F@sj(AG=RKv$u~P3)!nrN6M0yavrkJ)e#j=qXzTauSEo z$?Z(-QIpu2$FF5B$%$E#(^$aRU6s*6ic?kq(+?TjwR9qFFt!AjdgtY+9 zv%5rEDA+}!s`=c}HX*DnTS2eA{rkdUJH_&}f?ij7dMSI`)%@wxlJ|Nz*MFTClBzdd ztbh~@tUz#}N3u3kU{8jy5#b8C%kA^{%gmB$lQKQpY#&3-~nqU(VG)HSO#f@jpQ=7GoBPtPXZrm7vz6p@T^9)$+P}Kt=s^TFA zLL9tDJ8~LGadnX5q~$T4+ZITJxexFB9<76eR#o+KRF8rk&6iugYMjYShU~7c>}*nyn;09d z(jwjU8Qn zK1EoLT862tNN%B&g`KtKs^Tc1Q8lnu)B=i%QarwWD&!iz9_J11XJK?26y)=Q{Iet_ zv_N`!1*!vqaS6G?fVpa21tc6i%obt%ELk7M-+Qnw!*(OnEL?JISe0OKvAMZmRXzEE z5o;_PNfw2Ay#7O{-3y|%Y46`{IwUQ}-sP(B>RGXhKe7mYYSUC~Qr32{DErS?Y=gFx z=tF&hRmzVdrr{0wZTz&h;G<@RELl~$d2w(Mgil~?UC`oHS8xeADmMxAqFX`~R`hQr zD=R9j9X9M}SaNxsTUdHZwk})``7AHweD6u#BZwW7=|{qu`-D0e>1>7KI4k0$M|ras zlaI-mzih(mx%%+dR3nA~^khskva+Qdz82&#c{?IOqKlj1&K`{gl&bNb4@JLL@C0{0 z()PwDQ?0B8+S@H49oM#P&M-+~jv-RSaARro@s!H(!psH*@sujSQ+iu zK+W66iI0c5lhUGUsERe5Uqp>Vi41<_f4}8(joby|e5u+IFFZ+>so4_NDA=AOhXz># z_E=RjaRf}EX#o-_7N`u@OrLbmO<=uGVgPeF5t1V?D$^Egt`pj0)^KhHOnr4LBv8~? zJXqcWnT9l6O~(Z#)sE=?1)==Dtx#}k=r#^rsl);8yMqBnp;}=SVglo zmvQ2gMWBthuGxbZe|!TLJ-k_qT{KOQEQ6=kH%k_+VbC0NZLINZd0ucTarDIgOcUi5 zmcgRntr_g0n|O&RD{4EE)6BG!sGO>Llf8)%k4|Vcd77B~_=QKg7-+Q7pP$~U-$aS4 zJ_}`M`kFa@K*l7q;ABqW&v%v=j8%gfq&gbs{iKBxpN(WTF3BmVontpORU`Sym$Gwh zIt0!C^35u&Dn7nqt3siv*>=&CPqF`++)a#lY~pL8CAJ4GZhBWsViThh=|$AARA=j(9Kg+;Q?f0%x-63J3{!|I zWG7KM59~}_Gea9E+p{eYbCI0d$mbEhzn^ZF-BdG9 z6#2g0qa{Rz)0P)INcoAFDQ|g1{Je8mO(sIs0fNUxN>gqPi+;&r-lE|3%J37G zpVfEDn$Y7&S2BN8^G*hPh7>c}x+sNvu{WDePs&S%NE*(g(?&lk-~i zH2+8${?c@gjq7%*P5bHUj4zo3xz45!QlsQg*bZl#t7Q?)qH4M>0xHnz{dKxxGcVOV z1EN^_on?&5Zeq06@$GaeZ7sNz&&~we?NEVM<{tFk%+ErbO(B>~M+qpEqPG+{m10I3 zJWm6uGCD{tOtgj=Z-OtX_-?ADa^RzmEj;bD$GKBlNCw{vlsA?_HJF?k26@!csjKP0 zlmJhv#6SK1LCw;RRB;`oIREP7>>$NCl%2VcyO*FG7woQ#=Y3iFDU96rc**E_lzqgm zto3k9)CaT-A(k8xDp(r`tAkmwbvIJ*xM4d`M^o-;Ol0No7Z}_XC~7*9crsGxY9AwV zH3K6r76a7k0Vua^>1yk2@j38f>cb~Tyx_Z@XR(rGJKs@AfkX?PBIr%b-fH=6?H{>u z{4rauzt|^hpgGdWv8kZ=9;QaKCV23)Dt?^OE;3j?JWkL+3=~%ddVG!w;Sa->j#;82 z3;W?UN?hk#0(dsj65fLr_o=?ac@KXt0W-kF>}Bx?#|w^zqgh0a8VHqOgHDhOBw7`i zAUN7Mc_GnCT5)1$vXjVWmWnFiWD}WlTEcl7yqzFbpcO3xau9utQWw1*M`%aux2OX7 z44QpqHQZx{tjUj6R@s;28C7a+ci0-ZDM{6gk!#Zfe^>ux1gn@uyR?TwOyGAhAx)P_@P`u27lUrWwnH!ATU}GX@3JP?O97Zojj_-eq$6jlydADoy|n_x_SC{_l4@_Wv`MW3 z#v5#5%PnPoj+XL}MV4$ly{1&d(rGt2y{B(~bHDdwlzn1Xcmy6G{ z%@#;?E|AgaO@)+!L}`)|#8l6i!ljhBDkVitHYI~3-{$n7<^2u|p?G#@c+Cy_%Lhwe z;!l#2qx%(x*@rO)-IL&bqOp^d)Ra`kq(WAd3S?EA2=d{?H15F>tr2WZYSA-XU=2&^ z=q}CL{MzFu_GrSo{J>3XeQG3MDJ z+UX;=Y3EXYKt5olX?!vZMOk?>P@QKuXXiv()fv9;soFoHYdbjv`CWjKuL4zVQ=@}e zAkm~(1}OkA8>)-JR>Brf!HJL@wZGByWJPc3HAKJ=|WKlothy@ z`goP0a7$v}Q5zav{Gu0~dr;<27QPJH$%PNP2g*h-1J@3#{2Es6{AfBkkfhPfBN!ve@~>jIdXwc#jz&4t0eNR|lCn zEv8t`E_v3I6lg3X`ONH^EuS314r`U>T_m%tQKc_bD2Z#KJP51~)l__{OR=$31PSOR zC0nVdje&A1;DAZW=)yt*iFf$W9ZX2b3D6Sa@$)bSs$Lana&gU47JES{ zExh#nAOs-F<+7p#Ac}b$M5Y3r&!(TIDr65si+`JcUho)RYD!ALUj>_z!X7@b?;Gp| zGFsXeF60`)!pLLld3I$;wu&OJfymL0oNNQVCtLUI7I_g@Oubu!R*}4eq*|Ce*Sedf z51*BoQl{;(#S<4ulI=K}w$_5)#E3_mE`?qoeeW`NyjRF&KlftavP?qT1goFau;gha zf&KIG{#YTyisU}LZA|OX0L7{YD1U4`CY;J>(L*l?GlJOM~3b`@03`@mVn zTR0muDrr_ZI?bbwyG%I}7LC|XX*_&yzG#9D)gRAB8Wa=`VhO>*jMzBsXD&PgLdAXY zm#fAiDM=}5#o3XDisq*v62iUB6TqI8i!jseq>hy$r)6a_bZ|Q4- zb|~zE8PW-Sg6U>(y~1@v35nz`mDGzI#*HJRQc_%h+D*;In3BR4q^E>4XG0F66j~Fr zx4j9f_$}7dWID9#Ejf1XwdrEh38_+$8M#X-6)3UVo2yWI|1DI$9@ItProe@;R=%?T zy<9#N*##0!Mvp=(kZ61n9xkvjv`{t$mx5fiDBLwHf$y|aSI8A8sytW7?9{G$}7M1K>EN1m}uxMXk?%a|gLr=+DAUClUJ|7{l{7ld8 zWa~0N#^XiF`a=elCu%9jmVrKl!GAI|Br)buK))h#0JZM3u_ ziS9vPGNfxgYx#Dwrz7%O!{)N$B08w1#0skl+gw+qRbbY|E0i)E*p)|$mS(-Q0*`Ie zz$jwOBcQPbkloY*aqM9tE!%Orbwt7?!aVAur~;jD*Y_2)d@KMv$py&sK*9Xqzg}<^ zeGa!cIK~f}1K(D}Y^?=)sXll4=7;>4(yEix?CC0F^xm2n@hED@-)x|)YqkzjoJZ45 z%~OH0Oz13~Y1QnLhYE_KhJd&#AvpX9D=^i*cNVK zHDo6Sb71B~)MNrT>zNHJZX2K8aflt1ZOWu{BFk!$Ff^bbJzK)~es==Y5;o~tLwHI! z)QEx(z-;jL=@d@?oH4d)>NY7&jHF#EvT$LjKxTvC|7H)|9_wVbNESsl$G}Ri03`8j zrMsMLbGmSJkm9sE7I3gBY)uR`;KliYwo>xG-BHlU)WRB}mp3xzUj{k<>^w{BT17#BqtgU>of zUGOHZi&lN*T~!!W+a@OSaBoMnQs%00;#1S!EV;KlKbjajNPUpLbm4B0l(=NUZheWh z(gQ)Hc@+nXdmU$)=!mT$O6wX}8rDGDO9?*HcXZTqxb_kvOFzXf2GxwI${8;q-lxle z)YJu1O{%T$BAe4R=|=UaNjZHJY%P?eDPTV@xJA(;_EVGxt%K{}6jCUSJ`DuJ_ta}G zviLQNY#)QW0`-avuZ}sml8-aL$ylx=W7FzO62p-AxSZiij$&woUIU?mOi477r})~i zKUf`#?^C*|Aq|_!)!PgKnb)_f0;R@ip;%a26fqNhK3yuO*iuqHAe`+dj!P>2Wb)li z9mW)ZqAct^IYHI89c*Lq6g!Ka@Q6}0x!f{cDUoN^f*m-{`IT(GX;ou!BPZOt?kaMw zt8dE&Oz4nR198cbzm1>zExAsni*14Il@bWKl&cs-4vEI=BNT)JnH7#UPJF}p&Gw-G?Tvo;u<+O=jx|!8$%t9F8VFOnIg`mX4LV2aT(%T!BlVP*T-3@vL>vkAOKGgJ z8T}?i(5eck5vqdid=+{H(z|(6tT||u>DpQB;n{#M8MGZ=Xh-M|_NLXP0#Gi@rv#oW z#2OYIvpSb&McxV&75BXH#{L-#lG#Op@f~)PGrG z<3aU#F_jr7^-V2GF17%wegLWf24FsD`C|mVg<>4i)S^kmT`skOWz5R&mY}2YV`Oh) zr1&Ah*P@%qW?jH)<0-S!a5d29xSQDVD#C}dlB0%2|2U@mX$kq19L5!uFBz09FJ8qNBZ=MYt$q~tG<ORf&CN@<{>XuI(VtR zJMg4OC^CA`)||LP7be~HS|p8hDQzKEpy%9-wINX$)WZr!Jl2N_O1-Ov5?4C)MpT)G zxE{30Tyi}lmpQk%?e@_WmSk6 z8#8D*{gZPGN#RPJw?>QG+>8oW1-cc$N#bO9eq{P7ybXjnutDnn)WXp~m<-z`D@|2E zQEjR#xhqgq41^p5iM$o)l3Rm);q1%>#d<~L8#S1iD)L&|QUOiXpN?5c_-MDr!F2Bo02P)F0vFb7TfH!f-x zJIt8*RQ&R}CfbU8m^YDfZYw#(!Yg4Kn?$iSe2|V%*SKu^tZ|Z~(D#*?3KSLfB1*_< zbzL)G8AV+9Ey_E#Ak{`4q&Vf1jnOM)HsB3jzLG$4R_t>IrFDzU(0B|YQl1m_nY`a zh`zQOw@Kb&Cg5b`6T;cz!vgo~JKfP2-%>8wTzB@Knt0Wg%P0Q3E!C|++e(;J2(hz& zQemtEH!$MaM-hw4a1LyXfjboxj;v*07QwS$3bpl#FJyN zH7RO^ev0zs!Ft`zw1Z@|DG`=ReOfs2nGZp-y$53#$;~r1c3}pk%NwI|9}iu$`vCkn1W zxi?mz3NYJ*?u!WiCWbQt7%ze$cbZF`^N$isurT(p>@N2T!%heV8LwIKA{YL_QD{!9 zN{XSDHqeaDfQ_k2rtcbi4Y~o-P7JC^q%J$MI3OnBNXL(Ei5;29>A^Fo*5|1+XmwyZ ziOR{1!T_U~<;-Tr!qCErF9it+o(8;GNdpdenZc2638-h$e=mgoul<({QwprRdI~R(M_d&h z_{5f)r{0a{cb-xv?==qVX=?ZrGZt4f=o7QCR5I=i5@&%VN2ATTZ1M#yrXIA%BrI&X zn@Bb73%B~>7d!ZGHSm*NpAa04o3!~;IGCtLKzOZdX8>kE9#Q1i*;T#R3+V8E+L#lE=f_k z`y?6o9xcdQQVDCwjA4{w^Pb6cqJ!GDV9{=rG3}z+v(B{{th2nj^EqNQlW z!#k#(VCf*!O-muscBg~AK*=yqJL{P?YH-^Kw3IA(`EG`HOGx(g3I*t|<)bH)TOK<+ z9(+&;3OIS{xR6%ibrUL$ac*udC)K(@TBc$zLjn`iuC03=# zo^0h>LKtn|r7J>%*v92O?#Sf6!dX^4TswkUlwjFvaK*>YNVwZ_GCVpb9FG&N#)Cu@lbzz=7h1>`jLbM0#~Y9(SU zeh2#Aj9-Pw&K{Wq&>pp6eSbL@bZlnBualAjo<#ZIB5oY%wkXwf3&6(5eHxIElVWrcP!0GL_uY}6C#3vL3tTpCEWeS?o z-12Zg<+5D98TpD?b5r-6F(p+=b6=n942YLK0a_hx>0;sCc<_|;rHNF0)zIFr3;nO2P5%qrG$Y}h+s zFFga+dah8)^}(;hD11rRY?D}OP98nNhBk7nw4aTNzglGZY>zJWGVd##vN!jo*fuWS zF~(RLZ_F)ZcFtY9FU_3R6Mo1gS(dpJSAn9M(@cd^gSBzIh7>;5#h50q09mxV#e49i z#8ttoN|7C;I5|>ZI0Enrql@uXO{BpT9`n*|qQz~7_2>cxl4{83l){r4gU$ry=923% z)fb8tp6+tW&QTSm2UYo}t?Al{8FB^(W( zO?-viL0WEw7<3+i8qwv{QgSshmva@SrO*K%p8>b`YbovrTP=kcy3nAX%LX}6l^36% zzj|Si5j?43gb#d@oH%`B6phBIIom7CmU*!(y)neO+(*$lbQbvezMoxG;e(khrDFb7&~2HEgEo8lm|-1&?9W zt|^V1e{DcA6VYbGQf^hGcaW-rq(=DxumolOQ$Tws0V*F3_W|p9YuH~+kn@!l(Iok* z<0!X*us}?Vct$^Y4gkBJwbg>{*(T9<*INN*O;9UaI7&71+qMQ~ z>D3Hp%w$c9nx(y#+|(6VdP;>q&>EE zP6uTc(J71fD9jZ)tsE+hnA8##ilHF3>rGnNybY=iaE7o)9_?#cVz6F{)CAp%rt%G` zchf=I>&wng!4@l>kY?IS&1Q>c>tUAV&$X!ymUc66a+oRQ+}`JbHtjSdZSxc1 zqP<-EfbCeR<&xK<9X)iZ_|h;tk65&51`WA596Z%h78sv0{`*3N;^Z%|y3L>uxL7Uj=8O<1kj##s-ikTHIJP z{*!i?gSCxI+m|*gl`UsuKeNmJQq)#^3AP>Wv~mWmMNzQpQWd?-lIuW6xpxs22*3_% z?PBmyu^(sCZ|AISb5n966{Bf-rFv>Yj`FRSS6st*&Cizh0OA~tAERAzy4q|0WBT-v zIK-XL?rQxK**ZvZ+A<>4?p_uek0!v~Z+_HQrYp!@~?PqF! zlQk*Eybh;2WCv+a$N6$)?-04BU>9Z8uE*t<)QFPEry32K)7Q*(hIB>Tl1)>bDN2U_ z@VL)KW2grPNn+Lv455#$fe;6C6wd1@i#QqxaoGA&&Y~fti4l*cKVLHiQwt?7DVHs- z7Ao6E8nzS@iKX}yzjN72x^RTFoydbvrIyA(?&Q2c^YBwdaEs@=Xkv^Fs+ zjv2CMsK9z1Z33);WZepJrZNT1I!e$AR3?Rjn=1HT zJ&>?1lr%s+<7asgv}pd0T1Y*UGO4pNPZ8y=S%%vFM|5xcRwg?R=XI1^+oW>Pin}K) zzJn&cfTHTSvQARvH&(+&$3?9{ui$K*vTGq-gnjAi8SFOl8g)`@Qg7;~%S6@V zd6bBdQGwa;;@j<*d`TK_e0l7-oB(LkzqbdaW#CpWqV_fhd%vie>=Djf7$zE=&t z>q+u%GOnTq4p*Pe>B-QtmGF)&t-7HIWKgxLz%1MQLhES3FY0+YqqSEBOHfVsNVZv? zik9m`%^?Xkgw#l$y9UJ*1}{5G*QkKnlL4ZUCAV`Mf4sJlt1rv-*D>xUeUz&FK5|U- zb)9MKMujf6H%~SFwrVxWH$%U@8+#dYUWzvrT2GUy2Q5jIlJw*zdmmoIpfnpR>MkcZ z$vAw#4CH82-(>7mTN>j7=ZMD*49()(l`QtlU4tdVkIC5%r}kk?!w#8mvBLeBBOZ;S zw95BOxvVa`^G4~mfftbc1_QXd-#*+ds9j+E$Q3rcz^Hu!sA8J>*Kv$>hs(ut(|Gng z3I_Ty)BRPacJw!$08zBuw5Jj!fUJGEcaA2JN((B;3l7kVcr?X1XTuG+x_d=yQ^V$A zGyo;KREA;RLSEh%I{n0Q5^&xnfY@73o(wR1j?U#9gvHZ-?bbU>No^utik2ng9PH6~ z(&{z0mvP&vnvI@BP2#?}e6(BJ?=if6+*7&mHu2WDoFC!z)%GSh-QtlkHVqmLwMf>- z)pQ^igi9P1lq6ENj`#b|(;7Pg10Ja4F`%Rdd&5~Y1XdJhkGFYY4oiPfJH@S@c8Fwg*G2myU%IY9hUkwXQwkAeA zu1ilJ&~Uv7N$Vi3y||<#w+w*~EUf{C?bi(2p0#2{C$h3x|5X^Ij8p*~q!qxhhbCMX z)4(vSYWP)KB_6vNe#MQ$7#I@D=1$axwC#j3b?a4C2^f<&f15F?NE0KT5Mka|FHT++e8s~WM&$k!dKu8|Dmkk^{mkn4vdFs*4 z01_nJrA|^M*xI{-Mc4L$m1qfJY{h_K==KZt>X^2J?+0YRU&}blFv5MBEt7hb^nUp{ z#OAbW5XR)7HZks9y$(6)jeCUh$kWAMU2su}mxDuXmYtHe`9U03jt+hKCR#!;UL}OQWmu|nvo{gG4%k2% z*fx^&p!Wn}#YNdFo72`$n0kYtdDsAXkf9RclX!tB!hfwdPnPl?@nNwggjnvVM0-|9 zF)IfDQzflQJn6M@A|f>(`~FnoYT+(@0<0pz{UW!pET55#BTlJ=01oDJHrQ|`S}Ecg zi8N|xt7e6to=|y(mSH`7ay+u?=Ctq{_cE+Uso~-L@qTP^-ViF=K~CEzwVKj0_OQf$ zW7sm$DJjW;vxL{dLS|cYIy+x0W6^!WhzFxZWXx$WekzFYZ`R#9C}e zrXkWeZ0RzW7^uwVV;(sRWa?{h;VuSk-v?{8zY}-=G4Px)pO(l|6OsRk>p-xT zC5t&_P<~$1*`1WxG^P5o)E;>UNx6u6TQL?$G{x82Hl;SG!1Lv!gMWba2B{| z_qlxwR5e>D&-*L(>nmnI652;r?p%>mrovL5)Do@tuo)Cd9i;MSA7(bZ3TFo?&f=}y z;O#+==FEMiG9EI~yx)8?r4+P-q~f#))iE|r4()8aXh|`0`Pa-AIuhZK)k!nkMj@>e zQstOybG(`Yxd(B13U{ryk2EF!?_bZZb%KF!Q-WNdG=`KER@JX473lVXL_;yWT`{ca zoJaPLp8;meh=y!81bHApE75L19WEvoqu&Z{VutKV5PQMN2)>(g)WjiGtz4j5@)oL{ zI%9g`i;0U_jjxx$goa|~xs6}bglSv8WE>07ks*8JduB_F%&5KmC@Xa zQ2cL>qG-HT3{g*ebMX;7sL|B6lpOptUOnJ9LLT>o^0e}taL1>WWeLvY&3Mr`PTdHv z8{tky@nK^~qp~%^k5bl{BQ9C3a{O5`tF!{Cf(5!>9hbGa^&C!=n%V4@OD(Ek9zj#6 z^o!|#x118La$@{#qtwV)0#~k?b7-`bdc4k`X@x|;yKEnR_6O(9l)Tnu<~UCPS`EOi?9oYnm#A;d+hP7CW)R?iI8v6P!`jNQ5G&6@H=qvA~<*3VU!t zo!y|`Gu9N0ceDa43{!r26?Xa9MQTH!uqetpUoT%y!Bxl5zb#i^3V{(Ro5~Ba*>db8 z6jE$16ja(dEC{y4F&04>cOM~(3^A?4$QNs0YZjx@PLPYF2Krcm!!%aYN2QY+X_E~FV! zwJepu*L0aSHl+xxu(!U^|*V7F=-Y6>1E@=;A}hx5$Ise2le5JA+Mlw z=F#%;X(b=FLK?llRK@2q(-!RY_-2hBQxNUS+hyOXWrNG669xq$spkl11GJSI^e$qn zox1>hNu?Q(iqb6;PSm?k~ z!!GxpND*t?ewFXzl_m9LR6KYN7XGUW?XllyYKJ8_k$F3{lx((_THG7tHroP=YJ`jBlN>dXVZNZ3o9Wa+ z&ta7Fmq9*F6D36qV?eTn- z4~Wi39O}%6=j6Yc5*@P7&_hc&LhIM~iXA11ay<1&ZGA-A&i2P!v~eEiT#kL9MI;}R z1A3MKI@P!B_>#*8(6g_2=g}41Hc`PbnQWM$nNwWtz2d&6l#!xYVeoyLSHBDM-f-oYHTlY{7M7Q1 zmAI-(HD{+-=R0OjdonGK8X^5n`%XpTiNU5@7!LxDuggGs^GLrlSnH^!2J7IP0;+{qGLYSuuABe|y* zjs`*;dDt}XhQil_7I%E&E%rXV`1N(PSX(G@#dpzS?Zb;7dzs#Di@S>zuT%w_?$Ywa zA5oO-p;{igiJ?z1bEVg+3)#8OBY!u2hF! zjj4gq)LY2LKmJ}25=tj42r@Tdb-Y4Vex7c=jlv2fT4VaghD-SGCPVhU?4wb1VYZ6Z zh*b3!$M}0ec-0GhN;gQYm{0Lo`vf47=tq3<$9I8L!5ySH^CH+}1YjPX0i`p&0V|)D zMbmU#EWM!?3Z+j6ymMu*G+P^_x)eylh87*ps*sZSkSV=$o(nPG5>$L@^4eF?g(g2d) z#qdVL&Yv&<%_eJye3Y>gvQ5nzBmlYk;Os(1!ZckiJt;rA_4J9aeRAUl#j8gk#?1dc zos9n{v&(eKkE*B`KPJ)=!pKBdfE+;gCK&VNHFlJ;3|F^7&S@R)3NdmM4vqli|6<4X zg0DoN;Pq`EI5xgj4R2B@l|j|mvzzL@ljAGFpDr8;xFcQ4qDqKr zHl#PG%FCGs$=V~rOsaSjqZpjnuAs5?66s^zIOpig?c<}IEZBT>gw?1qJF=+H!kcqs zA}Gfx{+YoQfGDFo`_TDmxWgXb4bB$aKTTj*DrR#l+Tk5mVjh4U-8G>{8Z?w#*g#6* zH)WeNaXpBXGacXAH+?bnvh=H>@e0G=j*&GJ8i-@Ib)3&bIAx{+NyhQwOF_6AQX#~V zVvFSL6)38G(wP>3JrZhDw>&di5Vw8K8s~A z1R#n(bk18K(d>0<+hL61$!pR=6)xM)Y;pz4%F)i#_mHEtSORSe>VTygF4yU?-mOw` zmQZ#Exj^Q$iM{iBjrbM(KEe7GjBfgw{UZBBa@yo2+y%eG8UL>I4_DXQ`|~X+lYO6L z^J}sb{64`K3D)n?>~3&Lf6{nxH&Dp+fxGVb(HIhF7!Drp2A}w2rL_EZe0Q+)YMd_3jm#b?r!O{l7SH1<{hm!Wq*UoTHgaBv?2SKL z?p-wLZ+M{8>=NaNw)a!!0*S^gC?-d<~24%jrz5Aj0+|;_un#zq2IW z1}g7xZRA=R$=N$$ByFhU#H=0&ikO*ND2AC9M)$Q0bVEB=+7Etzj8VhVUaNna$^2;Cjn&*0)MUdm6( z-oayq@1Rws*BojXZE31KG&$t7@L0`O87|%Xc*nt|%P!K?zQkuSms%GZX!pZ5YSmk+G^r8r&H;2b2;hox(L;ya9aK*$}%@m>8O-_X znxDk=o6N80C>WOQCh2r}`LNW zQ^jA11JrVa`Q>7X#V|cD%cCqhCEsJOg(&-PzAq)d!$Eq($rbDuCN+68h#wzp`&Etq zAYMY2n$xJ$ie9%hRWc*FKE)UriLkhE#^oW0#T<-SF*Cj@D0o_y+WX0#AeJK&)Jb~@ zs>}(Bmz<3$q2}*F%XXn)3JS|m5(r4b zGA&Vk(i9|`M*{S5K&tTBqR_38Y-sPNE5G~pH}kY{R!6k$Lwfl9smUv2QyXuNf40Zz zyVbZA`j%$`B@dUv1gVw<60IVnq$ILZQdEtExmq@1wU^FkSu=SUL~K+UA*nhLUP-P% zQL{ar-r7977480G4#}`^=nT!5Pm5ce?W)51DRmw@q1~UUMXGbLW4lTRQv37vGSm`G z^)>e$h1v1rtNo&W%vsB1W#~Gp9|P(ax09)s)GYJoLjMVWE#Extd*4)(Qs-%wamHaj zM#BDQ{0VC<)h?>y`?Ui&rfj=)rC;#Rxog=p^-m@4;;H2{ALpkc{{j1M>9i|;N4omA z=QCZI!8oQpOLfoJWIlfi(P9!ahuh5P=(< zDKnMCKD_z2;8tF$qL(L^uqtBPWohZq5%W1WM_9!!~*HOcAJh?#W z;{gtdiIb8X+gv`<;POls3FogbsKGog3TlmD;~X6mb7#Vr_$n5%M6AD$bt&B%mqQ&; z0C6>*eQRP;)Rn@)LBIgsX%!aGA52s7PfW7h(}tsv8R4fAYlKG`$ttmS;H?&{VRI-) zA0JgU%!h2+ck$QDMVt)c<1+#3YRPJ7tzR@FSG{aOWt@5k+)CeKXkx@uZo_J^_7ari z(>;64E#@{(e5{CU%xJOppv|sxB_mnI%cII`L~c_RR)R4TnKE1+*1q=+R=jq^xXLfi zHcou%o-MW(Dq9s_bTjGRa#8ZlhV<<^InS8gj@-0wZ@ zu{)e{#9coLr`oh}IEa5<%2Ah5W3lFov^X9U9$Qj^dO~p47KS6G^QkUEOO$-S#OX{q z1-&2NOy}-8MrdwB%Xto;qxLqdFSn_YbXl~~EulOX zjYHeC_&gbK5qzn49DcuaC?U2i&6!pIg-|>Bpm;Nc<~^Zp1it08T^N#L6`?(D#=_ zl=Y-a*TEuhK_xViacs156~qk*T1)1B5E5@ zbqQUpcs*=V&DX?;hqHY;zh5)8P~x(4dNof2A&w7^pSg>2dbX&!I!JM9%LUEzcp;yi zn!A?}!{Q

    52nLB)%_7N|Y3si|M1Ap6%T1eKBI~+*aCCF!PmeBU{)xz90z0e?F;4x zVmRl6G!nK2`?Ux&=%WTON<3OZm2h`M1F2jEZS;9F6!0kG!@bth{-Jn!;?A)-Gs6bg zgxkobq@nFfxDa9+V`{4q)x>;%%*ELyPWDnf#gXvkH|+sBs2Zj7vD#nR&h0d8$+U~6 zeA4=u)9Zd4=dASzG3KSJ-Y{uavQpsxL#AgFYky3%8dg%U(@wW=E*6za_ zKcjmQrm@~3(e}n1s>Gnebi`H~=gWQFr&P)EQ>N@L>RHm!OF1k#!lt=W<^eIAxdeEU z`hEq*vzsOn9QK?Ab-Y^Mj}>&WQCvX`XWQwrfD$Ti+EQYHL_6XfP=nk+h{NZmlD~#U z=e)%1VOtf@K!~H>qlQ>S^%9h$+Nf@1=)+qb_zG*mC~*OcF6+MUdzZr7IPoPDdYiQe zEpCrh)n@Kuc?8`_uM2Lxcx5(6{8F0=6!mYsk_xdvq7mu7kOB||A8DeSvino$EtI&- zs**3iB9>}CBw8~4n8WwzoLlnnUBb#=a@VlvvS?rfDhv$-N(%S8u8X+SDcax-PJMTG zeAgvcA70`;3UJ}8VbSp{uwk)qG%?~aRlCL2#u*>0ghleJ;CxdN+33lcpd59N&3K<2 zP_Vq~gdqBfjwF1uPha~*U)ERLn&C6c`|09y8Z%N-;<5HrgaTP*HEdT@8^)`=ieFHX zD^R(!uVRH(y?f9{=@@J!S}JNKx&kGd=d6eY(jl`%(Ck;q`+wTrcDaom$rjZUIi`E} z%-j<(aUvwymet#`+>-W3_a6r(mMpd@l82;htDpX^wK5Y(po;RIx##|{g3I_C1N<N`I z5^(O>8O&L(rRb|*Dat|Ih_grOJl-NM3{PziE4Yw79LZbZm(2z{?9qEv<`tH|t3yoX zd{3{0LpcvI8OBYyRTAPM!J}4{A;XqSJ%_I(7RDdx5U||A>w`alO?jGgJ^Qwo2s6uc zVG}zo?`X+TUR&RZq#Tz+CQHSYA`d-uWfcPLswzK0d^)LBf|;-_x;cMDuoRw<{Kc3( z#`Ok%x~g{q7b(|(#0BF1Z3W@uDk(6i8g5PtleLtDJxOUxQu61g$Hn9NpC()g#;f`H zVfMwez1|p`f0@UJN=^L=&nCbHqg*&fhD@ema@7(pbXHHvkZuv`vseGK*QQeB!O#^9 zPZIrQYc=QJbA;Wq-7ivbTdu?xoSa1*ztx!D5H)O;~p zVVd8{_88^D6V>fc?m2spciZOuBXZPddrocM9-|!1qsKc~SGgdnk6{9)^m}gCwUQk~ zsSoR_DAMpJJH^{!j|e~fd$`#kalC{73E^8&7)Dm`mHSpAICFl8g(9LEnFJj2EWuKI z>8xm{dUXw;z^0r$T&_$)yN`&@y*AQgEMtmn^bK6mbQaLaH=jT6EQMPa9zDrH*OLhC z>M2!)`&m{8r7S8f#DS(TxReoQ&6XjZz0E4AM`zBd5#`cPC#ka1?~bICeCF3jL(8_L zD}|AMg@3>)CA+62EOm)%-e8^@jG~0CgsWVpdEmNAzD6X=JIolKu&|;zRcc2db>i{~ zF0y&YL&$XyrOM47S#AVM65R%lggor4K6VfZ;#|gJwutp#O)(X~mJso-Pg}J*=_Q;#v|(U7FAauMlVD&Nv$Xk5A=X zbMzJw54J;diQnD}j}Mc=zR$p`hBIbsbC|PC1RjPnozp|dXJIuB$6W`OV9n~q z2Zpg*>oIF5SgJkY*L@rY`^DExNSq1IDt}{wlS(D{9+W`8&3Hdwj%Iha%P%lbZ_(`| zalmX?HZ}k46?W*b!KKrcys>mnnw6%bwTf1P2qshoj5Kk4&Ms=H#=})SO0mnK&qtMR z5y~9%q)`<}B)RAwz4YT0{&xr>Ufe?>f5FVHbbCyrZXR&<#GK zsJu8iR+w*M0;V+IKW7U?Sp#4uuI?Q#WZ-cn^!96Z_g`2WyFIg%tEL-2st~U+N%}}s z=4Pedt#K(65Og8-Ys$y0_f{!ADwr*>CYV>0KgK+yGfLUhhbPyFvz2tSmIsfa7(y%& zzmFa!N0?J#Mu)`$($t`FoEKTBCY2(O+r78JDn!2Mp@4Xk1N~}ocP^&HM;zJ`iKQKm z&~fhqvkCNnl8K1dEn3gfwK(g80J)Zx52O&}=pNEC(xW@VtjkU?sVIGya1+P8%qKD< z5o#%8Mak46lHnvQc2V`rw5%uyc0C7pS>qY-qd`C*H6Xu+f&SOvP!C_gBMH{65SJ^) zx11H)?TgeY;osKl`8T{3_=YdB|BA@Udy!WAooRz#H+mraCqHN=MDb&*2;w|_`R&=O>LOlgf>rF-5H9> z9;c!*Ne9+Jw~l)93dd5nHivYXedYJ(lCt{TXIQ_ zc6AFRMJ>d|Y2m|!@p;Xtz6D{2Wdn18)MFJ&Mr={Fxz`7IE8%}2`c|$Dx+vxSNJTm_@OS4#ffNU4w@F7$RGspP? zb7yBtlmlZGE!4;L@_Ds>qz;PN-ZFOQ6mvmpJBU&qhe7N}zxlqwJP04YYby8ANA((j zYr~MlwN{7(faRO?Rf;8LPNX?WiZm{H^1PI`6|2;ElITCya0|ub9um99;0Ba(SOgR4 z@#Go(IB|Rsw_4fnYbi_;iSsR3>eB9v(=!b}SFsDBU-x}hXy$#LXz`yrexk{bHh3{$ z`?1k9&9P66I}qQ{Tg0^Z2nKBId37Map%JLhWQ3a9Up6D99YmEKB!wLoT^IUgUdw@5 z2p(;KwHIsHQ{7x65c#WM!#+m;>$~w9$fB@D)!JDp(>{P~Jf*b-ljd z8)mL_mM(t7eq(BV?EzTl8x%Feg3lXQ^&BHj93F7+_2nkF@iI-mM%uazRsJ3exj#?H zWsGv2NFvGQsGA_YmKL(_H_0fQhSUVc`}{H_ke_rS>&Tiwz0yS6_?Z9}cZ@fNDJs0- zZxC|Ao?DMmPQDA}tbxhmYoSZQ<$XuOEt@9{4FzEdYLScgF$&w4!a7KgAoGiGTidFj z*48l7@L2Nc`Qe6+P%1r}%@WZz>EL)bd^}$jCWVg=F-y+q)L!FAs%G1hDqfT-x}p{@ zRU+|9zLEAMRDQ)vLPZn0L|*7Hm4D1)E=+iu2bO8_eHWsU=`qUb)i+WtqOxY+8wnT} z3XP~vi?540=GfSCp~aUsIS%saU@!gTN%}k)h`@#`OU0%j-9eNK3k~>0qSwFNngk1n z*@QE)4D-=Wz$$J6_i`pUtSZKdR=d=^$7(qj={kB?3b2W(pP-D~(iFvCTnNuzX#Ozn zbm8_C{&@bNM3PH$H^xXjXGDVCK4XrSWDhcSky$9mZeN|IwXEdns0al(>V{Ot!=%yk2s$9##sg<7i)y1->4 z=%VZIJTp(EnxO%xl)sD4N>!vqD095TM7;_mGBlVal@_l0ETFi9DUB!_MI_RgJMt

    tGjVjqe)Wly@1uEsGRDdr4B~<{1bB-nGOc0BZ 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�p8~W=JYW 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%0Dr$lNW?x_=F&l=IoE`8Fi-i00_VMlSgQ8a z*|Tl7NDb#MXFB-U*_k$~l;*(CeFN`ZSW|Vnw4)kKNmYMTUc@+X1H(U=UrWV!v7U>B zZK?841e+!ShI-A_qaX<`b~lCdnWD72R0UQ;K8Fj$c1^m?O}9WrA$oBl9Y_=VpFkpFte$g()vCoYDj+O8i7--wr-tT zJgrpnEbG%OsO02f?Pds~@feAS8ul4{XpY3xMn(R$UjG?@!(UnN`*JPH% zuav;_i;acmGp$UTS<$!{(pSb(A8?fIB2TZA-}$f1({SZKBr&~-XRb#?K*|}I%mv!6 zxc#|L3yw>}3vdv#lHVxOi*p(Sy|H=b=7DXE$T{?BkejylkX$+!eA3ZQ=kY{O!x*Kv zk;2J{4MH6zaeIhX8JDL~iu6`6`F!j2V6BUpy8t|wHnO{PA{c}*>D|& z+{ZJQc+`m#X%j`<4~9!&%BgL$KN_AoV8MF&ktM|S{B#IXI!x1{!dL%BpUTE69SOa< z=Xew)=_ZDDPjjIRZMraR)Ok?ZX4d>&9qx209Q`5~YOQH3ayCMP<%$XC&+w)a8^LUQ zla7E34ck?Z~7`g=U$+ICFRGhnJ)krTk^CWeDs zE(D|(;J|5j+9>toq|yi~Pa_5E3f2>BAlMMV<)V6{nBHrR9uQkwcKIF#LtuCoEwfc& z!kLXnOC!eZYnj`07Sw^^GS+=e zXM@GbQsa0HqNdRMb1bg}w5&Jmksf`ywd&P`fIo}j=570fI(F_Rf=rHA-r6<7Tn_4Hw9_1<0xD|`@q_xc1vtZMUW)6vr zEk*henCjMV*~~b~D4h>O8Qs-8nL)E%8On+qy2{pmv?pFWx}ZDn$Lcmr$)%)E)NSZ8 zx1WT9#4CYq*5XrjjTV^c7S3vol#0>8qr&<6gD3pzazD+897l6a64DUf@c`y1y zaDx{kd+n;6EI)?AJ6~}o=ER0+5T>6%L!m0wC2l~DpMu2z$KJEJ*WiC9cl%(0{W(~i zwd_*;!e`Yi(*8@iT_zv`dP1SqvYR^=GL16p{o^UjhmOh1)p!P zwqpOk1H+!v5s^F0So%HK5yp|?UaA7+-M%hde}JnJ7^i*`BbELLj_Hp#*wUXORk<>M zCdH~&z_O_Pg*2@R2Qy>-3Z_rBNdLxj`n%vC0A6~E7)AOgsVaUng|SP$&=u)zDwGHm zIfM}+33$A^id&fevc3V3x4hQ9JS#1? zqj((yp|DEg%BoUd;a3HZP11sTRj9I5gDfX}UpJdeYRYQzhjmx|x-uB-!C?EV)~6!M z=1Z%C$;YVfZ`3r4C7l~UIM(uGay z#~GW0Fq`^Wn_Gx2V>pFU^44HWuxwg%pmQ6xlPl7Wv+)M zXTdH2T;{G$elBTOXnn)!qug<%@(Xp2h$S0?1jqKowN^A;+k{MjjtPu)+D4fOB~1dL z`pQymW0+hQZDU;aZS*M?uqU9>4W<6H7dTe8Iweiz8TZWvxjX+6roGL!4Ij8i2dk?dY#E}X;L7nk4Q&fM3vBgexw<<33G7j&_y~~ zO6c4!lvAMewb$M#NT<~)w%wftoAs2lr+TO5mQ;tLXOWk~ zqMq`0t+g%R3i6Gpk3m#o%{@mobmuZ^`1_WwA#U^i-U5wvQD{*@dMjAWe!-^mND~=4 ziRmQ}djTol4mRZ9vM?8d!-=263eXmL^k*5twI`VLPSWWT!KHxV3n@*7eN46m#z!oz z^6oB&14Wz>Ft+dr^w7ulYC08BQ`i?a*R3bH*XryJ9g!7HHYc{u~)8x`*K3=5|h!1pcqbSHwD zgCe}M@gkJ`o_y`mrVoNk9};{RFi>C8(-_Z#9p&^9NgoAZeq3wzI=d7f1J`=RYyz~# zXntIN*JcCv32?3bY&$=r_(`bjy_MMG7#uyTxU7>t1*LLdOFRkwPlHXLkz_SaOzQ>F z&w<4U4FQJr^P~rL?HBkjfbZ-5o$O_NNv;rpQcV_{FN3cHqu_PTe19RmWC=%?)cYCf z^fIXY;-~7_hRvjDwUeLLl4%{mD8XpK`T%6MhbZ9~$(sQ3tSNd93|fCv37Y|iG|vhq zp;hcCLa;eBjxOtSgsF5h?*X@fLX1;MCqB591#N9XdOs@S@tINi$wAI-p=FaB@32*F z=}s0BIavHVlOhymk!6gg<*L&zQF4=FL-ftkuFyDRvq#!tH{b?OE9!36;JoHA{sdC_ z-o2|n7PNLUT+zzX?qLq)Hh&XhvMJ4r`?oZO6nBy0gjf}4NXfFIm-T{9hr)@iv{eR2 zrG$K?!=UgMNLl*!R5Q0be8pXkaF6X`Y=Fq&IIeS(f8hkD}Whd&TNnZVp{F{TAoRO-h_-H%~;JZ=+Yp!wKZbZ{fuKHFt41{q)9~J(oNqjTppIY`!Vr`vt84?0N8wdL_Q`)Ds&t*4^9SY~B0mq&3d% zN!hj>$S7&l(|X5y}ZE8pFH1^VsK)0Kj&0NE)o3NBp@ri!?PPs{9I z1CAr1@M=k4OL~L{Z;p}U=ANqFnN_;xM!2#*ugwN|Zv{JADK}8-ZA2w?3M1=Vk)g(l z_DHwEOYmBM*3h!*SN}B*p>lxgK{(Pw0M0aAz!9$GLtPJxD^pr|Uyp!eKdiUr(nIAx z3WoTW0xNHNoHQo}8uau8&qM84=-?Stt9emWQ3p>#B~DPND$;DOp8`Lm#!sPS?W{gj zdKwxhOkMM|@w^Y7G}152@DV1=ieNp#XaV13;+RmdfnYoq|gQmkKTuTrRjm zaHZfX!PSCm1lJ0#6I?I2L2#qsCc({uTLiZXZWG)txI^$R!JUG;1a}MW5!@?yx8Oa3 z`vmt39uPbzcu4SG!NY<_1dj?H6Fe?>Lhz*EDZ$f%_X*xFct-H7-~)o^1kVdz5WEQB zuvxF7V@T@Uh()Of>3a$jvVK$-rTxIC{Q(2^hPWuJ8`W+)09Rq za59_*fHVxMx=^wneIH+Y&BlnhlmS(l875H7>Q5GZ9)b$J%P=O4AmuN16)- zE$jr_;yAJjlZ(GQ4{DkZ80aL`8(oS#Mr`R=@paO%7H8B*Yifa7_43YmIu0r^lJMwe z=1$0!7J%n+g^id>cNy}9meY*&wfTz2L+y>iKY_noa?w}PGt2|N2wWDqde>%ma;Yam zON#+~qM*){mWci&pf|g|pYWF`x245apS#XK1IPA2162IiFjVR1PzGsZ+i$a{!5g>m z<_I4Wv$i^T0^@pD$G0D+4rx-_@~i=cFi5%eJ(;{k5Yy0hT3fy~q4kMd*=eTFjsbh- zLwIg|uOj+^LH~7k>=vAxfbC!VAdJOQdfX?Lc{+*bArmVx?6MO&*)a=`wteZRQ=oAC zsK>0ZB1_A_aKPnKh)_?+PFfDWH~W!O{R`h|{w2(Ry8QAeF-nF(81@BcfY0B?2u0GM zoCyU-B<{FT(pi>ZZTibzQmXv$72r9Z3%+zVseBwKk8Xs{MLI`p*SzUmu<0#;-YCSk znmEsdey54^P0+-*^Oud9E;-G32Pv+P$Aa)B`cC9h8riNl+XVnFH!R9WD9qi5n2&TJ z$Uet``jOr+u?UY>0eW5$0cCWrGTL|+8tN8Qh8ln z2DN%W)Fw8m>2hc}9PN(VrcmS+;0V1{<9a2jhN7*NeYy$?zO=d`_8et}soW^%YUueG zr6+p21}Yaea%}fnpQFZf9na|o!0=+OLeQPU+4WT32nT{!Y|uCw;o?d+fgjOR&bDsf z3>TZpw?N^5t`eAAt)*z|2G?!i)9nC4mSqCd9U|Was6GdzB`8);BzndpQc(rJy_khWPIk6G8cO#hY13y%pH^$nz37pY4n_mgmq?TJhOM!gXd-j?Sn@>JKeyVKLtP}lCM z#JY_1K6r4@(Kqk+$q`CF_31YC(K9|hEBF8)hrc}Hi`hhzJqNZj@8Zyc&&&LR;6=d) z1s@W8Snv@5S64I;;XbGz)33o|nCCTdn^HY@C);qFfnzhR#2ZdXAGOGj2|fHoqK{qmZ8Tm3a1~FMTz*W(C*Rf^woczFsIf zeEtnm_9pnWk-A&pZ+_f*uc@|@A`Cs z65u82^gY@1g_hau@0)V6bLt1Ah^y!4AM(t5E6v8GAA##lt{?MvU~!*~TFhk<(l5*% z>L~q^=kzN8ZkIlsdw*vsuhZXv=gWp+0mGXsrM!6_uw14 z(K5Pl`~eQ`Q06;xf8;s8SfI4dfR`@($&#b7^$QQImp_XSUD<~J3;0%>ou&Ha#PnBa zLl=RukG>4u7V7z%CARlA>&CyEt0|?fg_aBY52#!^aO}#BJ9P#t?4M8wR?Vd+T1!T$ zmy_E8;M&mKyirTNNpX_zfsmU8o5l>S1UA1_T}Mk5tQl~Ghm{PW(0zx~i;!A(7h+l& zeClJNO?N-f*y}7bF8KH=rS78ZW`1qI`&wx2N>0xWVl}*8d@W+FAa6hLd?{4{v-jTI zEn?W>Sp}ZKj(6M?Y3!ozeeJIFnQ({rmimBk!(qpl5gSnM}^=dBz4&F1dfzS90Q0xE$e zHl6GElojeopVkFn>1}cvC1O2+Z*!;7KCKVvO|~&6HUQvFI(_lhU;9=#Z3unPGA7=y zAw@s3sBHwk`m%gZZ%jHbN)Mx)P2UOB!N7gq1X}i!odum9mu8DP7Ak(P;)QFnIjOV- zU{FlCV&f2G%d{o<>hQ!$8d_*8vuzFFl(edK8&dg2f^y|IZ3||YJ=N64w?Arg$>?kc z9a;3gPaA%F@Eo9({g)C_y^68}6x9E`cEh`)<&;@(aPI`3;2bJ%XP?+s|FtVo# zCNX?^epUa+!Pl@-jaMkgL&+YC-B(}NpLL~U6QtIwdt$Y$Lf@x}P>G+Yi@WAclb|*9 zLdltS2cPx;pyxs=(qvK`q*_qJ-J1dyh2O-cJ;CK~Pa5aQd!N0)^s84wnrd0Gq8nxH z4Yph8#Xz^GMrj|YRZW`bd>A=RT$IzoO$XQLQW?awFZeVAz^$b+)gcDe?VwI*9Lgw{ zYDDAi;X5|D%Dy4!X+QFeP_!-69qbIAPszSkBV4k-wU$L@bEC$*unvGWpgowB4g{C4 z)!5B+5GmroES`gXIuy{@;xu-Shd~+9lX+;3=uF@`&XdW(PxE~`MsTd)IKct{U%2gQs#!7%q2`mGh`H3OcnbApAM1DvIRQ`! zSP|5;NWzJN#eyY*rGk?LCj(d}Mk~Ei5b?uwirCoBhxe?sq-9_SN7vf#GNt8EvTvkb zw7b=X*i$X1c`l!2=rphm2QuSMx9oaS%4E^?GoWznSEftu+DWO5@0sw7Xiomj7Js9p zv*1cA0K-&c<-$<=>1R6I>Ry>XnZ=UMfrl-x+t2cvV8)+o1#hu{p2WJ$2z`1hJUO^# zgg6cf9bv@yJSZ)X)GMC&b#D{r9>)2pwB-5V(%S*8`+2b@DEu9gE)-k@$mg69EH27G zMUe;nVwv74xCD?Rr0qTnrCkc8+7gzj1$&v9E*D%OxDvqURKh({{}=~Q3W}3N&#r=} zdMWl_#YB`hjeoit{TsdU4F#j5+I*UNqnU03Fpr@YYWb7B_3qQn78LW+-rq_tZ?T|T0eNxM5$!zs zx0~5)9w5Y^H3uf$Vdi(q6eBw)Uwn=DNs*;=C-nU0Ux}U2=exjhCCJWf&MyOlr#|Zv=qK@V#ew!TWUg$X_AJW=Jdp9(^?HGeL%6p)s`vmt39sqEM=ID^T2TAeb zuSTod-aQ1SUs*N?{d?uGiE92lUJrx8lDH(AQD!>u2$b}w;4yhhE}Nq_kPns~he9XH zAywNnKG9BV%l9NS#IWS+8j7mK@F}?ZMo5?TJWYyLxS4ZNH*DVfpyXee>1wpggp&LH z@DP;iZrJyxtVTrl8Ea8u!XeXZj)j+=g_3s~J%!$=;RDdK!OqL(Ia29)!3%)=H5A8K zr>)Vd7ojx*)eYnKL9>2X@DcORZH#&&g!oZubqH=M1f=>!Q1sJHn zITFR>rcZ;#uP>p`wwd}2v})tthX1T3X*5o0_UChQE4J}Hyq27NUhcp*djAEmS@zn) zgpB1Er4-fIR_~Xfv`(Vz1KeK*hnM0!HP^ax-PF!-z62+GwVndNP+x{Rq8^7=kjk&X zHM-{NWF%kFfA}iA>1$?)q3XHF#)N)d-WaG?<^6_*e^c-+!M6q95quXgvZvr>STm(i z)tkO2^Y;N+Jj0y1tXxJ}Is5=xe&4nB4cY@34B8Lj!PVAXtV18*e*}K8i>Q6m59P;} zS|+!rZ9hCeF?aWOk)iw)3MwZyBz4Fn+pV8LWAoQ@7=pY%x76AlERhi?zkrf{Dfks& zK=YLYsK1r)J3u~@aK8)k_cH1Sm%S&rKY(k+0&0KqK)gw)e>6vFdWHKFIGmQ~PMrhp zKSM#cyO$*O7gCK)OB?53p;a$A*c!P11}6Po@DKB;J=B@|=jkXqE&a1e)47YtRdy75 zZ9=<>p)THj7K#oiqk5v$LQ)y(-f(hjwtc5S>sA6!$hkP5V7x_?qbxmd1>jiOT3>y~ z0%spM)9b9FsQcXPzF;aZekQ|_Kg#`jaICgE@^wI-&h8r)itPt)LrJ<$B4!S46==hX znQg}8DzB?Qbh;Ol;39N|$4+2*th6`4F|wx;n%g#N8USB}WJ0V_PsYo+(yd_e&D|@- zhi9nmUEl^;gP+HWcbl`qx(htfYWL2J#oeTMsmslw*IwBSz8g$-cjBXt=>gNxz8SXZ zS^HJgf5v_gzW@$J`9NqyLIOoeVvA0dr;TgU{}mocVN2ZQ@jd8Jk9kCD#) zUfExykAumf@p>{FcK#Dkb3D2yYHrOZ;o!8`2~D5k8O84NR0g^AIf_r$c>86`RPyOF z;D@P0VmfSn8~wA;hZrB0e@Q#-bI^EOv(VD#>pJ{?s9GVn?+f7bEs1$$48ADlWadF( z$vj^IlfDd~BUyG|k|mxiDLpFW!mFK`<7GJT?H%;|5wWk9^mHm_;J+4WC43SClDqP<6fe5AoV*`5%bAfW=_lZb!A3c5)wKNx_fNs| z#-{P*^fR8*&jI|#lV8eH;?ploJL<;#NdGc2bUGxz;u%G$LOHp$1FIzV*V0_r?ms4w z)1j(pzk!Clb;B=Y(5f#*b;)r&6kbp_8ojtzE5`R*%1Ng};?0tFQdQCKV917B9TfgY z`aQV*YU`y1^9M2No)+ehVr<~z!t*CFvBax#{w&7rt{+v;b9K0LuFt`#=U<>AErycQ zUwxj>LSV-K#xo0hJUS<`M??Wpt2Ey#c&s>4x5q1!TfX;LvEU?wQOh4O$rtdP&T5tY}T2NP|(XuLHx6@=2ct zbO%=a=+qZl{@s_^c{}a?b3P5@{PXp7IaSU5z@$|K`CC){eR_jnfM6h?rGzKaHHR*( z3YH5(hSL~`LBZ3mBhzYTS7_5$P0aOOShS_gHbuL+&k z6mpXH4^F<E5-oTFcq3_5h7F-$!@J=(0?!1SV|wm;E`DRMc-?Kd zP2^PI{C19;ztQN+!VeMmiRBZHiN6LE_S}5usNx!H|C0; zTFIqtAw^vpKTtK3zt!>3mQb>j>+4(%{8r{r|LW!%jcn!E8p;Ugv3|X_lawm4!F8Vb zYjJE)u7*+xanmqo0o(=}HfUy+qqHrlv>hN{ZdgJE?hh28skwSg+x8X~DyF7(!pBj= z4$xRVEwivAY5WaOPODd4cLI}^0}!qf6VBtcvxHp)y8`%y*my+_4YeC-K6_cxl~Nc7 zmXVKkx0N&=3U7s4?ZUiX+Ncwt=CL@2PPxHpI06%)4Qsy-(MF#HeeHUL%N(@v>~8HP zoaj8ZQTMR+x`Z~`WNB(|Th{(kPnrS^X)o?heyQYaaA{A$UV^CrT!pM0_U5@?iBh3H z_K{&40ErC$*DYPk(ocuNDvg(-@@8&dGt3aol;)!DB&R$6)Cng4f^SHBI)pS1XzYoK z0nG|cl`prp3~cx_y_#orKH&cbqe#V@zz{lwd3J74g2 z03W8)gYgK=kJN#(6QPQ-?_~LbhBj{Nick!ZnLcBZn!$AjK7E{)Uad6+a?Ag`5nte&pjFsB^VbREy>dJ#rhV7)=ajUsfCxb$)p&)Mvj z=$kGH_?uj~LV)bo$ccdzp`#q#MvyGIH;_s_D zNZn70Yfr9uJ&A}|;t)RoK0OG?Z~g~~_CExsPcXjenLa=5!`yG0Xn|!wx#!B+ou9 zfm&Y26~-K5(~epT>aH(1Ucr*X@KGZVVWdIjq&7Zy^*IfMkIF?LblNL)e zeaq*Vl=SQJ%rO1N=NP8+SDw@R07QqJho$^FC}Z(;FvQzjxViH8M_S#H)6bF4KRw^B zS2FEm(5TigO{Gu!Tz#?WGdwde#=_=AEuRI$7Ephrb#3$u;{2jq1NTEq3BL42pM#!$ zEN`vAa_wINm%c2MKjFx9zr-^Uicn}7^Hng78~HH=b!r~7G{`!OzOQhrfn&=YHXx72ugHf2DRv;^{sfMj z_u7J-{)=T7dyp}I3rtvnjQKkl7II*O)t>sFHD`tCMH^U4j%fDUI_h*TsW<7gl1P`u z+?c{uNayd!Xg53|%>$LdBE{a2SXd|Q{4J+-Nk8s z$4Y5CXan75MI@^7w6_PFUy*evJqcz?b`WQ@PflH0e1aXpjk4sPqSwuH-n1*6!{Q4O zmZsQyQ&5K}$L{xrK4csvtLxoi*^=taYF}uBgBBiX>$GeJlztju+lY&^lj%4x$}ZZ@ z=5)z99jdq3Pr$j0oC=MRPtv=|SxmWBN*!z{FpY!4n}xQ@`2sWEy!$W`mPUF4=|S4y z2p)C9X~-i@1V1z^R4CB4QYJxVjQ2)OTXuHQb_X}6r}k>ElnfV^{mAw11vhUsdUIeV z7+pr~arV|`LK~zF(i#~TjM-0nfFBn9_BCHsj4h8%C2ig_^2LZ5m5B1wRPZCa&tH6@ zNNI2eaIL1nN1x-x6Gyl07w0BJ?LQfhAZDMj+Xu`rM=XLk9%IF?;VPxjrN@FIIjt_AR>e8a{?!mLc^NvF$m$xTb1YR4BMp`6lQ%C&uWA19d~7>g zqRqkJjkMvm5GTeOLh90%;JEtN1-lj493SvS2x=cj8t1ff@z)~7%SpV=Iy|1XAOIOp zTM>BVDgQPKs&YhNx8pO9Vhz!dYn}2;zLDjboa^$;3owo@dDklxa*yJfyXx?ajwf*I z^OQXpj|9U*Nn^nE^V62m@3aAF6!D^b#+J9q8-igREBZ#H(#8N@)Qz)Lmu(jRO@h&* zW_BB6Wz63#+mt7Uru8bqW~7tll=u$_lwu#(0N!#*N-4lz0E~lct`rI)% zT@jjk7RyDo)_ULNO7J+XUGWInRZu!ox|%-&7g1cTCz-ixz~*L* zkDU7}P=4FEoWVpulvOkcYI+pFNlrK7YT{4M{qmrum1!{eVO|kY{TWJ$act37ht58= zn%p6z*zdVeRW4}_(=PU~b!jcRV<(Eu9!e^U6ek{QN(mLGV3NvT6pnl@KSp_YJ2pPg zlHLTCx60zB3Bv?w1Q@>@-ShJXied z)tHKZwEWIKEm>b`JXicZZ=-f>m3L#XS$*WbZbFLl zD%J8;fRlD5^QUq$yAu%V|oU>a-`=v=@N$&r)GXh%IM`r?%6k zAy=9|hcWF9Ex(l$mCXRFla%%Wj|{dodm1>lQci~<u?@hrFl@; zbl9^zHSw6F`nriFm&hIIT?7<&A8aBW?3 ze!(vSkC{K7t#D5N%>qskoM;Yp)v+|S@pkexfp-D4;jaasFMsNCRHZGJSH8F~cvG+k?oFUWUrC zL2RiUex*Mv!>?GjVrf5}8r;6GT6W-cjMLXl$J^XF&v#A7o7_45J<@5;7-Y=`x#7!A zTn0KfTTFFjWqCU;`?sfp<3RN!8W0W4xlaR|%PZJ)Iv6G_c17sn%SrP+D@@82K3yr8 zTUz1XBrn)AK(kvssWqtk@JuJq1fR>FfJ`Z$>8yeo&v3XKNh`qcfuO0Bl-qPRY5Y&q z=^UO@j$B?R)~Bh&w5UHn&mfjno;$g3P@czgWshfq9+v4>dg8a%(kcaO?P5D^Q-81n z92qsQcogNi(W-(=Z?PqB6`W^Fv|FgXxA9zQ9+hT3u{$4JR)x8DZzsj2jBpXr0`DN* z_)(y4AHux=I&Uo%{=FHs#@_fss3Tl7>Lyoj2$)>%Xe+DHoBpJWV6DE-Jrm|Qv91)& z#n93_1(uU8@##_kG8$)pmE2w?;VKDgRaO0*UfFhE4UUh_)dsJwB3%!y`r=XZSMRH; zZ-6@3d8u<$lpCQ8@43v1<0d&=5@lApm2op1mEoD0{Q@0xM*S9Rom)wM8|7AW#773& z@V9{{#&?{%pxb@+G7!&q6#N!kRV;X(@8lWp-N0r9pWwZ#D-OQ9yW+Ow$e=53D~=Aj z;LF-H`MI=~i@D{`4f6 zk#z{f#Z#XMH%fX6z9H>=5k^2MJq?X%%9oVh$8+w4iiY;SpLBW#P+eXvItbFUl0E?7 zyYG5GhC8$=n)URY#ODPs2woI?Q1Br@KERVbeOS~-1RoWAOz?5RCj_4qd`j?X0Go$= zO7a<=35e^EyL#!sXTjv)Y@CclG(LS!tWjk*XucPh?__))Z2AI#4ZgM!1^Y!&`RwRR zJfUifneQZC+>Svhz9jb$v_pRHBy`;gb;rLBne)x?vRlLPEwOVe-Ppo@8*JV$%&PN$ z$KvxXt#9zu&!=kTelsX&%L_?v>n9VMp7&y&$@Kmv%&ZgIAY6L zVt&kXwwdwO&Gb{!>1Tkxq3JQBKbOUfv$B3qzaTxx&92`5c!o#2>8(ZZ2(IVJ3SNWq zD=6vLQB3PV|2L-RQAE|D-v)htN&k*C6Kg9gj^Bgf%)gSUKagTO6x*4KpN zPf}I+HgXbWFi?LMXQ0pNsBnKV$6oAoWu}y`p3`fJ%dAc3ySPza~ z_kqrsxeZ!?S(!-0-+~7S-Y6I-*bLBkjkoUL6h~=QSq2GK6ATutE?7e_RIsLCm|!iz zaKW1dYXcYnC*LKO-b|WrXDB$$BmOi3JTqbNv)IwJPULk5G#>4fMv~^^e;xta%g!9| zOY4GVsx;xVF&-Rpj%s4I5VKwrvpH8G(3o+}1;Y=mWzM*k8IAg%&Wm&e^8M{G~ za|WF3b~dy;wVa#FeDc3hU{0wq8@HEM<=jL*jeaZV*uXS$ZVD!CE?RjpraIlh+!72; z_GAB>qb)OTs~WdO!EIgRwk)`9YTQ-@w{4Bvy5P2}aoZH!_BC$Xg4?0SZC7wR*0}8p zZYOZnZR6<-wqiXaTD}F8v@4+MWQE>c^v;4^q-h&H*UVOAwPM1$zmm3icN4BbX+bF4$KvLoid&DcBFd zi&n);a0y39Fzw$?nT#O0dt_b@fHJ(!V{jo%Xz^szJc~Y1a1elaU>l(o{oX3uVLPTpIQAXunIrD9!l$cy_5b|w;uX|=l8jy zq)wEDc0IngomPQ1qNZu@$7Qt<_bZmdiMj6&S3aDKIis#OfJp-cZ*~Se7!&cYu zu7Mmc$7(p!YT((%*4}$Kc;UCERiU<88HRW{J+R+tkR`?;t()eEfS|+%_k>4rtq#8N zp)(Br5HOra>Of|lumTM)DuTq7y59QR73|2fz8RIUCKzKtY|&KXus7rr|!nNwBuy&4LkvbpS&b(3rSw<_|_`!8{6E(yQZ* z>2=Vn7kwRYhe2WL7?7UYfSl2>CS`Ki*QcTKstTnz8wW{$0@KoVDJqnh`b6^PH6`9rPh6^wMp78~(%K+ZJpa^&?Q(>HAx3-Ew}^oYKmcxh?0% zpz;wEZzR^rppE0>aHLNFaFoi~Y5F8-Zism{j2ZhBsl2CYeXID>U>XBBHJqW(fK8tj zd@gdhLLD^L(C5M6EUV7ZXiC+%x1-fA`NsGg( zd|B~ja~mbKt**876);(NOWjqeUj@$Qpsbx`D5@^B(kMJequ2{vlv?)7rg8Z+WO~U^Oo8O z6VZcTkk0K@cW0O7mtck&`O~rV7{RSdc`F_V{a4V_uK_q3>MnnlNCOxOJN*Vq>kYSQ zVCm{_o4Bdjg-pK#mw!!JbLOSF$+?W#xl)Gx_t4WH1b-C#36OW{*~a`?)L#UD75q)` zcK}kMdViRZ-EL4s~L0kxu+fPz=mUB9mZcK_5WJ8`6{H&#g4@742*@ zP5sjia)jyWi6h-;3vLqJEVxB*tKc@l?SeZ5?-JZ8xJz)i;2y!ff_DqvBe+j+zu*DE zgMxrnPZz++m&B&0v!44 zINGtP43y^{ZhiLRFLf<~PRteX-{L0Cfp5I&x1>p%o@ujk zZA{KmXsF{Tb3C$nbk;zId8(JcPl6+V0;#lA4P*JCLi4Sc|6wfyB*;>hXzOw$+bB98}opys>i^z+B-Sxj#F7CuEuCp zdZNj(e{N~}4?d?S;b@KHH2PeB2sAwf4HXgN5p%(kc^d2p4Mw!i9|QHurL*QN_(c$U z@T_@V-(?K*M*TUl-cxYPGlOwGk+!CfgU!D&CU%l9w|+uCgH>vUa3qMFeHJVyqHzby zPkei7tM`*{lYFx~)p-khlfDI&6VYbgC_8-{$_Tdv`pSCUanolay(sg6KKcb*L-dA? z$NADuywIM1oaGOeP{wIuCEL@5Z?ok=Rc0=YLBcU7MEx_z(A_qoukPh-ttOTRsDn{LG+ zg0;jp#tHU@giFOYGHeC4Tna}z+5WyL*pno?l-d@iQ$*{8q-8t}ajtq;ji*A(UkGz& z)L5nGfahJ3a*VhKl`1RYMCEn-&frkeZCDQ+m%zdL=(7I54mKMt_oeDHOUNZoq7Qwn zg*KlC7x%kbEA@2J4C*o_6luGF6z0|e@-^PP+OHI+<#C{@YqmFmWA!RUt^%)%YAmP2 zmEH%9qt#{fTd7?FMV|CLcn%ExJaVq9p96gc$boLDExL6ebS7Bt$7H!!VYZ^UnV+*s z=NOeg`>9Gx=YmOZ5xiA!p5SeQw*zui+7`xdvQof1z~=Lz*udp`3m1Z8L+8EfyyLvs z?3V)gh*Fs~@sBZMjq38E7&DCaju7J`Q<~&JPfy2=&LoaTe!+ACM z^d7-|g8KozSwIi)xANP(ZRLEXkAQ1M;ak{`g3Xr-V!66hb13^`;L{h(qWV(+{mfSG z{#V47v$g%0JZb5BV7Za(Fr^>IvwcrL;hDW&Q7}e}DvfZBl%g?aW)9t4CgEBr={iAQ z#o$`O^(JpHOZcN!6;kIyO*cyZhv1)rUS{bK^cJinc)j3eskZ=#1bV1DgUq<6x7HY! z2K~7W49Z>}4Y@s_n!POJc1UeM6slsGNv6f6xH~K^b^}!f@2W9X1$SCO@H8sehYH%Z zfSpvXADbPuyU4?LY|BL1AABBo_3f1Y~xMz|r@#D}Kq2&y((SLlW z_k&5#2tEK{U*dxDD{1;A({c@=D-e(u;2>%u#nr2Ls?9nn&wA1aE#^Z2wo6uTMwY;b z!LWbqnys=4pOjzjmhSiz7(%FGymGy`uHe%(C0xH&)t`ZqJ_pFRQXFU6`+1QEGPQku zJuth9hmztw`Pvm}xpT9jp!IYM;)R=R6Te6i6;>x820R@LZ+~@Tw2!L3B%dKEe?YQ@ z{W4gt2N}>-6}MXZlK6Usx9~5EFKgU28yX;e6+BLHSJmEX``4gzfkOc+N;Q4MJnhrz z1&!iHr0+l<(N1?Ux#o`Js&%Dbz6%$xvv|)_dp-qxi}rnJh+#Nz1?zF0CmQJoPzm1q zTT70ItxrF+G}}-jP~jwIQ}iQfInW!wTotAv{S++GjCvbTX~UmcQWLKOr;M>h__=xP zS+gYO=$GJIpL)qI=&!(F{%obKO1~zJa?mXM^PEZyJ^77TN7s>QVSg*OIDzBHoiDij z4lJ%o-QM(jFs)JY%80Y%b@p+J=pUh`l@X`ZNANnqDgYe7Y8?BM;znJRKY``$Gn(=Z z;JKj}cze^J4KPnxo(=pP%~SAQ@(hHQUz3ZNT_e}3Qrw{EJC@scxebG$@OFE|q{?NI zRtr~ynrGCrpB8qor8zrZ18HmZ>QJ~Xt=D0&+eNIYY2_SZdCo&y8`iMAz;-EbsFZs3 zHA-3&3hh?O6;HWA9R?Mzw@K|%@>+1@RZ%uHjoibbRiCNOuG*VS#|Y*0+N9awDES7A zvDA3t@RlJ&^aWFFA$su%%Mg$vLT47zVX%v71$+%Z^ z9PFBU1aGv&^#x-D8wfTOY$VuNu!&%-U{k?ng3Se62(}b#CD>Z9jbK~Bc7p8%I|z0Z z>?GJ(u!~?v7R(aN5zH0L6C5Kr4$x&Ksg0{|ge;I{q2PExV=Xp#PLRAva3Y{BV8C{Hv4kap zrGk?LCksviw289E?t>=C^M$vwq2V#K`}QsBIZ)GEWO3PBoNm6+lVXI@TcLK@ zCbZGt7WC#ep^g4_=#7h|t#Z!`e970spASC0LvR6r8C=(*>wi)eE88tD)iqXmFjenYlF% ztZD;MzQ!W16I>7In3RTW#q%0~Dn6o7E1^~-VyG1Nm-SbZmk^ghiLD7GyM6Ahv-AuD zGr|R>GZ=>6T5Uskq}lAR1=pBYmU&0QyMqSI*!q{Q zoIx|fU>j{&jAh68^p7p+#VgSrKQ@B@geMUTV)qEhFAC_&#;m5^5>^6?R=BMo1l^~Y zaxqqGmlza(F*sjrR~Td1^*5lb3bZ4WJf=UXk~stz3=Uqjv}Ph=LP9jtaoz;<2R+0%%-chrB2T~#cNv=g~U z*K<(MkBfhQa_IO}ygOUnE`Yp4j|r_Ot)=gGeWfC8fO=csO6`MY+sz`!0Y(}F_8mXf z^YmP=wffa5CEI~XF|o&B!Hr z5AFg`mA1M!i4r#MxrBPu>tUf~yOV=}hrYZ45O#-qfMHd)%NCrI!H?~VuY1|!3{D|W zV+QM*yRV|OC%l!K?7n=`UQijq_Ey!kM|o)~T-j&pzI4*w&nv=8(#uS}nm z#lmv40-6T*hW{=%qcRSm1LK&-^+7stLTIXR=^S4_k z8&#LC2=r72oJYW!juadvI2tgv)+_als0e%d!B>iyWyaZn&3ay5({kO-K`Xj2%^?@Y zvtD9(w&sH6!fWv$GHxC?Hu&mKJ!D6qj7X->hdv}U?UEKHK6R0fg;xF6ZB5I$7C_0j zvn{ujN0*KPKd@_Q={T`+HJ4CYXz4u-Svnp{IsuTcOP|E#<@-I0M4t#~*pYgmseLiD z{OUrbK$nnigtulO2VARN3YM!2-Xin1s0y!R&vYtS0$8g5rHE|!-&~uTnEFFWZve2; zz51u~S^StOv@N@G1E6ydYC2ui8GwAx!BxgkoJl%w)pXR$xsv1P^mR-~eW8!GO~+^F zQc=>+^N=kJmV8xNueXAJ0K%bh(a%v+_U2T6JH~1i=!44~H|4ow?{tm@oGXLoQ1{&X z7-gs3F)n=sSG4Wqq|nkwq3|wzany>arH|>nejLCmD9mvIDt$uICk3Atd}UQ2MfEl{~eerAS)cWRZ$#=VXo!!v6vXuX2{NmGoD$ z{SClv*_iY6cTyX6ANA(USYWwVmwp6)$8PCbOS(>Qz2F7_r?qkGY(}1~bR#(4f+;UR zRoI)rw$4B0Z+)iYW+4qRgQJA%d&3p-wOYzuKZ=aH0wyW z!8x)kXGBih_-==9On1KKVOT>M+|g70WlG!1eOFKQ>ySr;qbR0yCw$#TYX&3WT*kGy z7Vll~b{nlwl!U+ z)qV`B^4;X(S7{^UDYq)rFTfVxF1-hifnKK#(mqwAYPp|k3R;m<<0T6RCY z=|KR_L)^UyK}zqH@BzVdf(HZ-0dPgUUX_C_4~u+1fNhYUt`0}RoibYSgAyMRJSuoh z@VMX!!IOfg1Wyaz2WWM*Zk}z4?Q?ntj?w>WFdDocvdCuz&kJ4vjQ!6>KfOpE^nDro z&U|M~b%SI7VQ77P1#4cfj&;&*o1;H#*rFwGBTh+RQWWn!H$QPCIEP0+m8>W zi9B=6Y#-ImX_B;4sFbt9J$#nJj%IhB`MieDvBSvCI5@Z+pEQ~0{^2}X9&!39VA7tl zMBCC{JoA>c5~4+$NQHj9++V9mQ=t+2ZKqA67X&$(1bN%1r`)ZdnwSQ4 zTT_`)7aTmd^fR63bS|}@S4a7j~O)(Kjh{#bI4mG_=u(sgM zf)Rps1S0|cRqg&nSboEMUD2Zi>j_2+))$NsY#`VWFm@s{Zb&BXD%WeU6O3AA5_43) ze%rA@x`);d*N=?Qp}lSoxOa?6cfm8TD^I!`Z0o9v=Sc@L>c{u$SU=qcg&#ULWv;LQ zRT%VkX!$*n5}i$VfZ;u@(0Su&r~1W1{kVXd-US_7YiW89!I|y^OO&^%XG$OCim3ci zy*fsxTjAuy$@@ggR($-k?&WgE#Pty?ls)=->3VVuJrKE=ik^;J-Cp%kwpg_{K;6m7 ztlL<&x1mSdOYEV9n<-()f%Imd?&EVKG+gkwrLAU~R*g)$3Cfs%w;$;ixJRomv@L$= zHohO&-qP4^c8p3_*rNEZ`U1wn`eO~#-z%XF9LLIb{1)d?VAWp*cDUu&-{&01IJyl| zFR*T}hGS?u$MoDU4`I?ZQ2AD7Grxx{oI_sQJ>Mj1iC5s$bx`?Ug)iB6teY+&#l2fo z_AFgWI$b8X9MCZ`&E^krA3ZE57^6Bz>RiD*z)-RC_~)`vUAFkd9y80f@k+)ODvZF!G{hHIkvYoIGHn60v`}!o-~>Rv#TdS< z>S}nKEuAFkWWgzdWrF2`QvvzzKMj#O(sxf5`mXJKyxpfdH)oh&5ud@x)Gw$VyY4pF}yT)t4`9?I3c zcP^AkdIyv~C&EY03wTZ!0*0GCl&Hs|5!H%q0QFu32V>K$0PMwJd9lM^;`4$gqyJ7Y zyeidZ31jm5zj#juIRV*r~br!;zcNW2vQywA92hujX7$(@^Tt99EzaDwhs^gbhDiS$X_PZ5-jPJ zzh`tNxP0j@-hGLfBvX2pye`*;)sBx?>I!iDIFC55d1@Ps&v2FNY$(JwBaWypwP*3o z+qDnr;Qa)q`5Q z7;Ji{;1a>5g3AP#3$74cDY!~-wcr{+BamCEgKNPuyrp#YO{@;(BV7-5c&(>G0NXfj zu;?2BBg&6m71f~ZYF}Mu*$UkR7e6ahe*4Y}y7Am>akmI=1+e+llyvNzF4UE~NN};> zodA^BKDn^!_f0O5aH-%jKwtgDqaCTsNf7{42wXk}EGo(sGG7Uxo_W@@Q#x1FI|Oe5 zR8{!?RqnxCC7dUCo8WxG+XWW@xQ?U-GoZSp*W|W4VI5nhgXm5h$Np^`>0s#0PJJcK zPgJEtx?}lpz@cKJwmR0H4g<^Kifx!oKU*JGI2=43l+v+dI@9K!C0HRiTW}75j|9b{ z?3kQR;uN7{^YmsirV)a500agcJPlbINtz4Cu?J9%q;Nb&Cws@%xnH&vfkdB}Z({d`%((v)< z^}**m&(;2C3)73LDo{;hOlvhQmr6Gv-QPyKj`N|_hF}Kh^Vo33llnIWmjkr<^O2j8 zB4FwZadA#%nBF_RX>%yVqT=idy|5)|+8tX@ZGYMd4CmyoGy?@QDw=JfS6j<}G(Bnk zeA6~y21$!kUi+Jca9i*>8eQY7GqCNX_*r^;W6qYE+#U+yUq{AXRfjk`fK59B#=M#a zZRyUP;Lgs8Rp=#zL`+~f{GL3+x-%TZ>Z&@y#}1)t^iK6|w*EVo2H*3R32l zFsFBuv-te(yIb!gkAsrN3nmCA0{HnG$1Y9cnYFLPFz35V-UCn#ZPkX!qNe}`w2yDv zQ^H(R{yRUHjiqi^eX)D|e zaQS>PUSq1TGr4td(>T9my6=F8Ns<=#XQuLGx6->T;!eR`g1ZIx2<{cU zTksyieS-T14+tI6uz$&CM~ubc@2I5I+IuTnzlR#Zo?+7jsR=@b*LP{H_9QHQK_!)QvzU#y=JfAa1cS`y^cBg)t9aGD}cVmc%-k2`kLVDfB}J@ z0&~8v{0(rpD`uVwG@62m`zF|IvYJ>L_$`b1w%|L0?+U&r_&$KJ*IX3-ET#eH;Rj$E z7gi=^1CuubKZn9K-}=_4JLEXfqKaQw+%E;c0yN%|DkY>}gCAJl4{c$80~U2&#-ntQ z5`Sx9zXLRG!c4$?mrB#`q4Dl<=+t;$B7c_t58}HQnf?f#bFg~WYgN`Bf28t1!JGap z_>17LfHr}tv!=g68};uLoBnQ5{}B9B!0wJ~$$$YG1*f$#WW6PMC(rMUFZRM}IKcw-H+_Whifek_HIg zC>SVMRWL}f8lYpFG}!0W1w#aD2!;yQ6bu8Pz9MpI!#WW;d)TpA`Z>XftPmq^=a*XC zg{EH^%+R2@LUl}4Z0VO^)2{$koF@E7KX%~yj14jl&9C9eFUcDKbPX4klz!8dG8MU2 zF{R%^8RjL1l4laDqx_0FRsXIl-LS4@S05k#eb5pKC z#HvsWJ3PK-k$0Ydf|mX)_zQr|P}|pS{|at+*hm$sCB`kXVl~p=j*Ywa*FA~*T*t(@t}kiO)_&yZHUb6_tTR5~s+>8iaIXUQsIKML z+AkH{4@~0ZnHO?8pFeK3=hcj!p3@4c)N{9CvA%;t&$!; zsh9@Axmnl#`3A6~p>teZE47DqIbR!D%{KS6p54njda6gOS(z}ay6i1i*$ha1I6!WmeCkdZz$4yy z29zocuCJ)@5@FgkU1K4erXQfW(hmhc68u>36TwdfKLa#;ooQq(eP(+$Hhl#;{jRlJ zJ4gB|^ii&vIOei)XH=_FY*6(c`q!-P>w<3pxbqU0;ov+|b1LqTiu6rO?aHBHlpYto z;^-`W3r$P zU?;)Of?Wi=3U(8W6O0#35KI(I66`M6Loit|MX;w}F8~teO#p?yaS}CE^4@}d1k(VG zuiLn-Auu-`Y};2J%Nh)wn)UR)@Gy>s0bJ*W!`Wjs&#>^B0DM}P?QzXEbV}S$u)p8{ z!GVH<1P2Qa5gaNwOmMj12*HtpqXb6_W(j5s<^ZabAtg)gWvD5i49=Bdo(%Pvv>h_e zm*E(}u>jt6jf{q@7_`e?UMg;XS^zEIwOG``VQ3bb!@Xym2QF;Vj)#^`01$PG z;Yo``ohVog;6{7kOR%NUlqJyf&-lbX+L14>K&GY8hk>f*laMC-1T4Wxg)BGz!q)Qj29z>xmvMe`&5`k1($fu61w~ zS`}kG25eUH(cRg(X+)_vu$T=chK0~R7(4QB+DPKYf=vWt0es9rgQLn!o0_hdMB0pW z4v}XkeRESSbGHR4qIOQ5fhh-v61D`JwgL>YU*Q>tp}=F@TH-c>ZRN0gB?J)x!H(hS zi~I;U(cGHiplR9Cm!PzTLTXE!z6_0b66#z&7qLw*K_!~)(!pPN*&5u|=pUOyPg7q# zeFX|bs&^CTxGo|t4XvHtOnX~X&>HFyV6(2ZT(`uwv|LreVy%@Pqr@TgJm|l)t}#Cj zjof+*Ay;AdTSNH-^z@yw9BBrrE*l zvcDf(dd3XX*!520ET-|Hx@RMUJ&z~}qW1waJSTWw@Pgn)!3P1@c^m5yh06k&{E(y% z0}!IwS+g?UA0a(d8L$I3M62GqJo{0(%STpOFds7=k$El<-pM_Gr`m&6Y(&sE& z;c!G<=Qccj9&975Safgtg5`SXU`-Lqvi00UdQ$>(p|2p*k&Hkisg5eign<7~9r*BDf`|GGIZJ+jULmTKeOII^o494U;V#j5vY5acP zcbnK4V_l9WHcsqWuHP41TG&aua%ADhU|u$9?{wUHUnx{yJpw!Z^nJ7m>$4dBrAgGk+;AzV6s^rG5u)&(Dp07Cv?l5P$CN=Au%NHSEL#Ll193I z4W>`XdHRjikTiqrYzclVW`9P>@JU{Ce*`m7tuvc3@ymD0dHS2BRAc*ho?9bVGy(Fm zGHpbTn-?omA8>tQC8Yj7SLMASp7TAw0X|Qm7QP<-MxOf`(8$~Gfuzzz{h&cUO<;4D z2J_T5f@%`w!%JB?*YNHf5#}q_BfSZZ75C1kgG-tG9eQobza>;}({+%S^ctJR!f9ES z#ju==sl9ctvGg~ABSg|A zYJ)XKOI^hpW`iGfk(**cl$(FuSc_~na_p;Awo%pP{0+SLSq7KLlK6pByS3u}|BazD zXfZeUNImEb)dxTS?m&iRsaH?W!?)rc|FiLHw$#9Pv!!Dh53Sp)wV{k^pJ>Yej`TGf z_J2Esc1Fdh@AnGBci#WY;d}M^%g}LbRyTFUP5&D**uFCUU8(E7eASdn@6oJB!wd@y z9dt$Y9SdD;`oA;z|95Ry%g^J#>SqBH-hC6YX;wwSb$qWg|7UaG-pH}p$o%W-H)*SW z_z{&h>fX*Jz50!(?j9XJF{ktp5eVJe3bx0;OR=J*RZSR)!I`Y-VY#|NW1eZR#F*e7G z|DA%%2=pH7UGG}WbZx+ji~s))jGcF>hHv6c&N#p|=H(_}`hPkguU6oQS7UfJ(a=|T zb-$@8B>%UT>nPko-AyA+$NBoKFLjnA$~L^K71#Xh8T{Dim>_4Lfl=7% z;jFyFj<&QW_J-HW#Jb&&JDqjwS6uP`a#8&25$oQXGG>im2&|jR_Uw}XUSt0cbMGG$ zXO`ai7IfLJ?xq>cFj+RDXKP1Dmm4t&cg5;*CH}y;+(WV?VKXF4_L3_mAqm-#ggeb< z$zEn}VQS0|mkn)KT#5ed`>z-F7G2p0T?9)cbkPbIy6rbDneFA5~O6`!K?HH2BNr$-vk1aQ*Ap`0&i+ z&&_{W!2a8Julug{<#YTZfBfJ@Q*X}7u+K2@;SW7Y!aIt8g>P&5^1?Ug@tz)5>zVL} zfp34=LXlbFv(|4;0^`jAY^3-i6ua_Y@1wt$CGd;=@e`Q8ZuPvoSaEMkX5%x`_HQzN z_+@GF)!rF*x2WfD*`DpnkI^q+hx`?D#&rEK5t?{YBILgz?f-;~{~?ywdrR`Nr28_D z{E$Z9m`g>wM1P&vLiRHn(Mzv0)m|38FZU@Izc=QJ442qn{7H+S-xb-5yzygJre*vh z6SJ7Vmba7L-Q}Np=V$#pZniyK@alUv@yQwYkLzFW1Fx5*=U4U65Bx8FG4OU^U(W|4 zURT(Ei&vp~XW694ji1+k@S=b}>zg0y=o_;y=*JuIscz?emY>_5+KasLW9ID(FEYWT zzbPkqoD^{Di_eUH-(1%F&mE1AKi3o0i+%Eg>;1*V3*El;ri2#W;Ww1}N}gpD%iI-c-aBVSNPP`@Fis zJ9GHsQ2#G;q7y%_rT;3={46cjwUsshFc7xzC8LV}yhioH_gv1sDW?G&x7Yjm@s}+m z>w`bTZ_b?wZu9)V$-_Fq-)ZTie|X0jf6bvkUikUlnS50b{n%D~)e3LUJ4Vlcnf=f2 z9i!)c@dImqZx**rf9gB|HNS!Ks%=M~<;Alj{c+PTo9+4KpN5S_U%q*K-5*=VcTVDa zCh%Nc52_pg@q>E45kG9j&lj0*9L1l|zDaL1xbGwBuLbp&f3N#eS#Mq9q6hEjA~kfm z{-O`JKI@ksUw*5%{Y37wMz41r{bQWBS5Mxf=jT31{Knjs;+_n$CAJ~o}V9j zt)EqRc{sn^t6V00xe3zv<-5wuKBbL6&C_2Bx>wWx)Q5rgGlI{A_O*Uq@a3U>u}6Mb zOJ7`ULi)x$n6e&z-(1b$uU^gHH@?<;(61U$>yIB!@6ptYT>cQ>L9b7|;*^vd$s2Qf z>W{j~EC(zYlLN2y@t@z{i_Z>zsrAN>vH2cN-0AD5YCT8am|GHk=Ot70wcfP(F?ezC ztQUUJ%$M2t8E5_~&%&Ftb6TJ9=i>hNu)N-PM89ejU61^Tep@&4FLwJw|C>>f32yB- zG2U;=naYOJ^~jI6`PwNzgWck1BJCDL-)^Yb|;C|IyhT-oWUhgBTubSa6^30FC z`MPyK@-H%rj=m`uU%1D>XLw%k)1a4!)c3&;-kb9v0&ke$mn@s!i1YjN-uMwSzoPw| zqpwJ@uluP19+u&2+yB6vhjb_4e?5%9YJcaeJw?`nZx(#C!R?gKhOUB0;l)t<%hoyy*ZyG&?iFuZx}poE*kJ@ReZU? z>wN_FqGbDWU;MavkHF+^mziLEC6aOVjd@1%>=67vH2K-5-;4e5!}zAA-!peJul4=w zSErxrOD=9-%eRKPC+>ghv%qKP_urb2^kXI97XbV}s(ZbET=MGpSx@}vmEcoV&$;== zoM!QrP2Nu}yv~z_?Z%JGo3k3NZ@+ei01ms3`WRvdkmzNo_zDWAPH zFyF){^{aNnulv~|wm6&$@iqG`=3~72>MXqd+-ZJ=3yWIc9aMJgC5At1r*VJuEByOx zoXL;#NLLuoeih|+{0~xpxyjG^yDH_n|F@ohZZ3`RW&8LtTwH(rRUmruyfPa5*^bcPV}FOf_|KX?_-bSHEBoW~ ztNT}tg&Lu+j-LA2jt$?;f_Gf?Mfdh^V1MJQjn4hp=%2ly8Gn?&@S;Lz<( z@BVau$*8~LyCCkUb=A^o&I`{6(I36JGfzq(032H$zL>DRq7UKNj5o>ktU@At)Bti2U){c7{%uGwdAhH-(cd#~s3 z>2r@qp6&BP{6^8Us%ZRYyP(}?6aLAg$s5Usf#3h91jRmP`C@}FdfZ`t@%Z@)-+qzO zy7hHmo4hKkU*wJXA=4NC%7=b6Ko_fD_a(-w9Mz|D@CO*U8pW9ek72*!*N(fX{o;oF zjpslAY;)9g<||$VFiX!@VbuNuAlWU6oEgR6L6p-XVw_B4N4 zYWZK2^P<4zwDXft3IaUM^)!XthHBtwfz_U^Cu|$%7J{X_pDzfu>MDDzMs1e{ED0Hvsc0P z(=hgu&L8#Hdqwb%85ADE=+h;3cwg~y_REHc8T3D};$J!Y1N|>w=UL^|p#b%Ek{P~X2UK4!9a}2gX|L-}!I2_xUKkl+GH~A31 zGyH78ZT+wHdg9eHkI!~tN5i{AulG|^uipDyU;Hq>ISHqk*I{nB z5jEVrVdeg*eneXj4chtK!u(L-*SXHB0Y;U9T>YW>PQoX!^y44+#Flv%fS}7^mh$fA0ITSeS3JePcdcgwLJh;>i4H=k{CX zSHlB&d3pJHhx2}#fAoLI|LISIKmDosg-hu31A%-a^8@*B1@eyMh4S9c`)1z1$or+d zXkJ@hkNNpi{Bi9Mxrdq`-E8keHu!H~ z|LgQcKS~~KG#dWk?GL?ZV_wWp`~HT}|I#s&BfoFj)_32i1i#C!IsXmgiQcaNq4|Y- zV_$O2%+K#r+id#4(@fJ+8+xcW-u;DHT8{qrjs6$vP3wPQ+G{r>lFt}R@DEH`+4E&i z?RNC{LQnqCl>FjxvsQ5a#aMnAc*fH|GUcJ;^w0dT^B)^3!i9-@K^yEaTJuG@i0B`& z1>8>IyybtVP4G|D3uXh)Q1RVnzh%nt>vo)n|6t1BK?|5IGZTMm*!*lR{`xG~X^zbg zHscs?KKYlh$nxNynX;0IX$iM0sOf)9D){HBh4qd8@a_uMCss)CFHBkC2~!_Y_dMt_ zy3qHG4KgqIzoYiA8edTxR;cS){?L?t2W5&DE?&CLCkbKohwhAhXzbqkRnr1ird2>-;?H9uwkpU~E?GgkO)SFp!0e-;~F zbUYuIze2e?kH2H;cCszp00jTDDG&Z1MwB)gN8mUbaw`OTP3gC_STJz7f~3Q*3Fnga zN5jRc(DKRU`c}3-i~}<}ni&%pVp<@HdU7#NV*ouZ0Ny zTeRS30#2ixlizZ+_*oiizi+hMSP^$+5|?VT(ewAdv2noG{BHAaqlJj+A6qSQj+Vb; zv<3d6rsm%n4HvQE?Ef(nzPLZw@?~WvF29TRvB2?WIMxMQ`}am`Rtq*@c?iG#_yk)` zshLB3q5yvC4II|{JyTNf?@Wm{2-E)m2F){(YBCy=`Djt6bZleB@_#k@;17&2>1xkp zxde!zA-5!W-e~?6&JS25m?G@1ShU*V;T{5p#x;FdjAlRhz|=F}@S*$Z7uf{AXDrNl z_oqL7>+sRv%RhYRt;6pZn!~cU4j2E(yw<*b_*=!%zWlf?C|eR!}R0t^E^LHcSrmF$Gm*l{J&^!9t|IZH~~@4*8e2GFyA}KFGR!D5H8>_F^7>_O~992jvj01<=; zK@>nVL$pA&LbMri2A!Wl=V#FQ8FYRIou5JHXVCc>bbbb%pF!tm(D@m3eg>VNLFZ@C z`5AP62A!Wp=V#IRS#*9Dou4g&D1j)2D1!(?ltWZNR6 znju;sS|QpX+95h1Iw86sx*>WXdLg0^F^EBkIK(JK0wM`94lx0df|!CxLu4Sb5VH{T z5Q`8?5X%rN5UUVt5bF>d5StKN5Ze$t5W5h25c?1ZMvMd?f)F8y0*E4r5{OcWGKerl zIYb3SB}5fOHAD?WEkqqe1fl_=(TK4)#3)1pA_*}LF#(Z+n1V<{WFWE-vk>zTix5i? z%MdFNs}O4t>ku0dn-E(N+YmbtyAXR2`w$04TnIn}Awm!Z5JeCr5Ty`h5MhXNhzf{G zh$@I`h#H7mh&qS}L<2-4L=!|aL<>YKL>ojqLELiL=QwSL=++hF$fWd7==hc zBq7EjCLmG}QxIv03`7=U7GfS^5n>5q8DhnV@gPJ9q5z@@q6DH8q6{JoQ4Uc7Q3+86 zQ4LW8Q43KA5rJrcXoP5jXohHkXoYBlXou*4=!EEk=!WQl=!J+v#2^MC;t-<{35X=b zIK%`*3StT(4UvJ!Ld-(ULo7lpK`cY87;$wAVjE%yVi#f$Vjtqbh-(3eAVdhF0HVl< zi4urXBW{&JgdxfyDj+H$svxQ%Y9MMM>L4Nz4G@hGO%TlxEfB2`Z4m7c9T1%mT@c+6 zJrKPRQHU7CAVeHu6e0nUgcygIfJi}1L8Kuv5Lt*>h^*y93>wI*15F14JW46GSsa3q&hK8$>%q2Sg`C7eqHi4@56S6e0#O z2oZ-Eg-AdoA;uvlAW{%h5NU`EL>6KeVjf}^;;=qWz0f?Xx({ODXu1&+WX}C5G*QVjxG+dj8YtwLT8m>*lwQ0CE4cDgO+B967 zhHKMsZ5pmk!?kI+HVxON;o3A@n}%!CaBUi{O~bWmxHb*fGH@-^WW)?wnL#TvXk`Yi z%%GJSv@(NMKCLn0K?Ou5L={9e1Pf|$R0k1(Xn<&hK=Tj75Q9cMg2^M8Jc7yNC`1eb zrH|tfqYw#*B*Zwx1VjpA3L*`WfyhG4Ld+X6TLA(8o}i;A=;#SLdIDeO!Vu*Uu$zP3 z9L6z+am-;Ha~Q`Q>dv9=9O}-oF2*s}4ABD73eg794$%S83DIT5LJ34EL>UD7T|mDJ z=yw7AE}-89^t*uO7ts6ynqSC5U_=WT(ZV9c62vmZ3dAbJ8pJxp2E-=BmJv^b5Fv;H zh$4s*hzW=k#1uptA_IXgpQ6jB=<+GLe2OlgqRXe~@+rD}iY}j`%ctn_DY|^hF1HUK zKDrpFJK)Q)fL?+HxO6rb%jTl`c#FB%yk@*8o~STlIABD!)QBO|X7SJtglV&QXb-}) zSv+L=DIN~u$n;Y@v=6asL^Nf@i1E94q!nTmq79-0q8%b(#BCnYI0;=hL?=WSL=QwS zL=++hF$ggZF#$0JVWLz#5;r0{YecdUq7EVgfqs+dD2dLKO%TlxEfDZ8i7u1qG6@gT zr4VIC+}<-{DgY6LC^6zj0wM{4ekWj;4MSuh){XcaO+8tLSb|uESTQ1lE;CVxA|pO+ zfPj-TXn6+xW=c3S^%=d)8`Z;I9WU!Hq{gWFhIm}Rs*-iRZ0bek$AhHf1$t4l$HV!D z-$DHulNWs-K|EBeZF*^a7q>i5@=QLUaim2h>_1n3Yb-W*L`ENRbEnGIJKn(?B9m01 zca&Y`)(1B-CwU`t(^vLYLph{`JRZ%dYYN#{WLz&5@?u^uDZR|SlY_M9fH##ZtVzsI9Ux#})6ELZYa z)xQ}H<>wzh!tzL$ULvZrMmkX^<)D=DBj&zzF%XGL8|BU5KjekHS1&%@GLFfpgX8&o zj3?44m4XyWdh>JyMF|z9VSVyn(mLfF&pXFi=Q!gWE9fV@0j!(5`nTxG33Jm5w=o#A z(|jPi59XaT`C#5yze5*3Fxd>N4ZeKO7#sTDqFz#Z(R_VxOO(-z>V0opw9l7@BGHsy z4)kJD#%x};-XpnOar7|%gf=QKLLQ<}X%0zpjuxLpyS-r^lhH9Avq+Hj_nv~^w zY0^uL%2q|SdTG#0P-VM%+0@I9$}05IsF#Rdn)OntcB|f>5yv zi=%%hg*m{=Mdj$<6_z@seg9v+*Meiy_qYDjj>?*E$7Z8#&sSr&Vc>BW1pW zCWXsXF=D3BjNyAdbk}rm#(7{KmK1s35HUuX_3|ZRf`vRA4~Fyd%kVzYJK;RDRDWRB ze)NbreBZnp^`W=IfkVM?;Qc~~Lr219bkReA;u45bX!=5j3J-@-Gyjlj?r7~HQ_@#z zRC(s*?V`K@o;Q6vU~Kb>e{{6gR6JVyPQYmO)a&g)-q9XRL(SW;h(^(eX~M_=nmcUD zYme3*3FI39<{K_FFCp_{v@rBu&BHEJkq^euI}VIXdBu(Ipyfs?-V2*K{6StJ&h;Pc zd_!bXMvQmU*IPJmi)~L!e-qV!1`nF;8XdE&}dG7`COa zre32-mAo=Dyt3jS83*BoIWlET9n-v-L^F+HB#cQt@Ef*{s>O;oIBB7tGu{rf)QB4nyX! z&m>zk7|1It3dEgkmgUZGg(>Au3;vXSA(KMZT7je*GK0;-V z`@YNI;J{Z!qn^racpPb_kZokyhDpKVs18jRY$asLbgZFOX9188Uf_7bCs#?i+fiIEoh|-;w2klz1tQ9=zjk173{! zf~F_4&Jn1-AZ+@ATJ^>N9`%L1A@mg(U*T4e?e-O!;$Sgfj6^ee1u7{qB?ZNOcrmg- z&6JW#nf1keWrj?LcrnuJFf1iriu=s|W+s^z2Zd&NnQH{|7KiEMi2A57Mn{VK@M5H= ztTgm?aUWicZb3JpN6-U^uG>EL zoIdufdf!p+vw=}HFiJ=W5(MtX#eGS_xJt$e6M_kV$yA&c`%H+V8){w0xlT{E+D=cl zvVp2^cy+uuw-hnvrlPONHQHBd8|^E#jkY!^3FddE@kShW{5v&ERV)vS8cvEH=mEl0fte}*eK z8^aZZN&$y4Tq~$W$;n>A$zH&~EMb7DIWRAnXUU>qk+39KA}kA*2`hq?oMR)-0vWLj zil)lSEz z)2h22b+=XbIO-l<${BAXx9N=8vDdmDb<|O-jydX>RgXIAQL9ck>O@X`X3?t8EL!!l zqh7Y^6-T|2Q;#^28mY;t&#XGut5&_{sMoA|-BGVIj$s8g3>b(I1~^Lt+A;@vP|`oh zlKw$LTo5N{W9;X~*sqPTpBrPpHpc!W&Bj${oS==dpBrO;N+l_lObMn4X+fHh5o8ET zg?^?&zfz%}sn9R4`{lLrqMv!uuNB*`72C_!271xjKvWPV!~`*dhCRSx4`|o}9QJ^Q zJ-}fPXxIZB_JD>kz#$B12m>6#fQB%@Aq;2;102Gs8g_cBhMn%ngB`-IU>DG@eWrhj zu*{PFWt#2DY>%)n*ar*-34=k_Sy7!8z@t^dqgBG1V2!XYSSM@u2MRI?k#Z$uLJUtT7IAjB&*>&RE9h*hmJIJ0J0V;trfPX}mrI>4qCis7wX z_ah~?`;n5I`fSRo&!((8?WogeaX_;(z}Xql>KZU-1} z)C^hFp7GCSox-fGlX27;&PGO4BghJ}DCu*~YtD9ic9FA_qUCT3aJoeERzfHhlmdq0 zgdrx&(5PUPW@R#SPK*)9w}^GQ!BIC@b)%zhwCW~D-DK6xj=I^ZTOD<4PCZg))gxu_ zHflHgvn{spY)h`r*)~VrX4M^zy2HEXKi29WRO!*gG5^uTv52RL_!c#uqQ+M=dWuG0 zQRgY@d_}dVsD|fff{gPSZdPZs2b|#^a7KH;nF5&oxRz!=t|in7>Ie}*gwP;pAT$aZ z2~C0~LbITm&?0Cdv|K%P?UPBC_;6uVQ5-Kip)ohm{Dr?eJMl@PQR zPL&dr@u!$jr^2ceX33yn5O5|=I1~4st@WI(^%YH?f}xJ9)i_&?tJQeeGdn2z@Wx6$nj)qS(2$m$w{TlNv2DG zof@cPYY{<&pjh`a)~702a;lOgjWTNloT^eu6-$~_(!`Q#l~fbt!6|ysuRQ2y9`tLr z`#IbFt!ki^t+ff-2(-2N^2&XiJQyjvOhA_k-oK({%+4M;@eUeR|9ArNy?e*VCwX=6r z=gx6w_O1HNeolSX*=f!)s;3l`Qw+**51SwE!7zs7f;d4g4b!FJQI(9cBq2!HPU>vm zXBoxeQrVQULb;$E(0@SaKd`lvPVFQsOsT>YU|^guFwT;+O42NuP{{;KGAhXcVgW)d zU^|&`I+@6+M@p@FgwCGaX4RA1XeYi(h_AAT0`*WpC=rwpLV^(BbdYd5nCs;1tnK9N ztX0oD>UmU+u0Y1rT1>4~seNC-(*W z>|0}u71*Yn2%RmpYUk?gtaJGob~+BTdCm9913I)iL&R4@t{DkBV)5yFD79oB~9*hWr0 z60+)%P)>bz)2h#IqQzkacbLIF)y?Klb)#gUkucB*h$%cVhUfGmOHMDMAr)2o72maGZZ*g!AgR4+?5RI&j$qoAB&PzGvQGEhsi4w-cj)&-oS z)187&lngYfP7|S7&`f9%v;c;y3B%QZQ|j~-J00p`$xs(ch7_uyZX4SzC$?L#IlapY zr*{c^f<3~%V4rXxI3Oqhrxk#xN}{%tZKsoMRETTc#JO$;T3KPB6(s|0f;K|Cpq-$I z4KQLul`I+JHZoKtsAAJWLOciHbAj@q70M*>zo63AJP1RZq{16Ua3Xch(m@lHa#lMoZc0R5$e{!*5x zPF!{3GK;fhR4~dqWvWxg63ttj^A^{<#W`h=F*u&`% zdKgyD3^QkjBPsov(62%D2ML;}eooY2nr4G(lniDB89+=~ z7Gsv3ZdPl}Y@mS9UqH}I_tTx2vMk0di-l)mR;3=Q2wK)LF6&s0N@`eAE2t%CjmNlA#v&?VX2z76u?Ctcu(3u$lgye3 z3Pp^eh{^d_3rkvM)=Fp-v=Q0`?Su|N2SIU(F)lI1CC0eKx@Fc)vmQYYp;ypLhzg>F zm>@uunJ;8~}bCApAH$2nvFPkRU`T5EKxK1Vw}rK?$K$P)aBhlo7&$Fri#fPN)!6 z5GnEcGSx`>ybLE9&yf~J63&mCue4+%p~b6%(E!_juR)^yIOWZ!zUrO!!)v62^^_=y2127+Y$PaA5=@kY5+%VzIj7t>*9x<9^5Pu5IM=}j&Z%kTQ-b-F zP@M$pB-+$Z8~ah6gz9vvq?09Gf-c{4?~(ekUY07c5=^Xw5-Y)ZIH%^%vH5fDa;cql zlyZr2!i1X7#edKXjE1tPdQ6maN|bX`tsTAZ~#JC|G+R(!iQ&yG_#7GW!6 z5i~j0AZQ>o3K{`3JA|1XmMDA2n7w1l-mzwuw5U!CL1{V0v>a33jHy%Q%^34$tV4A= zSVw^vV<5(qqhnnx>6TeHp-0dINbC|4yM#T#9^i>0`9zW2SIIuj4g?2)j{}5{1FVxF zJjt*ms1kd{Kjz%OjM>|)vACV%u{f%Jq#%97ASE`{9bb<2{Rjr5%FxlW+;ol2JB`e< z{}T0ILMRoK5>)$R=J&^8l`y|QR(^lX{Qg+^{jt5l8B05zq;22M6V)-s>tjvQ$DE{( zHAx?Hl14R2qnxDC1p6LMa7^O@Cos;{#@I4#mStlvJuWyl7p!`0+wpW8RX?g?)sLze zff(UqyU@lqoC+JTNvN*`J5H>yLSls_s{(snH0C_399z!?=7Mw6cA+Sz9&?_Hj;+z3 zHTkn!04XS8a>A~I-*${;jDes$VNYEMBnGN zde2u7%2;x~j8G}4Bxw1c=kh*803%9(5vIn-zRdR7z=7bv zc2e&2?L?u{QCC{)3P)|X%nMbHy2@HNI_gHNo^sSva4S(qw-WZQ>Vor#u=WK)>%|_7cXoxTxA}HBM3vBHIr?%EWEi0U>MTK+n`5Y(aT$4(g zSkf$LwoOHxrXp6|;HVo=H6i~Jj!m;;)6C{I)#o_X=QP#lIMwGg)#o_X=QP#loT+Yc znrg9Lv^wfm^l)B*InThHS76RNff;owjM{eE9d$d}`6$jnd=w{)3Y-cZPK6HI#AFk* zjdnUVomSoDsJmFTMO9k}tpbkbqc%YsOWFnUuS1}|I|ZFI>k_Ex9zhRFdIi0Ns2~bB z-$*#$NKitYXF{A;LY(LHeKe&yQ#315ogzYspahU8B_x=(i84VMOTvOMpD0k`9X+Z@2{QNbunl7b{5A#glxb2?G*wrO*I z8x=lMygst=8goWGmVnJUP5U`c`#DYfxf+xtVr(j*xvL|L)}drHB5?MjdB>4?8-zti zy_i#vIRPHC0UmQAIc6g{=EQx>#(m7$Z^rEQG3J~`#yIbz=sO3(mMN*l}NQ#(g1ct!JG^W^?LWVXM9s zhBG(h^9}lZV}fqpm_SLYmyqfOOso(lRtT$tRf0k|!4OU;gcA(mghDvM5Ke5WPVV{S zig!nzyG3916stLJ$5*Vk<2k!!&u$sLUsg6>ju0By$K?h>qo9${BxoWu3z`9!qJ&FP zmb9p(h0rQ!CA10JSZ7{!=2_CNl6IDqs-%=99V+P{bP78CClZ_9Fg97*t$ulmZQD+xQ=!qSn;bQxbg`0yyjTfOFP9T8+w;8+?}MmmqRSM974%O)w#$z7gt$wag`-&f;BeK zLzwIVT$cye>B04RmRz4_$)aG9uqogsooXkf+EJ3~5Oe@08wisP1kLGWBS8~0sfpR9 z*~M*?+*H#y+4RjVmfYMz$;Dln?E-F$5^jvLwH?Cb4xvTR!aAD2i=4m7N|jX7tVU1+ zxTywivVoiG=O+8PsX8}V=Vle_+^k}qYC$zYt=&{>N~fDlr<+Qen@pOUnyj0gtec9? zO-AQtqgrcZYfXYCz@;?dQkswvWC)s)OPrERnz>7yxydliCc`kBEEkjmqWi2V4=>Tf zOY-oNvw=jNRTX6gxp#@~U22sRt#%nMIu+!OLUoCux};EDVyG^)sdgLNZ5A{GF76R7 z?h*C{^!MV1V1p%_f=%0f%;`R6)kTiFh*jHFwH=VuoFzGDNkt^7h%D3W(lX30tq4{K zAwdX`(nwMq$;EXwy^fNLTY@dt38+qh5EKLfH{ygFan{*UogKgh!3Dx4t&dAwAD7cK zyPSsEWu?Pqro-i|N}TH>=eBL!Q9HM7NGWK)q{@OK5`h3JLRVN*F(yGTD^|)0}IO++jo^sUA%}2^nJHtsk z>a=YnNs~&N2wDtRxfrf0<*%k#XGcx%5OxK- ztTUwsrU+?4nr3@4<6d_)qmm5G6vV3x;?-G|%(7%&Fi+4(uWF=<^;O3Ds$zXru~u}h zDmoMDbb=me2v<0Ss~u{(gH3k|IteR+6+)Mwi_k6TCiDn;2)zP(J$=pDimw&H=1Mhf zu2d5=vMU_fl~t9jvZ*CCwPe$7&q=#I);>^$1A=nnigF{O5@moU{R$`jib8&cA-_^9 zvsyOLC}<=!37QDaf@VUCpoP#XXeG1>+6e7}c7mdOrNa(p+ZhaV?#iMnEV6<|e`SfV ztdeDd=IDy%sDvd~?dEdLS^C!sP~mEsY|2<$^LV9;pn1Hac?`=e%sQ2VO6%{AaFC8+5uYC5TsBumBx zS|v-AXVXJ4!hzrbFcBb31PDPvkY?jD8z)Q%CI~4(iZCUZ0!)Mm6Cpx@ zpny;$D9SCwi4waIC+u!I;anL{_}>y*U#Ue_U&*%0)mFK`1dF^SScK9Wn#dcR$Qzo- z8}`ckR=Mr=R(Z~wTNRGF!m8IC^_o?;IO-PkI;lCHTJ*A@HgjQw@R{`!G! zs?BMtjZJClC+$Vyt#-$z-Bzu1)Qrrea$}OYF{zFx?N#KhPNzaAgQW?(!3n#e3Ar8F2|;ejVh;ZFsE)Pr*1H(CN%sBrrvd#U8mV~nO&#Zb$NB2 zUR{@0*O^Awl}6WX8r^Djx^Jb6jdHP(&?aDHueS@@S<)q-%h!7ZJuK-J^b(?iC}B`A z2uM{EQq_bSK@Fi!P)CReB7_D(13`|a8tshsID_f2>Rv}}FZ6DWI_gohcs;@9uO|ql zf>OYZO2Q4M$&D&O6-zXX8`ZWu=Wgj%nN`m^-8l;?;iwbVdfZWuTXoV=C(-}SRyuQ& zb9XZ?h_j?ZPyv{f*<`D2s>5l@f19Vi%-bo-P${M6Qff}gck=)xx0HOhn0&XCe7Bf< zx0HOhLf-CD?|uDBeHis_Y$|k{ge}1qVOy{bNM#7A3?VDX`Yo1wK9-|&Ql*nw!YoZE zX9@FydBBYw!i^omu3(q2C)gwG3-$>b@ePi6QX`(^h$l7TNsf3@Bc2SQ&SU`_m@FU^ z35p0Mf)av~Ym&)zeT^m8*HChOU9b+gu}ZkHN|4zNn%$7u4Vi7oYy)Pu)afl}jn_Cc zU1JlV+EG`d>SQn5nd~J*1yMqmpo@?YBnabzaY9OvvYj+Iop9MsW@MAGHcgIAlT|l5 z>P9xdsH%&ECBYJ5S+HztH#@bPVUyAfrZ|Hs&0xx2tKNz_6{5DCn4^wa^`N7+7xA~^ zj+)D6vPzy+(al;xt!*deRB*yJ<*28ub=py?SghfhoFPdDd;39k!~=NQtC9NPL)+DW>red zHMN5}sa-aZ+9m7>_6YleeZqm@0B}>2eUp=YQrF1#n_8|n3s|R!4csgu zln6=)rGipInV^gi7K8yeS_n5<0I7LGYM!ttSR^QOQ_S3yGB>r%k`_Iy>dj-9OsK8k` z^G@w~+vuXBUbN~ZN4;d#%Z{2My4j_Uy4Y*Cpc^omCQPOYF+q$F7sLrkL6R^bV8|w? z1XC!vIZn7aPLSD6noZQOWTFNosZK(wlOW$x^erXdQr)@1+^)2Pxm}40x0RT;nV7eg zn75gjx0QaknSQrR*~#rv)=~Q1X8PSaV9BimmK4aWfS_c)T?DwbC$l~4i?jLPu4aV_ z)vh3v3(5hrYHHS=QEt~dBdKMDuquRELC(*X*zVSx3e4f#itla4_qO7DoAJG^dAyxw zyBW2cA#?~j2#Wk|M*g-Uf18oNt;pYIR@`1uofXzu6|54JBDa|$w+B@+$P%UbZKnC{ zUX}E+Br1pk<^*#BwKm7r=G598Tbqls&RpET-->$oTda3Gs}{3tepWC`m>0|w76prh zCBYJ5S+Gpl5^NE+1>1xj!46=)jWFLvXcx58Y(r)ngiV3}8MS)vVNHF3e<|kOI@UAG z?kG?02$TbNO3=_9CGZ_4@SQTYdZ&yfVL{k$vBbN$EAbVjo}x6DOn02zy;E(~&SlP> z8Z(82^E40LZzURP$j4$R12yJH3GF(C#bVMI?LcrEh^kmk9XMP9rbvJJ>F4| zci7_{^?0YsHdSXA$Q`GL4oBT#tvelcr&V`3>MpBpbJT5C-R-FDE_J8HQMWJ(9U6GY zvtKWNr}Yb8FMp@?3kF?ZG>}jHB75)LqGS5R!##Dbx9O-C(rii z=DuK`a3DA!EDM$igMvZ8-A=;YPC}QUi_jzJAt?Lra=qQvdb`W@c311|ZVk<9Rfh}f zZm)nLyc-p81HIcKXkndJK`S95h!7eDjf5sa6QM#-L8ufk$?j^!->qXwgGw3*%>qXB zZo8nJB^`neLYu%Yy6JH{AJgNoNl(xwJwcHFY5Jd5(9#OpsG1t3nWB+aG&BWwIR$Bj zGi|rU>5S832DR^LX6|(ny4mi%ZbCwkU?+=mY>}`eu$N}j^G>_=`fhsGQO~04-3?Z~ zyTKmh>^(aBNs=X>B-w*jT6%|dHdSX6@X3nIRsi>vBKKnSJiH2~7eymSZP6V34_oa3|_Ni$~m zq8ezFW=f<_m`I>ZnKQl_oqrNKh!#al$AYP0LJ~ zmsaK_Rl>ZuwX9@FydB9!OzPn4ryX?~EvDPpV!Dl> zR7tnn=AHYfX}ef60ozU{V6C^TdV0&MHy!n+Rc||L&cJ=8&wZxPePzu3sI9Q$RNyS7 zQ}RAV@23P)gtS0|%m^|lxw}lbyG*mJO0t0aN{#zWjr$Rn+>hAqcb)DzvuW)Y=~^~b zr>5!%s-2Dy8dTCiXcROOngsR)JMCSu;O9!FnKAd2z4w^Cca?H?nR1`V-%sf8C+lqL zlXbLvFGaY=xZG1*?lCU+OIUKh1ZH=Yvv--Z_j**PhYc(W7HKB9OSreBk|mn83R($m z0;bYEMfo11d~Zc1D>PdbtP@=-T({fac_@1U@pRL{7XKU*89y`6O zDY?rjxw}oXyW22J%j-0~PRr}GyxyQ$dV^-0f=$5P9W}7S5;dJ>(`hxGR?`913DB%t zV6VWZ7oEIawCTL>sQ0Zp>!`CJ6)2b<_-Nx>?>f!}WV{!o4^_ z(|3>4cTdxIPt#WOX;&C6XSLnBM>H=^Wzlc0$p5AM^0`ziYc^`(bzK_d!~v_W~x}yAZYL#ihK3qEY(;t97{$XXXtT8 z9%txrMjmJAai&)-_Ob!REYt2cKk79<%F>ujV}wD$AR!@00A?bDnFv7+&omG;t{IMN zMsqsT#1hTvOmi-7GtMQ}%o=Spx*3jcMx&eI=w>wUGp)9^lg=|Xo##62WX##S>A6lv zt>)tzL!2Ft3K)bL4RuCCO{v8HYpePRFJAs1XVs@XMT!kA$$W{hELa9)7YW%#mQ<^x z+78EAhBK?Qsg+GFp-xa|D>zr8GwZa`q|b2DXEfeG3d&C^WN z`YEUNQ_cRToc&KV`=4_5AC$AsgL2kcQ3ET4RRQPx(>1{wOV$PJgbl$4VN=E__`vlF{r<}0|0hT=AHu@ka2*T_^NDv}uVjpl~A82A9 zaAF^5Vjpl~AC#(2DeGvKA83}FSn{d8 zl?RQE+CE)*;B4a$niz`~xz$4G5Ofe)1+9cOK^vh{&`IbLbP>7*-Gm;2z1w==3zXILD6`?Xk?WpS*1xeA_lB`ked!g|V@ zEVCxNrFvT^c^HscfM(k&*(U4=b_mMBEORisr;x3}%o`DFGfv2{BcOyd1FOTe{(c_pM`(r!8$5BTe%?BT;$t=cSj~^CuW|M@A()_3^xk-DRq%&zblO`+*770rNM*Fem;xV)HaUDw@+nIcv zak|TJToKts2uj+=oa4t$DrsU#v!L0!=-hQa&RX@X)5EM)&pYaQw%Dx}y9wIK9`_J> zRnkic2||Q60hi8WEuF{hwv!2`lL@O%IqH;EPdVx-Hm|IHTw`t0jtxUUw@er2mQi6& zp`TOewO}82vZ*e4+C@;E$E-87%95c~mZ*WpYG6-w_E0h#B+Ld03c{>{urITHHgF&~ zpjkk50y+O@E3E&s6|@PwhWaE-(3qZZ zOiwE4-xEgUi8h-j9QuTR|f7Z9S=qqBLf{~mnq4^w7GjpYaQZzJICMW|u*&;mIA}F<=FtxMuEXmGWC!J+AS7Fs* z$9KEH=E@y)Ih)r?f5MgiMC;=T*T<6sdBOGZnbyZ=TpyoleS8)~1D}Ox_F0HfASfUx zGe1*iDw{uJHh&h8S%hXyf+j+vORkmMdx-@XNPrm1-k^L+8k4DPJ^4{;N}iwb^x<^1#O-|n^(~0 zgDg?1%`?^J6~TF?+I$fkm@lGPiJ*i~DkvqC3CajzL6}f3C?`}1DhQQ=N-8rS3wBP2GhOt1ffYWmaA4s7tNd*|8Svj{{z1!QdyD``W<=+DHZz05yFN9c9ASfUx z{}z;g%L>pkN(-k`j&L#7Ly<}ckx7G{m*4nv}UYJJ@Pdn)BQ+vs=u;^4> zv{jcJ^^#RDJL+Yt-g4AiR=wt^*Q|QgQLkFHGvtL8dfO;(8wpJUM(Sy^pqV8tf);|- z>{EN0u(0WLx0&nisWX(Pb|_D$to73=Ywg72sg1|eZO3{W{r5QwX~PySY}lq!R{fOg zf1#ZNSZKF4LB}R&)geb6vg!gyZO>RwiyU>4wRU!cr_OGWwblz+3}r#P*8+F11!c}c z2TQu-a2KId&qf`jnkM?Uq?L z&9pT?joLA0>|mbSCHK@BBP_o+?ar_N$~Y8Ts6XSSbi(5*rFI7o;K z;)GGbsO`&1(x*<6It%NmU06>ioZ(Frgah9y#zzVk1IGgInP2vH$rSbV)dgtb8HrNPH#@)x#KG5xY{|cagH012*Uv;!f?PF zR0WjTQYy2hfT1Kt`>%aEZJ1aCShN&PuLag5>^B&fNVJ- zTW%wFtiw6(b&g}s@u+h=?*(Jg>gwB_W2e1(r@eZoy?U36TyOD_VUSfCqiFizEe@kid)3yoL>t5P6`PTJPJ863??s${6 z$Mrq-_*l0+u5WUV2c6>yIv#!03}vQALPl87MU zZTqv%K3Fes$HSGER7xe8Qc2}UlKGKTekGY-$tE@3q^6HoI8A#{NEe!A*Gy;;v^YcA zW`Qz4$;~CH1WPi(l1i{76D+AbO!~JE?&g=YZPqhq(xvPyU5XCUWr8xm?LES6j&~|R zmxbi25H*G02)xBBkD9_FYD0m%LaZcQ3b3H8&{xf) zgNM89`r)px^@e%eoz*p1_6@!3HBn=Z-wFHu;6g-QntqOl3vva;ecv)*q&zG1s?@I* zdS|ivRkKB)YW?ar!a=stNGdG+W*~^8HB|L=zK84n!KQaD!J$_bhN|-3%KLVp&}=2f zx4v(g18?xVo+iH#QQ#$9mFb$-T?d}g@t}WzKexhA__t6zc*oS@!O>dZDE#g4A&nX? zR-rp{vDlaI4Yx`gm$?8e^oLeM!@|O&-cUU@6>OFsM?K^F#p1pzN9bzbl|o*JnoCdC z&sP>6uk=E9ypr?RH)E#gXx~GCdGUp5d4^bm%Me}$$xW*1=oH-VvXl{t{BA)FdzDayGH`%qQCEN3aOi+ZpPG5o4RATPpI-X2wc%Y zQNPC0zPDK#(fx!a6CD43qUt?{%DcO$(u|vAQl_evCv2s|?->UeLWgtesNYe5>US_F zm>uH;k8yUTOFOD&v^MGL_q}TSrdGaJjmL%WROOi!g?`H3t;);y4*gR!R%iX1)6juw zT|S%1&;eGZsb`kuVYXFxgj|T-0M)lm9=#jpV#gsIRra83bN}@N(|@okFAy^Q^M33f zi~?!Dng^cd=XcEozx|(13&rNb`#iB~SbNDZwS)gd5^O>dnO@CQ9 zb+ic04r#WrzHc4vyIE+m{!m_FVSc{ZGrVkReK&v=(U*TTI*-$`dEt7E&Lg)>KkbD^ zA&%t)=J9v-N$mux8pQRZ^kb&nG5H}1}AMu_-Z`3`{1{AfP38+yhpxz7_d*3T(hG6AI)ExQ|#UYG*_uPo8%#Ub~ z8&Tt1t`9^M``^$3qc)T~5k_s$Y812@1+B(&FK&WX;{`3wpgCkhQR8_t{pBBIcr(n?|8fdXWO#LqBLn>jn*&OGB0UL5sUVi`$?l zjC)xZ@jlxc!9yRcxrp~9LGVXt`IVW1)F(W^U#~R01j+(tU6!O4WM9iIlxt1|rnd9(35AfPG zQWoNF49N~7WnUaC=fJcWDL-On@X(?6{Yxf>E`^;4%J&Noqc{}e%c1%sUwG}z`ar-uG;^rmX4Y1!22*T4_WifsBz@GkUQuwTVbIYhF{Q) zy^h&l+it89%xc4(eq`NCF+9*f=jJ73UNB-7V$f4G`HCh_ z(d;X{i_#BTd_{|A(dsK&Jw=nmnG#k{YW_Y{l1V$oA9`HCe^vFt0BJ;jQzSn(9AzGBr=toe#HPqFSR z);-0Buh{Suo4#VxQ*8N)El;uSE4Dqwj<4A96uZ7+*Hi5Iiak%U?<@8_#euIlkm7@Y zr}!Y?DT2Nt=qWh(iy={<`*OexiW#b;&#%k0}_s}!UY|V~lhF&4LzJOwf?x8+Fg;fP*DlH)o zvnDg&w<^<>m6^`Wf+__QQ4)**Q352DQAxrQl8}UD+@@{prrS)LA8Z60!A9_dAH)U| z!9?(bA8Z60!4Ecqjo9aT&b{w_tB^eI4*%>5IC<{5=bn4+x!)h}y^gTj6IMII8c$f` z2yLFw<_KM$(B%l-p3vDW7 zn2ss!=sU}`Gz=R#P^I?Jg3UXI&W7~fWykpvmv||K4Y}4|dLO2T8JjnyUHvmlR%ful z3()fArRWfrX1?;})%abV`3i{t;xPhJmVRY5mYr9^`G@}*;PH)LU25wmk3Bv`FU&9i zkuP_Ce>FY+kCw-aWFCCXIsf?ang0{Z1c*SQW96x33 z{5>dveoi3{h%pC7IcF`}zLoB`jntPO2Yh^Ho`JK7;rG9?6dKO{-fB)eDCY5(zCtmN zzw~Dv6=HsQmpIz~fXc(qrC?{m`_jrJmX~)2G@GDD z+ax_Gb99YFhUC6>UxYPDkk{@6^j<*k1~e%6+O0snO*yZw7E~m!ZY2KlKEi`C>cNY` zF9}{2ydrot5pyi$$dQ z59kf))=GF#NjW%0eE%WASwR)P{VII>=S4XwsKU4ZwD2>6X9dp*D%Jay>is5DY2R-d zxQ{#sX9N!jD#n9~@t|Tns2C4Q@HPcE5w}ca!_= zqS)6|Y+h4FzqX8&|FThVlVHE#fZ(9uuwYhjr{FHZ-GY%|QLrpn6Ko1j3GNegU2>0P z9JxT+tm4@(yd zO(JHc((EZ0RBFu5Q0$=_gol-^L)V3i_pp2q9}qw^OZHi2MJ$k6Fw}wOHg6=E4}-b z#{Ij*vs*9{R7&@kg*ORbQ7o@mEc-;C5j-GYi`Qb2jca%ilMbtRSM zwFe1$RO-DV1zw$^@KN0ub)M=u2QBK>Br5*{$VHR2Av;?XAp_htDh5ij2- z{_+EbTozbX1~k=;$sFW)Bf%QqC{vfvd_ZVKKaJP>O1u{A-5 zP&Ta8~fR;GE#R;7P$#f~N(~2%Z%@CwN})g5X8LOM;gLuLxch zye4>E@P^<`!CQj21@8#n6}%^SU+{t8L&E=(5nLj;RB)N#a={gXD+N~xwhBHWxLRo6)-631TMCj<1gnBGh!|o>3qf+iwDf;R)3VQXr8wy44w@m6W8Q|De;TN6Hl>4ob zI&;gpj??vnF2QcWje?s5`vnIC2L*=(vw}MXcR5LO?sryHgC>1WlzG9Ef~N#e3!V`? zD|k-uyx;}Fi-MN~FAFMdKe(D0<-}bVu|;r8Ot&5Fr2F+F#?#Jy#{EkC+#!aUlR9%! zeD1jOFUn^?a8OVNn3DnC*hR`43jKz0$|Q55&+Qh!(aXYXPU=3nWR^K;{f2noh(tdr z=ruO!GQb-$z#CVbl(X(vMmw>Bp-!w6TqW2l_=MnU!8L+yf?a~$f_{vBATjD&hn(>9 zWOzgBAG<(&ZmHlh!R3zYLI`-(k(8nn{bV~aAUH_)S9gWWiYKzdcM8g8CoGigaH1%> zqCQa*-V~f7oVzD@pYU%?u?M0&B>X`}^mD>Pb9^FnA17w%_qz0$yG8u?sw5F7E-K&( z!IgqC=?_|k%cMUDZU2e0A*59KffDcoCE&OcaD0v-kEi0lB0{L~Zw2(k9s0fArpQ8` zoVZECoC3~W6&~7-6E_ka-ddiZC$3Az^+32C&{P$=Mz-U3CG%q7kX?SDXn)X@q$$CD zf#os@$5N5cBz|vA1#}t1VCm1A2yX=0e}`R_OlUS{2w@11jTP z=x4a&O9ht&PqXz#lHX7Q-WV314J`cu9iZP_ijWnv()otc`G(T@Mk<{}VIg+br#7aR~A6dV@J623Dde5c?p!QG-? z6dnm*DZD6Hc0KqlxtfAgf>QcjlcyYg*AEkJ)Bl~-g!8i0JEufBEqEpY9KC%G)VJZ46RUdh`eC0K>hV5nLv?L~yC#azRO*KP$YS@FS(~qtLsYEXy-x z|5}KmNx!#li(^>u3BlEb?`|Y~M`Gt6in2+RIl`ArfiuM4HU-WJKQDMe@G{}YR|KyL z-XQ!)GT&WF{B6_%`vk z?-71@Ts(ILcZ#kQeY8fDZo-e{`?2^x7X9Nk(YpkVM>hFbcKBGS_*go8JSd)F!gtOJ zo)eVj?XU(ZBDKv^SngOAD6&Wf~SMN#{(Mr?US>CIv3FSfSwHKseq=M_f!;T1B3K_ zXBm}vN0xeLMetlDZC40N^N(brkD|b`B%sRzDtpc!V!*dTuDtgk;dt*M{eE~}@VcPv z{+>dw|{s`lzvf^Tkj2sGAPO&;lqM5_j{*Bzbkl8^fQ8I zMNw&b@0=*o>b(oXFA7>*((^sj({wncu#)^PQnkn1Qp2- zuZiVyu+e>aJ`}W+TWXcgA4=CBZj|q!;ILp;aHrrd!QFz9U@?f7iGFxV9*X^Y_e7W@ z{NX;q8NmaBhXiK@j|&>-yzrBR?_Emtct5E0ekiu@FBRJrH||hc-(N}E`>O<%%J;j3 zcMEP5l-}=e65cO3AUG&EET}ZUzf-tU_ZGyW6 zX9bnq_YVn|0p6b%epc|D;CaCdf)@oZ3tkeuB6wBsn&1t=>w-50ZwcNOyd!v5@Sfm( z!3Tm52~TANmxyvw@RZ+l$PcE3?-QI6 zJVbc9OR!sTlVHE#fZ$*dKNZl>IDK-QY#+=Ct|a_W2KcZ|cvlFsDxj&{m01RrJ7{>|}jNh*#JNWvNe=T3P6ACGEpog0}_l5S~6Kc;0b6 zK^NXmC%hndk?_O2g7*aP3qBB3d><)3JbunlO9ht+E*D%OD9e0so%jbg2=RzHp(r03 zb?+Ef@(F z1iGTUE%ix?+ZQkx*_VY+*O2_FtoEs__NgrO=}OUM zsZSmXUnaPm@RR#NK$pm?1)m_qQ_6|-jUu;-ydscgO1zHDsHNklXN8{=EDB0rym?F> zrTf#X!mkM`^`9ORF3WzpPxuVsuMCO@&lHm~>v|FSe0pBI7X&W~UJ|@4ct!BG;2puc zgco-UMxxvlbc;cFIvD;qn=Rw~$lwZc{77cRYrw=?9oGu?yD~8d9{Tkr`%yP}@v1N3 zYQZ&vZGv5b#Mnl|6XqmGo{w<;iDK z>oXO*&vuHwOR!&XP;gjqwV z(Ntd)etM3ccp;UrDL5zgOM;>8`DtjJetLm^c;=L0B=9fi#eG-wTZDgkmGCFsf*T3( zTq)u55cL%jeyjxJHB#VshLmtNuv`ylXl#G#7FTfRe{3p#=RjrNeP?91@%rG>X|tDgW_p(tmtM@UGy!p!q`ux*&Lw z@Uwe@_XQsi{$#b_nh@xeJP!myD9t|&9qv!hk_~TU5=MbJ`ZLyJ_zXffX)SUKA<-PDh1DGDfq{;f=Un`DkNpO;0nQ&gm{b)@F#&A__0uk+4y4Qy||E zK`F({bv|OeR!8oT+jyET@w+X*lY-|3FA(C%Il!MS6I?F1LU5H}Ya#$|$dPfA)7_oQ z>75t#jNneEM_p`gA z+!MSn_&`tz!4qtd`ST@$O9hp*pDSs2UyZ&i1ucQ0k-_t6-dH~mrv7I1{#W^6h41Q+%nGj)xy^ZO4svk z!utiYf;$B*R+A8kQWPu;D*5M|!lwlH3C;)}5IiGz*6HFZZqH>=4Z5YbUdhCJT1=I! zaQ-&&Ut~nNBY0O(mO6i5_yfU*gm?*yaA}g?c=n0}CGHnp!j;@#Y!sdq926W792VRy z7zrx5c%q7Ol-yr5gZM)t&j=n!$arqb7dSjIm7t0N?@2+@FWspwydOom$3u(a9}4L4fSwHKyhNN8yd)@H@$3?# z3Ca5Fb0YK$Dv5tREIb=zoe$`RfL;_^Q*cUfpWsqK(z^xFh_o z;5|V}yda5q2?%2F1dvY`p8ZMCVAa1F5L>IDqQFZ&45&!|rcJn_!)raHFDLxlLBUjy z6-JeKfQK9h1P=+$3LX~>S@bJkHkBKALC33yS920HD2>-~5^BiuU+oOkT>;(gT7fCW zdBeF5xnJpqM{J~zj{K<%2m8K!{D+zUYKF>mk2Hu zTqbCSlR^KsUzB0NR9f0XL|p-u_5XHW%qIm;37!con?$%McrK6!NWkMQgi;94wIr#E z#4XML_LlJ5Vw@7(M|e>h;>8u>()m}{<$FW$rl7*&9Ti3*)BWnM@Oy%?4<1RO??Xa7 zi$b_WQ1-bf`{3yl(pLzs6kH|PD)@xpYQZ&vZGv5b-GUnhmFSCu!gmSI2p$kTBseQL zCAd%UwBQ-Rvx4UY&kJ4i6TB>F^!vge2r60sRmsBp8cB@9^u(JQo`82WJc_q7 z67)tuFERuk$4LAx1@v-2uLSgVK(7b%T0pN#k=NtixTj|QxXYbNkEqdG}M$|FAvmIj-Qttl_5O(K$$hcGU2bg z1iJ-QE`PmA_`KjrLE}`YUpGaW2{DCy!b1#+t``Fu%!x-95{8?Sb4YMj@Obb{nK0zb zuTL%Wp)cWm1csTBjqvsX@KdY5M(-T&faqBja9r#UU(np@A};oqySEm2dN!r-!GPmp zf8*U1Xt>xvi3b<^2YguyU!KCtDSSl=Uzx(&Qg~Mi?@r+ZOeJpgx74hr3s?CA9=`5q zyX3kncrz7J`Fi-i=(h!L5aRZHhQ1~EK=7X6RYF{ipQH^};|F|S3O|s-kEig9PNPeK zhO6-t8NDfaxEepuQ}S%icy1BtA(O zE{RWYToNDfLn-`}Br7er7Czy@weSJI>ump!ytogZaFbwvic6&d_q)?qR+*RO=7&Ye z3hqqt-w{P640p0Kl&pnY*nwk8l`g6CAslXDhyU4?f~yE|;X2@%jNlT%6@<7{olq9U zHR`}|e|nOtUh$uACH?$)!5f7CRa)S3bl}iphP1!AEO<@uDj_aFCzS8G<-~tBAlOg% zSBf9knv+NPFYcMVzHZW9I_#uh!!Ir%>sx{APrm9n)`;V;03Uzpb-`bV^1nO(bjiJD zSEJxcYA5izE`ABuFf+N~-etO8a`!H$EO9r5KS<%%Q~1NLEj3ZNikJ7W;K!oGwYf+U zT0?)9V5d{XwTgX%)E-yZy70Kd)=T0QwoGLgISz*yUcxP{q`T#2+()Vya1E(``&`Vp zN7URGf}VYCj^@^ha80Q3I2nDMB-7&O7$@%Pq)F_uOz(xOF^z@m;9$j7j;nE%qr~7U zNBf;|ey*X!g>bxG2h85%fMYCL4DQatB};jgpousupXAO!D&ia$(>~|Zj&o^;OCqlP zGd)>+c@ZAre}c}uQ|I^ae~J0y+B?&c%Cb+xFMOBb|JO_<+*l{oa8aFpw+y=9L+*Fj z{kp8(;<9?nE=S+(ek1o=biZZy>#VoMRdL)IXYowAUmq`xNCo|`Gv<~#M|b+*t~cX5 z?tZ=hymPxu-|Q`Q+R@Lr-?Q%boclfRelNJ+i|+T5`@QUbuejfPuWWHP~jK|Y|-qzO9)yBWBZvAX9S6kb< zwhj@T|JshVon7sn?c@}l82+zokGeN>ws&`~D|C0{M?2OQa_jQz*LOyv(YknjzB8Ba zin}^T^SO0xh0(5D_qxum_3i81I@d$m+Fbj(wS_{Vt1ZfPM!Bxs+K%>ho!uQBQGUZ{ zZbSQM``Ye~?vBoNQD;ZAF1KMcUca`hd+mnN_O_^fw7X+n$GWa{h4xX1UzhLd?CNgs z=p1eDiq>~_M)|hU(f0O2XZwck{QAP^+I59oF3#uSy>?yah7E09UF&k|3Y{If(NV}> zn_J(uVSW3Cu8s{|h4zm1qj6^;8r?A3v94`Hgn(;DyP_Oiquu#+9q{gG>x?>b-H?~b zyi|w1%U@vcE%n?)yti5(|3{nuPHp}j*gV@`op>g$JlFY;w*8&jHV51O$B{xYp2!W? ztA)7HsMi0{#J^J$?}CY+8;SD0lcjPL|D$z(w+-_5VBKg0#kbNd75b``MzfwPRhm2E zF*FzdSdxF2CHX5Hlw|%1#vXAcliAvm`DagW+nf!(-g9xificRT@9BDa9Y!yYtw_B3 zOO0ANH@yx0;~z3iYvR)i-p5)pzduwe)T@o^Xfu;p){^-rJK}PjYs8sMUrXjM`l_|* zdTFfKZ0%@kU*EdA@Mo3_DhR(QE4j=;)mT62}Cb-21Wt`ApH$XX*e@M=8Wy0zKbn5;pSW}~%Hh%32zsS0eeP;AXL z{@1U5^{LhYB;l!ATt`GGt<xS7Ot=wK~eUqo<$~+hFRD$X?UhsMX_K)F{R=$8*#H zga!tDN_OLE2p_K2Cd+UlV4+%R!mqVdk?yUdr7{vZTCYwZs8S#0nz`0Sb+TTF8Fr*r zE;SW&vevq~QLM*N1VMk+nlk|~Oe)P32ieVP>%?TaS*pRM7)-H3bs}G?P>sZw2K>e% z0S%J?Ex_s|P?gP7sJ;beCQTwerMS!=Od_r0T)j|aOf*P6Mgc3(wJ7=Nm?ve}dOQYG z)m!5!T9GAI7W{S%(MdoK-C<;rQ*=C$he1F|XM>7Mp_pTKJ42^pqJDmm*g8>-N+?On zE99k>2q-*(;s<@1;BiQ=$9qarrWN*1d?zcp0>}QjJgnrCCX*!P110?Hm^XAh-Tid? z)9q_BnawSkO>#ZiTSq}FK0T3ZG~@cyBgNd)qaCB89r;`#!f3gD!}?sVqr0o4djkgJ zQTy8U7?gJx;_mj&LMHRiTQYy*)39)2k;!aq$*li;zo&=#&BrUAujxr8+%Ys8wlB8&<*P{nLlsIbpK`rz98)S-AMYTmdwBZ zEkpOmY(*k;Yl<7QFADgJmdu8Kr~m}-X~}H-ErWX#_Qq(hVkW=64H@wFNP(BoGm64z z0y_U*0(vTys%zpDeC^u5rwJYrfDHVtEy!Z`3O6PAC7`uUd3jxVtOFxr6J7@C8p`_VR|;vi}iUGLZtkH+;FWfA?NwfV(T&E!I- zXIe77|3kU1WGAA5poY+y=r?n!B{TDOwpc=MF8=3W~|0`ZwdWu zKDJg0O_$oE(aGjyJ#O7&g8=xc2YlG;vKZF@`RoBu#ri^|p7c9x8xmdwEK zNFM6hj+V^OKTsOVjS?D)u2r0Gw&0~6{YM;~Tk@AGs@*%9>MZeZk@f7=MY z+LHN7|K{FrKavq?KMu;Hcr=GX zV8acLojAa@@jAwX@mO3pM-&%I6S=ZE@)%slIm{Oz>dQ}(pU6{0IPPy^wAmL7_WeoD>t0lwm&q{CD%BF_1sw5UWHgDv(==Y9X~}$@^M^)X zbrOTw%2+1z`z@Izjq!M|$(blsdNG#UTZ)=Rr+=Iq-;rxV6yuFxTMXS5FJp0xUu((y zUNPp>!y+$K%T*+jnqk;hY1G(=QURt3V__3r*Klh)T+3TBUt=F$_}_+NMYh8%vo^16YjT!@x7HT`J3Y z&rd!R0mO+&NZ>XS`N2g zS7AN|$C?7Fd=s^cRw`Gk&EkY>BhjrylLe%jkxW*`E6No$aU6C{ zGJd)+rb0`|rjs@wh3LA4Da0jf^%NuG$iag=g~@yg<(Xug@0+ri2P3ykWUV~?RI_S4 z^(x{*P(@v+PByTnW-&B5D`#3M3KP{yw(pFg(Zmqa%nXZE$0{XjMOlz0QIP6jsBk&K zHN;#qcq+nNw*X;e(mH`(_^?{T)}Mv8I*Kh9)`UDp)rJ+O*_SZlv3krBMw3nCu$0ow zSs<)ln3mJXt}5DpCML?&$9pBjyZR)E8A-oqOc;v;okLzArIWD3H{Nu-ut@MT^&B#r zqRQ+l%t^I#liskl%wdXip$Dx64H;FjH|MgmS;QutCpVjnQ0i2P55&1Wh=W3-TmxO0 zX^JHw?`7#~6bGv`H4RHfx?ET#rHUy9gR=*te}A>Fjq2Vrc9-R>phLE{vgA`9?z)Lh5NP&TV_G;h=JK%Fc8&ilqtEL(5s4E$?{AlD-rGd7ocpwbj=GMkA(1(Mla-w#Gg&RIQE?Uy`zr9cY$eiD5{0B^*N=4F#Fhy)n8o zX5r{$xlA4tkjDzkmXec3b>)z;ZRAKaD%IJdvfRQ5BQ*>$M@zn@V`7@vKOV}J&@?d` z&JDI#m|b*XWm0QG89YRldCaZ4^%aq~)Rl2yp@ZExO^DUHT)B#h#I(niJ#o2OBbyp5 zM1b~eFqe?+*9wxv!7G+nA!$ih(`Tk^Fcjc@a zy1V$V3KSYhM>Tx zYpz@#L>)tF{AV<%)f+MDu7(j3iv}?(6=-C) z5NqWSi*$LfJ#6Fbf&o64DYB)Bg#;{&fWS7ZkSiCs^3AfqC@K(dWsAOa`Sgn$X)RSI z(X$zMyeF=Nl30x*b5IbM^0Ac!gRl&g(TOz*xf)_sQK=_J!(yuIOJOtyhiHb7c}$!u zwOeRLqp-rG;VM<3wMsfB7RVx!;|Xh`g;xxxwUFT!*3z|i1mh3QSD2esmw9uEcZOeQqv%SRRV^xv~r}$!p9^vYUox+Y&1dp%e|TX2CX@UvlY&h z#-LMvQH41*?d6>vR&2}hn3f$Fh4px*>DsQYsm}FSy<&3Kb+t|5oRvA&ceG8d zZAWnW;PBPdx;FUGHds~fnp(fE+qv4;c1(45gHe8TZ6GI=Xz%E5nTU;ogE9E?E}^Niz#1oG7~CsA6ih$kjmbGH&XP5qcbjc%xFhz=s4&spi{u8(~o1d z<7htCHOoLuDVF!N;m&D*YCsjUJlBa}lbQ1~lKm*0WumdS#A3(9@4?2nSxMD5nI5>( z!_ETeLO&D~N}-=CGp@z5wU(MS&oyMA3JThh%~K%K!M*)FXTx-;OYzML$81};?ntfj z`QdV5AOas_=2mjdMM?6i!>YJJBpQNYZkd?80-L5`M9bbG{=OBp(I&eR7QbRdjGEWR zwoSUlq-LHaQ6&b=CkDs$aVL%KU)B%Sn^Vo+Dh7_Uq(Wy?c(3(pq7P|Q4-u^95WaoX zwbUR{^?V8Co&90~v-xjLVvgw&z=V?4=M%xGNZ5>o&?dyUC^6mz13{_^3;c#HQQkAF zg!!1BPbJRB)Z-J#)KfZAt3-OYBqE^;+(;~I9r@*-B$yRnQWhqf8BKC86Yd?=2^6Z} z@TCZB)rrouk861-pgMt;hq;%_!$gK+$j>TGDyEQrl?7`wB@`s8T}161LC?&ABHbt; zP4A|{7pgfq6I9caOF8*wcqyLz-Vmx4TGADj>rBJS-B=xx^E!ul=%qWGd@lrFT z4r$UiMWcmW@bAQRw?sGXHduK9q?Tv}UDfktaGJ zPCEZpOJ>y~A4>*~@NlGQf|HzBoKzOi#50R65G_2@ek@&y&v$V8Du?wG8g&tIK_FVr z>d1l&#)lYxngmn+EC@yKM?!_1VwNY~Nl~JHJh`?YA|AJLL`5@Fn!rw`t#Q%7ivol= zSb$V_D@g>*S|f#$%B(e-D`kPng+n>vlzvYsZnAYt7jxF7`XtWEY zMzN9N*3_znH9@ZPH3#CMG8k>5+V_-etT8D<{(IcxA^|3fO3xuaj+kgP5iq=IR4ZI8 zwm3z^@CvI(pwJqQ&DT+iYNDC5RsuYpkOX4#$Pui?wltqBHm#jd4~;2Cu5NDD1REh( zds(h$G1lN9u!&!_^u2qTeF#xENShI-Cg_9hY1nh57;bs|O^tUFqn z2_;);Ug*WL+Vp~kls-vvbd!{#vw|i36qWK@pwu8n)bXQA1@a?G1urWp+|+qq z+axSmv_eP`tw#!$(lJ!4Y7NH9AGV=(DkxC>8WWeyYV?1UAL$YbrvS?O0pG z5ntEL<4|lIjbNzMX`MGioS|ap$?z283)Tj%Eik1j9 z^`R9y)Of4gSqV}>94bXz3Qfla>h{T|QB^y0RGVham$W;_HbUqYt!-F&E}+G#fKM}^ z+;}{K@9H4doRw%AXVKBG(R76vYX*g9v9N&MKCCIxAO$YL=^${7vnW_`bRkidXbf;! z$B>)AB3DJLTt0h{rChD+&DGt0nQ?leGR;dPQG1{)Lxo};wG?YqS(GI!47U5#aORg{ z8a!a{&24BSg$m2Vd0aEJqO3-bi-Pc0_mA}>Fu1v5wK9tR54XID*|}WLU}F>vQr3|Y zt1DthL`8_vMdMvA>(p+5q1PE$?M5j#QN^wUt!O5$WJPe~{v6J>`_{tIhO}-3RZ@ILgC2^+L=Gc<7$C)k zUE&=W^)BEd0je+yo&0Q^lku4?o>cOE<`~Z9noOR$jq8{w<)R_ZikMeua-))VCTI`r z5k?caD2A$Or_&Ofr1fU6wV#fG6w5VcgczJ^_=F>0ioYoc5*r+>GqLQk1aO2OZ@~c& zxTywKInjdf2nLgdwx$nSPGA7Ulu{M7O}&#mCdBY^^5Y9=y1)%pS!E}3wc(@zgM-VQ zIUKQ|vE>|^8?r97`ePHYl zZ^`Z9#*_ty`x&-iju{iw660l#)Z(hfB22g8XyP=VQ&9O1s7GMgso_%}bhS+!;WJa! zs@T97i?JOw;p%p6a-xP0hhTPzoNN?fXPUs3ky@aDM@gT?4pxchK$x{ih+I9k(!{Jq zpBdqZq3@PZqsE-}joc{KP)$rDw-+m%-1}q1-eqNvQm|!-zMwCMF$1%-fi^Gc^Bcun zggP4~Jt-3lA{HdG_|gb6*>K};8ZDzk+=9as_JLBQi|kAKyqK#@XM^oodtWS#eJ6)}r8vWVe@jY}=W>&! z0P;5wJ-7WRzSO8b)s0&Po^qz1;5TEEQ_Vl=6AnWLRn-n8E<^I@YLFMZS7Ct zW&tb=lJ@M#cl$hT1MJ2={+Zrq&49h7G32k(iMcCwpPp*RRSJuu-tY(qHvbldc~lCD z$|4>pw1|R4u@3Kbad)pr$y>zIW{Q?D#wLx*-qC;bGjUF!RqEn=|xOOqi+(x)Mn7|nqK7_<%i09Aw9nBUu z=CZHLB5q1zd|ewV)$7&zRviX_>Hlp@=3n8HIeqeiR<{{zuML}d+FrwnGoC86E+|Gb z358i?F)VCk(N$ah@UHFk&4C4-sdI4zhy_S)QZP)yMf0WTW zv0G3@BCy!1wxk;QBZ1TC_~N>pfBP!vA1MH*@=FOAMy@zFPd%RqeRGL>F*rDNqmH&aXLq)F%#!_fmz{QF7mE) z*PiM9q8Y(BacsAGv)o0jJsCXY#7>w{C1wJr;x7|R)kQal(- zAIvz*sd*sx9Gug&fmmvAqn}dc1%L3JS?dRLDr&T{3ab{D@QJX6!I2uBLY6GdQ@9LG z)_N1eM-p*_86T8b<3d%;8_laBXp#(xs!*L~vgymWCNW4df*p}{1SZ@*k9LxV`d=^s z{X-6UVW{6ILoYa_|Air=ywDGX322P-n+z(tncV6D_@xTY2KjX>mtz>>v+bgCFf%Y357WG6 z5jacU_pKH?cIFRIDwosupvfo|AFlKJ(4=4`-fl&e#XRshBIm6M<2KHJnL1A20&7BM zq&RAe8EK!qiKDc?T=MpxWzLcmc7o=k9OS>TA!?B@p&iW zXBXwXw~y+S!~zP6v30!(j|)dV(AD{GJsN)55%d2_v&WRn?ZHTaT2Am7rVtiI1{IrS zK%*J;^Ef1no#DgAjMEC1SwKKyFccn^exiAt3Pek;EX?76oJ$Li3DRV)t6@es3c5Q- zq{$tzm!DQNp2v*?wpkK*(>^IFIML+TwT@wtQFKC2G54WpVSNc@Xd(0G(w_-EqOPF& zQ>ROcp7fNdI0loRSDP57kS8Vq*!m?&Ztm6L{gfGyfZo`VS(wzcIcu@{$sG*Hk}Oh6 zH`_2;OidI>qcDJk1|n8b!B+_+jm zN+R{l+hQ!GEM!hd39}keNKO=_fnDSYjh5s=7fk!qQm}yMrb-RfGVf3YW7|WYaK@Cb z=h(rZ@GxPV1=pMXXc2sqZInJc2*Kz%I^2sb@YvCqzeVhI>T|kh(RhsO^ccyb*qc~H zrV0ZkjIzYUC@WQzQ^@3mz*<33ux^g3CIcjU5U7&O3{y$TQ{G71#OV}f=-{j5vt__3 zK&#A=OQTx1*tb{l=w=R6tv$fB8Z9A(5OW?>nWyK_RYpBxU@MWUC*Ox4dvflKn0iu7 zw%HFcC3gIOhn?c5C9r$yT+BrC9@HlX%s2R&gB3xCA`u@J-tb`!cl;TI)WO^|X4=-U zVM=EsSZb}t4;x^}+tBEtuhcX!R|iJbb*RmV*!g$edsBz88AB62VLZEvp5MJh{osbb|*Im~opUy4%(n1!z5g7UyZ6N(Yd&C(SpOc{AxcSk1~ zoKuwnz60o}Cs73Grgz#ME(Nioz_H9$7>T?E?u~F~1tS)wgSm+%d2?_^HRAVXkW`Lc zso-R#goQI-kJyMr{6rNW7$ih1Hr7tt1|!*EKi^1)T}XY0=URW72O|LIQuFE>dkj7+ zT&8C|ONsI1G^oSo=pI;zZ(iNT76t$ zRhlN@QN1mtvSwSXCk0ew)DC*pN_(nJSI6m9=4T>K9`D()Vuc$MUgQ}FCf9IX!ei$d zF%aR$oESRu2WH|A#u@yXv>#ZPE>sd)AqS^^ox9@P9H)>Ck@5%a0xKdnLEWH5yQW6P zE|klV2~o8ZhwxU=wO?sQ4c_`1h-r5FnQ}8X7O;rQtZ$%HYM&+vXM8r*vEHjbj&p6L z7g>&BG!+=EM?S}$Gt@h45_s;|3Jcp%y7=L$nhxO4V0FUv4RB%G3*T&_e6vPrc|0wj z{jG>00u^vJ!WIKlFAheL_*op(PJT%w(OElmcIqEWGW_bp&*gTyg-Vmw6ccwa&fm`0-X&e^UM(SUmWf( zuusa*9TKQVj|QVzB@yzWej<)(GI5JM7(i++qB9@Z%WvUi%zuxzfav=jwnX|U#abdv zNjZ>V@@?APQ_z4wsUp>8=V>Y%5NtE?2dxKxP?$JCYWU-cQ~aEnMNr?arH46KfMs`2 z!H5@UKCoOEu`u}~bWJQyKq{+7eww38)~!jb<6<8?>P;v(I}oqy>c#m!ej8_XW6C>~ z?kbml_uv?SyN-gy3QpB6Akv)pGJbe5v!icY%+FNnb4OM4YwCv0Z00CLiUw`N&J z>jEun?6>t9nGs-7{o6aXTGVKj$0oJ1$u4ATzXjadzhm}&!Y2}{*| z_BE)LwA6Wj7bW&#>l)2zJc8bSTh$e48mR}%h_v&L_C8=NhxSD;inN&teV9JArNa2? ztmzlqF)qX`-Kq~N3uTqjqw}}!ez~e5H-1_0G<;`d4Q!gY6%3AxNE$^mYL?(K2zG8U z^Rmz!a!|@%CylqZuxgH>cf|QW3>!^RBvae+vL1${I97}zMb27tE5@_t%bcPc`-qN% zv9qx^Jm52`T$pj~nl=iJn?Ik5v9u%;#MxWX`vDdoZ=%eBiWHeANSdkPKX zy$6<`CEgN3**N1_M!Sej6{|QH?BeVR^OPl_>=$iEC(0P$kyPMWLL&7sn3zbh;c~v< z3QK_q6|G^e$u^5P#?~rV3=!{f+FQm@d*o10b33jZGfjEa(G96^6JfD;dYiU`n1zuM z?4Ci(Rh^^=Tr4{YX>gBAd|~fa)M2)7g}vK3K^1CLDhRDbW_IA}p6MOxDySRu_D&XX zW(x}l=M`o&E7F@0kxc4}EZxc&G>tezz)yDRvS<`?6`bjUNEyj}0BPlqA6>c9 z?CiyfrZp>^2cu0%-*v#abo=nU|#sR_izyV2pd9seTc&a?4)z8Zn3rmtCdrHrn| zWZt=h&Q7^WQTB-=dj?(L&dHI1Hk9G=`AWO?^Qka4VZY z`l~unCoarbc()^B>1bjVpQ_RtsUP#n)j><`yIGEW^D8D9HNTYCPJ&J^FC7yPwTEbHl^Mx$& zP#?@$IO(%`2=DBaPY^R25~v?hwqec;{6>F*(*UzC>RoCd4tq7;Q}WBvb6VA8kJBjQ zm>##(jYN~Gn46O(brr}6ngFmGqyv!)H4YtWyg={>M(bWMt1{xs7V%|41($gkqjJBZ zjTuW4ws|;~GP>(YSSqTO{(RZF6&||sqqy1S=3Nw0QN7d?sIBR3~@G1O%8sU zbT*g^hD>=~DQjwJIAy9}XoLe97WS#9-0ze2`y||K6`%y#ET(4^rwD;EKD4R)K~KnR z&|$ zOKw&)6Q@aL?&q78E&8sX>~PreKvR-^-vUl^aM{I2@6sMLg$Ul;?jmL4I-~w^FO@NN z;#3{h3oQ!nW>{dFjILgnJH;w)#t|P^hM5k^F%8}H_+-R3fJ>%-mbXzl(%yZPx0kF$xMW6fn{C1 zu^l&yVT~!9-U3_fV_!)wrn(I^E(I*`vaK|Z^%jt~*eySg(483O)&hRJn8bv!RDF(T zCi5>^GAlpF!^sT3*mA*r1u7p&N`nm+`r2;2NnPmU#Inpi;%$m@5%Uo*m-5f`b0S+? zGXMOMaA^w!^Q2TV2K)H)3qm{j%p{&1x9@OE1*ei43mhhnd8!kJ;le!oYMks$Xts7w z0SVROC9|r#XEw6&vvW=OX&Z7c5JIByE{IVIlbHo2kszvZ)A|V=&r0-QXT3dG{}C@| z0p|82en_&F?ZrMFUo5cWHwf(bLV=xMEU?oFWEL;hqtj>c=cT&qi)D8G2AN%6CUd{K zsQR;^2{boIN_d=9jlqm)D%jvw4T)n>fio71&KTM3I`Li$=JNuQlfY6@3)R+@SeC04 z)ub+B{d@uLbAUy>y>*r#BMdKO%O-rUV#lUSR-dv2pX)*s6 zhjBljYk{yuu?^s)Kh9jH)Zy3ODLKZlK*Ybp-9wLXY{r8ic*`LzX?08HUw;wb0)fn? z6eI7>*JV?SRB?2DdW6*?evHG?VyzQSlKT5-0-<9u2PWqWgJ8(Wa$`ZZY0m@w@nRC> zEG9wHViIJru$rs^oCo9=UW+J@w1@&hiztx8?wdDm$HQ*Cf{z&Z6b*);9PHWqI~rCp z8aL3!hoSJ-I4%?slZ7+Sc9MgF@$CgZHblqGP8^Qp^HeTt(yAI8b5U32lM&*h5h%h4 zF>RzyB#vpJTf>JsM@(2>#hL*V!~1WMgIi5BgJDtJU&*I0?`+h-bnFOsjuv=^$jv(o zxDRNA8_^bR#NB!~{oo!0aB7L=gJ?6>t1OjROX$ae&U79R;XoC9LskuQHJrgRyT(~I4LvXqGIc$weRvICscS(M`LH& zx|YJDanqZrpc%|XS#&wkvRpCRi*n>q6d;eHb+e-eh6n-T_D~guo#qaCHhk2BnI5dFeUow@O&tYlB@Q8;M96iz@1q+PrN%LT>fWtyC zM|e=eyu2$V4fi+jvlhlOSu>nmaj_S+kIKUORq*l<$4 z+xx33PxSGNV@pnX%sFJF2|N5CTZ|db5K$E~1WsisuEB2<-S@zBLqg(aQ7po2y%@eB z0y?ppF_v=bly(0EmsOZzRPc(qTs-Dru|u_Cl+p{g*!pX0`E8P`Sh(+iA1zrz(399< z5VkT^t;8@WPmpj&k>WMaql2>{>^fS>K|qLLC@vX!&I-1fu}DK5F&4!xD&t{tu^^YY zrL%pbYt03=VK56q7mk?|nl+{$)w&kHSY=W;X2RC=)=jYG( z%G;X7sEV&9EYX$f$V8QI%eh3eW7B6J=3T}}$vK&`lUOjvzJ&Qj*xGVVb^=&t!tG*_ zMmi}n7D1ul0y4WI+>eQQjN_wu8B;nenI>zTr#L3-z&QJH1P(uwPzjX=!pc0(xk^#b zBxfH=IM!Ef_M|?1A(?u(BqppBkfb!B+PpQbapJ|%T}ttUPC%V2KwhmXsEOtdSP)9PvG%_3$EBveBN%vBS zD_-vNBc;(MHjnL7Vh!<_j)X#q%mWgjuo_p-0JjRbg&x-NMddPi&B-Ey>XKs+^gtD~ zIn}yLBnv}ALn4{*1vCsw9-(!84h>Ca$oI6w&!Ix*=TIT_bEuHZcD-PA30kLI&^P6B zn%WJkuEe`kE}*$oE};2TYAJSM*nFDiEtIAqESD%uo-N!4318p?IbY!8Y=aNd$JFvW zQPw9Kl|2Pp`^1ZDIr7?UFLNXwEK0Z;Z4#fpyQYZcR1_O8;QMWTrp(sXaA?L#$sq#X z`0$@Gvj{98fz3wrt_espVo0HLsv}x^w_HV`cjs9>l@+pvkDSe)H&gU+yK>l`{~O$>n0UD{e6kotEsAMmasqphW8ZW~&8#s=V%mH;DBNr^NygocGc4kwe0V9ydfb&*lx$9^#J!|Nm!Y%mop zRiEpH1N0bNf4*0poA(P6=Z@Pi(iva+@T>r@xJ#n$;hA?n3zQVD1>Q&!&!eXDiKUCX zJ=F^D*#X4d8=5itG(Bd7$3QzR0&Bv-iaagSfJ3G3Da9AA4VUs5(FQ&$$KGt25(qG~`$2ORxJN2;| zoj8K$DC}RY$Hrkth@`v0;}`tg-??qLY;N`NY`b=v@B(pMi-O8S<>WM7*;6;MzrC%B ztuxj|`jde1HIKD1WptvzBgdH(y23Pyl{!tq%nNNT*R8zdK0i8VpFmbe2%K!n>A|yP zSVEFX*pz!3no}b(*(CC|CNArHb?D~M%nYMA+_jrNgq3ltM?u1{KBH!l_cTf|s#l65 z$#T4qX3~t7B$H!CD#dn4Dv)4Wd7Jj-D&$Cld z;zgngT5ISD{jnpkY*UKk@GIt??D#y{r`~aEE5g$pt7xox(#@htqSy7C)Oi6tQO4V7 z3qGLGh&<#aNgR%cyd))^+jN^6RP# z^{FXhYZ2z=&;$ova%KP32yafZW+G>kE^VVi6o1QZ>8OlT;r==k!}Ylh%W&cpMdGI$ z#?6}CfP;&ns`cg}HT2T5)fRD z#KK`Wpr)c_CZ&iFmZG?TER2rFnojDfYxf^XfvAt9AkFL4O*5uR3sc~^oFa^uQ|5Av z(}4ZBKVJe57-cpYNq(0nUp#V~K*Gw9#}&Y$BZ2h;!|I#fE31H5|p_PgwBS zpBX=4@qG>3B82&7tpY(IKI&lPXRCFm7jr4loWPJL?WwNU)bB`9+-1db8o{w`BCXbW_L{?^8FNFZC%*1d~&T2ds$<)aL20oF`bDeHpqsAvEdj!$Qok6Fc|E@#RzabxDeZ`fXY*Rc88TfcU*-5 zu`uWkbrQpAJFWgQ_S}nls+DLS@54f4wxIbEMoYkHL!5-s)T5`2RtRkXTU9<|_*{wa zXuBm8ES+IAL0$5ESMGW3w9&~vq-m-#phi;l7zYTA8%rq#d?>?}NveP`8+!&u%i$ZF z&=@y``c+NR8l|#Z&c|DM6SzRxG>+V>h}1qBw>J@4VWRP8xZqR4!<3%UPW3R);E4rs zNHE8;Kn2I$wUqH!!v zIU%MTI$m6SpaiA}rlAqClen)iJQa-X8E1Eik7Hhh2!n_ju95L+6Q?AVu*t!x4^1Cc zd2Zc2nKSrs54Y-T?}CA0YuMhE84+-uOapr%iGfBZ3q?I4#n5BCivtTQ*i5AGu_CS# zOcglvRxpMbgZU|SjPla&P8M-oYC7Vl{?r(U%Pc(%%4(jg;1(jwIXZc*Jxz?=PJZ7* zblh@{<|t!4i0_B$)=_yElAMeqa(gQ-Ma{C5>;(b+&DnmhY#!A?$QL>yJ@>Fm1dZz z77Dn-8A+sKmE0b@T$U<z-5}-I`7>xE)jsi61|OCtZX~Uh zbBz=+mNj$X7Tih&or+|X${5R94Q}|tOkEnGXe3T6*-Q^_*0kJfqzjBVLy_k|953&h zF*u8`c<>o2HIsB39IgP zMV48{2}~-VX#kPxF^Uycq|5afEcSG!I|((pq`6`h+*Y}~+cyoY0+bP|m)9ayzZQ_p zkc&vv&XZDw(8uOG4<XfM)C!T)-_6K7#GtRd7y>D!>m{BlFWqdk-!%O8TmKTQHo4brs8=;;+!(b?Ypq|1^ z#inVR#2Bz3<~bM!5u(<53gg7dDZ5yK4vY%Sp@u@Q{IK~hOk8$A6O?u;QWN4}h zd({n~YZ$xONEs{lID6o)L&Ql4=b|+DZAW`cTQLA}YDyfFSvt7}=iV{r={l~B;v@!| zY%Lu4hiCDjj$1Lnool8YKVde>dBpDTP{%279~21V!iU_rg;}3FGbsgZ?wLmsPaI%q z!eJEK9y-JKxx8lCMn8=TZY#DZam5`p=0b*#F8MMK$aZ`NPJb$nbX#a>M$<7E) z1M|YpWn>c@#saTlevie>${Q1{lvh~Ut69gAEei}z{O?SYUr5L=h)g5Wx+a`qF}Or` z%CLyjgfmV!6ekZ>xevdwWj$avE=m^FDF=1%R2`B+Vm%O1d_ZLNL8YJ2-Lg1g#k#@F z>nRkPJ6N2|xcKnQb5IOQ=?KagRfZ32P8Tx)t7sEghT?f6@~KvuV$DPce(~R9{zQ8N z+85CNfNl=xmViDJP$Zp^QP|dielwuY26Ql>Ljm0u(Cq;o4(PW6igg1Y+ekpO0sVGB zp9|>o0Y!oE5>N;{`W>^=-Xtsc%3{oZoKxb-Rx1l|^r$_dy?MT?hlSP5&jmZ@q*yGX z^Qs}0zM`Wu!;xow-pvw)k+>L@gK=TdIq8K*3NZbys|NT)+Hf!l zXN5vXVA0nxZNdhKX^EOJQbb#eGQ;A=c5)!3!;`p@=yYa;_zDfrOC|+tN(!@G@TC=( zj4Uj^*(nrui@rJ4TUG!z?EDavCnOlBTc&oDuy~o~>4VzrOFfNTq^YW)@tzvY?r@4G zq#fBoM`DNBDAocOgC<1JMM_Ve}y6I0=Z7PQfr%cM~(*ScnfsB0gHW=#}P*UDkXnmxU;n%CJ_rC@xc zmJ%w8PQ`VYU^k4tjtSHGCX+w`ecY5X#jsUjER`xwFqw|+Xh*4Q2Yyvn`uzPNcoG3h zlLibr6Kl$s{CW847e4%LI(HLpT8balu~1Q6gf|3Vn>tOn+e3lq4p7OhpsDVXf3gPU z=sSkzmMj34*pjSC3V8zu6XkF@+Q&1XvJYb>k@~U#G9!uib4*2#e9D8kJeZC$vP8eg z4>FchjKmYhx?^PbM8MyE>-I|w2RGHmpjEF-hRsvm@MNEy49TgWO=i$XLpv0 z*etUp=BNort~CB)DsuQ%Tc6~4hiWRD6%6_C5%&Nlz&NaGk(KPu2bvcxG3U3ms-2aj z2BX+R=UEZrxY|QEqma2|Us98daGP1OXjWXvXb4WsS^=BDb~zp+;Kja_T&r@gn-Va+ zXLLj-Y)@QGbkf#nRAKiK>b@gJg^?%jI<%$~iw8Vfj}2^`M?>@sjW;GLm|w!hw8Ldy z3_5{nC*vc|3*8umRj5$L;P5sa+qAJJ(ShlLHP=Vq5zKo+Vjjm4XZ;XTOiwZ9r zOXqN*$jr7lyv+zkT*_mH;McI;R9GOOTD;yQi@_2D7IAnAXMEvMET1-3|Ka>#Id$>3Pkzw$JfD1z-U`5|M&7!#ArU1P)0-$-_ z1)FB!DeRtDQjnvG<;K`a)3z__K@kRp1v!&SGNgeck8B&6IK#cKY>WpXw17_`$W-Ja zb42^A>?gd%f#Sh z5`yZ@BtL2T91k80dW1Y;Uqw?n+@*|>ElrKHPKEL0-DnIa^gbD9W4vvM5Ab0W#Ti=` z1;g^$?tdfMQ)vKq_d2fSLfNHcw(90$CN?lo!BviFPbS2yAy0F%iEyH@#e^3cotl$4 zb*h(Qn9H!gzMNsklqxvJ&nY0S#+#Q)6{^MzA|IZbb#r5H+w&hci~dn$x}fEJTAiqhlLPtGiqwajZt#s@by! zDV`I{v)rAcvN+mIl(8fGl1nz3yNFx|7tNRBIFt|FXD)8&f&c|}aLk3suBAddKnfN1 ztz=&+WSTyZlEAzPF)a4+k}yWY=QvzAU>vLgAO!3r1>s?�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

    NTBA8>;CTXr9ioc`v5(h;dQv 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[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 z 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�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≪Fl$|>=%6c|7QN21#GT^6=g$qrWox57%t9--E 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�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

      g~TTD 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

    1. 6smcdLC((QuNojX$E43|Vyff(>8Qm6zPq`FCzR)t9UKFBMZn%r&`A|?D_nn3=f z@~R&h{0F{;VE#{d1h4_l3cwy0n99hjJKwLsdu`yVFDj7jn#!A$Yd)+%noWnm)mJN! z%PBm88m}0}bfi=*8ZFZdqoztZ=E$jN1&)Yms~-3E8jpdR@_r0cuP+5{+VlNDAK*yvUk zBPsiU82n{{3t19EgD4@STZEA2@;U#5h|i9&mZohx zvvwk>zgNziB$}FapExyRB()^5aI=eYDAO4%Q`AM-5lI-to*9n~ik<8%i9HT!<@T%< zVw)AN6%4(~wSq$O|M6Nu1GMc~E68bY-&#T2pHE?)tmjxh3vE?Qio!!p@06wDAg07+$eFF_@MXBo~-x!(0lB= z%_#d(vKCppgOYavRyyts;KV50yQg5jz|A}MDm3QwOBg@(ea*40Dn_qQWtea^EnYXQ zyU5k3{|$dN^q6L`OetIPBo<2?u2>bZB{)A%H&5i%8XI*fjg&lO)YRX`L5bcs=vqpD zMQ?j|z_X+im!d95qb@jZs|{c5IXjm~z+0^{EiF)S%Soe)(7w>i%2AtNV|vI@8zm2~ zVT1h%3aQ?WjB(*X*sGTP8!#nXJZu7{Lcft)mc|L!yb<&LZc8!ZQSu<4CAqs5?W^To zmzetcL=i>9zxKq?TM}{~B>BXTfd(GKal`%wI~4BDN==9WEI(500^=@f;6TJw;pkCz zr}0+Drfv%|0l&+Zm#th|73PN0`t=p2!oP`E_)u0@=^}z4PRu~P;2qWIZGlxSy!lT5geQ~ z?8frS!TBFDN&Wcad7psy2V<4k4}X8g9~vwM?*MEBuq!S2v#Exe>nRlbO64|XO&eivo`Kuj z;0hYLAbZlu489wPs^up>qWB~~&IR)k`13ehZ?H9vtCqK%kH|5m!1bwF7sRXBSe+G> zr3RKDF<5?092p6RiE&ZLUHC{6*V9Nm18u;K$l#yCvuo#t(E~whQx)E-O#^2A(3xS z{~V-(?cNXY4bGu{4|s8EGA-++`&;0{yAVb(Z&>*>8qr`5CBy?iAW-N2@8Wa+@M!Kc zM(2LGZ?6QWX!8DPD214MV9T5HE>ZwwNpT@^ebyuq_KX7Ere6oS#kws_&(Y%HJU256 z@UjL%b<|U5=v@EJrvB2cbR%!c^al}&3`6P&$+-@0-Wu>aZJCMmArzX4G-h~9VJAeP zz6xC*Kttzh{-4q8UN>SW{T~;Djux3uDVzxrO%KQWOtk*LF)F5F`~>5j_D=AOk~p60 z@);-_v}H0J{)V9#`A*f&H&MkeP8zkCQ4hzjWH4VXnw6dm;lSikb0?9@FyA{B^HtydwNMoI%EZ;J@N;n*b40}JGRA$LV!>;{@NW2h zJmHZ-jF3t1M#i|;A&vV*96~SI*#8j!XkCPzF&6ee#uKiOurnsYUbeCSDgMz>5q8E{ z*#8_)cyxrFF%k9_8~b149~~26XN-mYuknP(M%Wn>VXvfZ^nZ(gbzFp=F&6sg;|Y(C z&@;wDpRv02@9~db8)0XRh5aA#geOGU8DnA3CcE8VVhO9jx5XKlMU@t~C2euf((e=Tp4VMq0b1xNF;oy9}@J!Ya@J1dIIGe7X@Y`Al`D!kws< zkACM&-F7}%QNUpcJc8vpE80DDrUs~TL-T8Z`aHCk2B<4U1vNlDAxa^EK0Uv8a&py8 zfz9^UldE0~-lwHj9TA-6J3qDR_Tc@&)T-8WE6642=3si&`T9;Cb`QY*3Fcqd^i=n< znPwT@3#`o8b={k8M~+>-!E@#l_hw)x3fh}=S74sN3|F51G{_0C-7%s2&=$q!Tagr| z2tPmoET%Y`pgdyWEWkBv#1fZc5ga^x3{+StVX{Tw(&({2(Ma;#5;@QVy zHp2U<3)jwD$%V=!Sh)=F=1o|M0Ql948@-jH7tZ#~c=xHNtgP!tM7ffp@a6@YaPM1o z{^5!R_+rM|H+{0-$IIa7ZohBkEsB@1D=AcK?xV>w*^3_T$4#(3nYrKp$I6r<-Q&@J zy|D5|rkcxCmfBiG_sz0GL-qCGJeKtD(AANLz*tkg!9j#RrO-&1%`H&#dkT#d+8-hG z4uwWq?S}}xL7^0kDc+X}y-cAY+dIfjNOMS`a>`kB7lT;Xo5v_LWQqsp6S|i|L!+5N zjK)M01Ddr6ndHH{2%QEf1cE%L4bPO?$&|{t_o3Tc%(zJw>;aUgL!{quyim8?{3*}? z1GVk{A%^!V1|C5F4>2637^tED4>5Eo1}g9WLk!pgu^p%t{|_+fu;)UL`4JDk8C2tB5S1(_DQYMG zFq{%|@%LW9?!=!gFbIzzoIse{s7?4yV^%@z26W3J8!q-4?DDn8OozR7 zOQ-2Cv^4q){&11%@mK*HRsm&uC_;;{EIJmTa968GgZTSTP<-_2aAV1tsLWL6XJwcL zxVNLwBX*%_g*s8Y&Vtjc$s4wN;;$M#_-cYCsH2!UtC)iqQ7k=S^X820bbsQ_p9*YP zf0$TRnj%|0?5L&;oE*HrZOY}Xfo*FlaXd!PNf=`rzJP9u=?T2WaXn4S$oi)mnfw?F zYPD4m1745GUWX2_1Se@~#?Ro0$Pxb&WN3toNtnCQ!X&vkaBMjbMao z>)m;oAC^zL3D+ z?$hXuuyA*Kz>b5A+zMQ+rQF@e(L4sYlEc7s z(aQ>mn4v!?AmZ`XfvDq?h`sx~0>n#@aA2Jv>qrqXi$e;Cc)uShAY%Lav-o7(a+_%` zz?cPDj8+Zta>s`yRg&{h0EfC55x*%_j1fo5rYvGv@2~rW;T4`5cX;#pK{gGJeot0V`$Ob~?i)*oEbKVsQzTtX#5MjV@XBP+H!* zT8lv0q13X(xmKEB&<_C_T8RwA;QbVlg_kjapkhrjet^Lcd>N~H$`yY%usIVyIX^Ahxb3_=)dx4UiG&z78^-y2_lVrP)B;C7Pugb>r^ZDa?# zQaihnHS#CV?tYr zH^Pq~{vpT>YVuHu`%!;8F+Uto_-C& zOn>PZI4-75>e@_hxP%77WVh`1CuG z7-l+saNZ(Uu^18L3P!< z$Ps6IqvI~LONWv5oY0UcJ9Lnnfj&%Df4TV4-1wokI1L)?;FNA;hy!D8$shYpK}(b*_7V-Pxqbnjz9J26P^GD;5{%C7MOnexc!z;)QndEfa@&Zf2MYZ{`*`4E z81YpINpv8v$1C~fg#hAS7xp@&BjTA;FSt*G)IAFD!ditZ93lad{ft5K?4G@ zn3msw7KSI4^Fl3(lN%IUFD>Z6gP0ycp>ZIlIB@qEfd35)-AYUIO2S**Z!**h&)e%U z4rk-8xsJB2)py|PJQ+OGeVkV+Ru}CSBq&UhU`~*rG;xBZbI{iG|66INukwD3XKQrU zDmmD!w79rzwK#a1+H*lw^zQJmw|=`}GX{;@3!A+9`4eJu=^@yEiQ1;ao#M!EGa#}z z!$VGW$zDP5ZhAO%yqWN&eh*(ea&ROmC3Am;4)rfXeHS3|n}}>YipF-fR&NW-;p7@e z1g+bL6!mU9Zeh4Cz~590a#G4RVk*G~luW^u9f^n-pA z;P6l!gD(NC;aYMuo~?NDAMw*?#yj!yfCcA1v=iaeWgluyvQqO&Bo8QSa%2-IHJZPM zn)^H8XW%YG$HCofZ_sunK=426s=-#^fo>$|()`kI?{WMrc8w@b(3mlH!boS%5X2{}H6YJ)^I|Ee#*#YYBw* zV|eigiFw&z5M0S%a44f+{dwXFh8Cw>-Q>O(IVVj@r;KYt|Bl)Kd|h0(N?C64nBIIi5EB7KAA? zOvmPCHnALh-5KPEM&66Il8Xw;O%eo*Lz>0$M#ev*3I)qQ!XE&)IM%e+gAo+THgHW? z=t}|ofv5${)jp4aGc{NHV7g&T56%nqdfetT#4dX^eqogq@*k=V)E{PCs_p&jPNYS%-RXa1458xm-Xo$$h7Vv8 z*ZSuLL0%|PhZi`h6Fgvdx_?5)`Yjxwnn~j;7@%WvAT#aXhS4jB1NBauqBnveEe7SK z;d3A##Wf{mxU>!?#V$H2s+)uek50iE1m!xN^49F@C{NuBRMLH#CPUBQrvjIB{XNz15$5Q?MK;bR>#I18cK^o0ejEis)?)1~7s|_oikQsdPar{Y_$=^f@KMj{uhY8K zn~f`UWm>l-JKEe&5>J~; z{O#~REjFIo{L6!&H2(sGWJq-)%X+s7*+A(J1Her$?J}fz!HF26Mq@Pa;uXfw1BmhB z)uCRzv>fn)P5XktiwuRn+67QzXM}%^XD?`2fS-Gz z9|CqJ_d+jYqC=PxPRf!%7Ni>x8H5wt>q~D)VT8(ok0f5UW?#=Cs^=dV<9?1ta6B7p zj^`eXX5r{>$<PXGhve?$;%b{hU^pyw&MwgR@Xq)dN{|RgI%M2bF5K=(RuC z4x=Q0K^N=vlDX}F8Y8@tX|6@Hf`|DGL$p=qEl2)b{8ZqFj&V769z(EM3@5u;0jrxp zcpz03u`;cRsAT}L;luAmcnED~65e$;2y>aU_VQIzL# zfkkbXPa`0-u>zTv%rfz=^;+@;Wn3sx5o6tK3hzAxQ zz5Y|Su2}HP?#bj3c%giGYxRPVLvTv&r9jtM9xJ~XS2`t{V|^X5we@oPzEbK1;50CE zVrwatJPpxeZd+-U>yEKSiq=cm%-NUR&WEQxZ1~YZ^<_bftQ%5qF(j!^D-2D=DIPJ) zZX9C*GNKOJ#wXuO1)nS|=mI03;3jd+ztWxuUAP^c-+<@RcJ*A^s`7Zb?zqcoRe2z6 z@vwM1x_Dzy%tu2GKB@Z^uvYhm?ng10J_~$XT4cvV=k zqM)lyhu6{3p{q>=_5l_D4qyaCX3Q_qRUNjN!MIQD^agQ0yz+gNW&w%!jCh`0hM=b8tjM2gq0OOei z+kYU_Q-+1nn;?H?9w1s z61=5SBD2agex>9u68Z!*??Z{1cSSUh-aXDiUE!VXa~xdl2&aWhFXi?`yNJ8h#duzf zzvgr35o}%L>K+PzaEBn~RxyKh{cMn>)^swRbzcO?|2&Z4?D9nXJ-l;mf`slR66u`G z9j}l~=L_yXUl~^=EgKeEOn{E^*h`Yg(a*>fjDAgTT`#0`icUB=0etiskS z+}@0=l#so>$$+}D{*B{;jgJ3C2HTwc#XBRlN;17u!RmzxzJvt0c2qf@qNX68qri_z zpM$xA#;mx&$veeSV(}J0$Rsk+c)C)Ut|aMDx%|i=KHwrC`MbX$)mwu)L6Dhqzl^L0 zTa}Lhji`ro0QZ#Ywd6cnf%_^*rrZ|Dy|h4C%}5SVW^fs!-fSIooe5hVIQ$i4BtAX$ ztmR#a7rv;z=y=ms&mX6xc7(`@ej0DZ$ao#bQCd7P!c1Psw5;T-uR)xY1nUfMsx3En z0wfr?hQa2fsHD@n)TCvV8E8i`i<8%5rmO#jo*oOWEm@Nr`X(2ow0NMf<3lGvxYt3@ zyDwm%$?c7@R+YqMu=Ry*kgSungIKWaEKLF~8)^{Jm^bcoS>)Wu2F+=42I}rmHBNVDRVyTvzh!f~=(C zm?Sut){ENFYJ~nC1G-5cSJbq3!dEkVeoDKUUU2{p03U$}&3^}fZsQLblu}NtAJ;2XcTtDfG^K>0ajQ@wc3EXmC$I zG>D;F!{*pUVFuGnPueof<#y@yNgp@IgG#5{EUWAk}7E(&0wAedf znL^-jRHRaBzJvt~GNU6HGDi&|`ah1fB4qDS`4p2{&g!&$><_x^Ws)_wYyqZzRE!k`6 zT`1ElG%XuwTMg;GcIaEcGGkjc(`HsIlXVq4NbA7b*mZy`6iZUEQ893CFtGq0!li zbCZ;eL;DBW{*e1y=+rJ@&K>?-?7HyamelS29g-^v{?BQcOgtTHtZoB;KZHyyBn}Kf(KfTckXKlzZ>C` z@SG36Zot5~-}x7ioeMtC@KPYLabAiieS~uZ?@ShJLq5*foF6eij8W#N5KnVK#QZQO zVt%lX5}d_&`U@kRj8UAWc$zmd%{{`UF~)s1;L_kQOWCP5)H`b}2{~C2TAGvuW7{r_ z6*s2oi0I?ciiTiCQh5Yy3VA3=Le4~oHeggkixsv}EfukNJbE-6|nv(^j` zIL&{c36#-{HwUE=nOJjZDApWIVmF6|g1Sm`Fp1q98VZt3&>V^*Y>rI4IWqC)$i$mN zk#Bc%C^aA_+BftYbP48~$^?Fsc>4P)6G$fhIpyg`BcJp?!AN>N=E(5H7<5Hpx=UGX zc1Bw;@+R3J!KVl}NO=)zEtf3HJclK)_B|2Han9#{Qc7 zDyn^7@4#L_nkTA(cZ`)~b;*Gt);EpCx-rCxfp4(VK6SbScY|ZGX0-3{NR{RejeS@7@E$|HJZa5ywPi%eNSDc#pH6k(k0g zV6UrI%**$@?YOHJ$`Oiu&!0bWW267%d=H~mz8%$&Yt-^R#~-%o<`rG}o@?Il-1YrS zHQc{{lbZ2-&vSpf^_Kp#0Nnk$=XSXbpqy+KT?i|RjT7Y}s@%|3I7_UMHz<%XtW z2r1-j??N1%3WLXbXXJ*Kguw&7qjI>#F-W||+dnt7e;8cstxCG@MT^PVfTA}zbTs0U z?o_VU9jPJrkEwIr_p?RC9MPMWbVtCKhyW1YDeY#H4yNO&pnsuWNi@)gdz${`+W76^ zd%1|D#Bjv_j=s}u#Q(0o_woIEd{6t|$D{ASWZM5S#84@@`rLg9osB$bM|v~xzabna zI?7V@<5K=tk-Y4!g2?M@cmp-q9Y`~}32sxisSc}yJpe6fWLhKPpnyQ0$4a_);oHWS zRU8iKk}*^1YLZ|qa8&BIeHh!WN3~nXOuRA=ePiP0nI`x z8h$tA*u9{H52Apoioe7_sK8|FC&1+90Pw#DR^9F&Z-eO^Za75$4y8v&ODY{+0%>{e~NH4^}ZN2CK=en?}ndv;IPux4K2VyO*>XnvzN!g>Oc) zf$zSQ|0H_H_c0)O7vvQ8T)YLh7GqDt0af&H-s|}NljmyCy%-HgL-QddmAfEeaR*pH zKFI%w4M9huxt|u7^52=YMB+ls!Qr=KX)UUmK(4a_dpxnGJQK*O{tM8*4=1?VwN@+b z)rzi=m5yqq0&R8*5#77ohzcN(LqJux-Cl1;x2kTZCPz5?;WGqFE{z$3Aa&44B--2u zLGik6ZLX#gC5lL7XeT%;TvXVW9pRh$KiRB-%CxLAt+q~*D8$0B^geH%$+p$c zu#n8VW<*{FPo>RN`!Cp>)#sYP>(B=EE-T>w5Y1oPnuK|8rPJwzC8QY8d5d(!ZhwFI%(kB-28pr{0Z>nZWc(oU~v06kNHCwjqU+zVa=w9<7v7-*$v?fnzy4!nfhS zqF|^lQz^u0(Wn16#OUk}?;N{9qk?uJ0`pON=_j1d`l=wKQjk%PQ_>VcM*L>N?;kdw zG=GgrkaU-@MV0sEC;t9u+%bBV%5-PCo;#i4%urp+E_e}T%QU=*w&hliA_exJ*E|ro z5u(0j<%cweI+~SV!h3UxMvBs9CQ^ykg*GC1Cr~su&61`P)k`a4MEA0!`8TGU9_e31 zVMUlOEGhjD1Lx3QqCOgU5s#~o!P}Z z8{tqr(^!lvVPPXaVSD7ejNThd^b>jqiP{bh1xb z^AZd^4Dd7-@l5N zloQ3ya*sL~aKQxGlpSGETFL)Aro`Z%*-vI>(CVSq584sUpKBX6B?2^^tm@aBn>XX5 zSgP7OB|!yn|0g(wf)p&YK`Q7KePV9J(#u7$jYZo|G;wV<7i#NT3bDMGUhTvIrj!%a z8B6IuQR~Sk{+hR8F?Tu#E{9wRD!QOYUZ=qrb%%hS+V4tF^9U?(9X;wQbB;4d$&4t# zVSyOy$S6wKr+Ue0udS=JH#>pB=@33u_YTW|CN#q{{+Ro0n61=y^B^Z7uJ3U4%z{vm zO%1CcSW4#W6|e&2=f(|>l8w}?OiikMg2ibr1cDtpV0bDzq6q^xVH6m4d%iQ*Dts$K zRHkbk^R-}GcZqX$;T8vR0`L9Q}Q`>sT%Q;!{Hix9Ny+K|IzgJC&aX_6E_w0gm(jJBi?qu8<_Ae}=8KQCO0Uy9#z9%xf%{sW z{o9=SxM(T(_Ffzpt8JZ9SrAaX8OQ;#N-6y=@GsJD+N+jJ<9eI3VDJeHI$X-6x1d0j zPeMU{CK?cpDnjAx8>G!o^IiDL9#BuQsA2eBp)MHa`KvMF0lQ`*22o#b6WPeAA$9x&XEi@@YFfJ~@^T`O06sMFG zQfW1=vM^C2w3v4Mqo7cex|JP7(kXUNBs2H|3Y85o@6J?cm$T=Q-3 zQMlc+mUJ8V4ufZwzPWG2c`c4|;p|RBM>(_n>#?u0Ai_=6)?<{;MkYCD_P|$2;WGo9 z`KVwag-3GT0gZxR((R1ybmSfbnG&NNph_T4eCV{t#UKoLS>5GGf?xv`JU5y4VnTU! zZ*YvXZF_cCYtF&G+L?{&;{R1=IM^1t9^@Th|GH4s!RMbB#}zZxg4lIjSP;8vK`gdI z6<8O`KC-bBEOfb#7&;B&z#m~npCSS(^{?!71sgWF8r`(H=HCH^Zh^>t%vNs=R?bSd zH#b<^7aDZV!m+r5ZRbzMZabYWr_EpvKGq%M7z`+J5?$;bj&q%U3z;q{Gr+RF%%N{9 z(>kV!_*}%oI&QUkIx@##T!8#IG6F%rFt#=*z)jMpPGL+5W#n|P*Re6*0L{o)i_@s~ z23b=nq`K%Klej8dHmQL~hAiLdhGJUc9I%A@Wg?ca&*@WxTw^fx_aaWK-Oh) z-h+>W$qWEIAT#)V0ERE^!3PbeksYmJ@Hq{q#c7Q2Rkj}!?Q6k|;~I`Bqt)$C4=;&R zM!O`v;MQr>yqavO$&K=a;9Yj%Rw=Gs1s;GYHA^j?e6X#;2H2P|y2RVMwirkHKd{Z} zj>o_~M%i07K~ZXxqaqhmwzh5gF}ekz$lJ9)znRTo_UFD_nuU<;&)=spvOm8K?@eKV zbt}Gt`+M1+oA1Re^1|lN^qctRyuW!5!S>p^q4_BVMLYAiGK=>sG~Agt&TYP3LD9DS zSnqs$Wp1qXPDMD{knijrfpD}TZ$RE^Z^&nQJEF0zp(BDPS@<`5%O{E=7qHozI#Cq& z)|(L_!<)mRGR=fS$(0=&ypJ1>tM}%5R2Q)++!vRFgp|E(avz|wt>5W)8e6lMVRj9_ z4C>@3Ae=Sn%;;|+|4^M4n0+CAR4^aP(qd&%$0GL-NUnmIaRu2#t@eNRq0-n2?zs$T z!Wd?ojphCbq^`a%d>xC^dEHn~4T7@ci}q#pIf&51G2#)qRI*#_OJz9?hc zAQ1gDXzIYbIkI&%FcKE;#F%(xv9s82rD70lwByb46zzEk2a&San=IU)fX#B>f)-ah zduc>n!5i1%^zKBTnav8VC%QI7^~6ptj2;h)Mz!9?T1(DYnG>0@3xD$EM^DPg3$=>v@=}1mbPpSuf%cDvo~bjgmlgp4b%< zLo61FL-Ds1f2>9z^C$fGS?G>2pKwn^3_b(!GmzktG4QL3iNvP?U)>T<{~9cb9f&&_ z$iX_vKjQxZ!i(_yH=cIBiy+fK7HjbpNNmIJKp67E#Jp-8&!-UX2mFaK@U;kk7Vrf0 z0RbMKE!r97fsK*ViDQ%GO@z~^E-@kHR9Z6rP0(IWTb73=FAv2=3%sAYCA?J9+_a~y zFIU6KDiq&PffSP&(SnqQZ@{oC4?nB-Jeb5HL(DbTqwdh>Lk znl=c1G^)|dH+yW|m6slWPo>y)eFWU}qI|_Q(C8uJja+9uoaqdtKQ@0?i z7RgG9+>9`+Q#7Nq^H->vml0n?m4dcA4Vw4F5Rju!yW;sq^ZrRZn-Ag#HyE|}KSwJ= z{)1Qf+W$4$n<0sOnlt}4LJGq9`@g|^^N!fJB}rY-58)UCIOQ|?I~t%&+{E)!NV&s2 zC;RSm_^y7K{n6gBF*Z=B@5tDKX%}e+DVR4)z6wh)w%}+}s+0zAQrQ!ZbFK;%VZm5U zZkdOHCA*XBxrggAmswS?gTd~kO?M|y(%y)TP^H~FyQAH`iLa1&x~*XDhaNm4Yc3;d z92CGl5W!YzPE(il<`H`{KD8%8L~H#U(GFfqkVt~aYcoD*yc3%f_{ljtG>8sx9)n%0 z6hON`8o-)n5%$sjr-J=QVwUU`6T|UH(d!?NdlD?8OplYBKgBE?-Iwnf|Gk)+a-Htz zp+uJKR6B&g&hZwEllS1SiJ@P{lmAHHI2BIAA1p3H`a}5n_(Sy*@D~uHhcw*bIDaFa z5xq(#z6jVwpjXyNsx6CAt3KnbRvH9mIIv*gneb@ig#<$BNP%h8=Ky0YO}u=!omvaL3eYz1MAS@?H{}2C%D^2 zr2{ZKRIb6j9BIdk&*21Al(xKxlqyqm%i$-&OKu<#L2WWRU-E{qLPiEJ9%$OAKFbqF zzEkT%8pA@@q(ssm%pp}@Q7cu;-t6qqofx!GY2U<>VZ|*<32^sXDPLPx z#xWfkY|N;(e(3{dLJ$S-0fR39jHiobEbw3w3{|9CdErGe?Y4kg<9O=NFmz!-lM?IP zK50Poa?Za1aNM8BB^@Rb7c!*hnGl>YoXq z|5pCo2;iH$98b4X3MC5QO0EhQ?JZ!6A;h`?NA1^9n&sfu-le~*RSM0k z&~8p{_|0JJAzFP49{!^&T+urm$2TA2E8J&fYG7TqUBCseT)r%7VijH*S?519O|s~ zXVcyNQ@z=l{Ixi+hT^=02-vl9s+VvPtUmK50)zLX&*H8roGwPPoSf8@k;+jDtS2#*He&v6m{waS8kfhz;Vvi_{k?x;LM(Rm|(J_;vTrB+-RM$f_xzU5TMT#(nlLZQV>`^gK| z*74jiONm^>*yCMj4LB5umSv{hg_`zQcI4c&fX!DX<2m4owk4Wh*`h3HZk2o@GnC%n%WGW99k7c6$0U#;&PmNiQyZxKa+{B zDSc}K+vEEZAM*7blH6~yN9QI}qw)g4HweJ&;i0YF{=_t0pP&^ATIzs6aeG}fFB0{c>&-j0YF{=csKya3jmJ<0C@r6rvX4- z0t>}Q0mTmH8gBV$8}--GdaSN z57NLUW_$VnUKtxfO{>y4Qc2Txa0|{_NPEe?&Hs)_C$(ipg5FJZp2WN-zA5!9PwBKH>(wiLNP;zz%&D~6ptO+pf;FrMi zFYp{^0T$2&&H`t?a7#Di?Cf0KLoPHKFN|lrP!=O33hnG% zoAeGJkFKvw*KZB~c6=}lcULeh`mdxU@o2IzSHqVk{8!| zthUSdWweRC;ql<6{MX{A(%0m2)zPO;eY|R=ZoWB%N#J6oSZR3kI~p!-=PW|n>4~== zr{Di6sA6P^PzMXsa3O&yHXZ^=Z)~k%*I;ZSoqA&@ODb+q=y7xqiI1=k4O&n91q~mE z)9(K9_(8eoEokr{WS3hX@n?zl+RWysd9tdycc3TJrRRTxBBy`9%gdfBQh?l!R9@$duSY%sXs68V@ zvo*25s1(3!s(IoJkPWd7gyCaBtrV-lP}$dk{S@g+U_8jg3UO-soJgAkE5(TklT(0| z;tW_RnvA-FjC!1|ct(?cPb)=6j<-@IbV4gdh%41fajCO3uu@zaSSc>GtP~X(SSc>G ztQ7S-%Sv&n7$mNk35=1Iq5>@|#icz)5wbL9rMM(AGO(-^mrQ7-xFqr!VOc3Iv0O(O zE5#*|twO_CDK4>;BD7LmVkt#vrMP5_m7=XsGQBHSpA%atzH(}+O#&;$S59qNDNfw` z*2ET>rLj_!*(D@|Q&Wxl+HD;?cg&S#%}o$aILj=-Hl8aTS!X#+$i^8j z#()!Br;X0UI1J_uY=s!Kj2Hh25(vzp3RR33qiGcxFY?G@vN4=tuFdqt~MkXKtps>8ByD(n^Q1pC+tEPF*QZD_B!Q`}y0D(n?^ z3T%J`>kPvl1@?+D4#}Acdqo)pX2~49UCn-Ct7b>HSuaC-Mfisw_~K;bVq$y6?WGwy zf22zqyJJKcA~8mV8u}L!dqonL2|7t>kXcgypP@l2o&3K-gC?l@E7PENi`gQivAplq z=gqE_fhJC;CpreyY;n*T9AmcF;wBCt&gP_2}LZv(T%l>w2%(gn#MZ2W|Q5wk^h zs}6^_+2YE<1xQ?jk0H`Nr(968MKCxKM**`%ixn88MPc(%{Mf?_I&5ZPQ4j~dAaPi3 zN*&s`Qu8Zg(!*>qo*pb`kRDZQUcnh*+U8jhV7S*d*@?*_2}o$22s^St$ZIPxpimVc zVrc_JG5g0!2D*(bw6hM7{T)l~m}10mi~VC%nsIRf9xB}o9@5KtVE-8P(s=tvZ5`S_ zmT3Pd#g~s`_K&MNR;m3XJ=x**`9~?H^$y$D^u3am*p*;>X-Uc?qpEZMq2r8dE$ za+220E`2a)mNnsL*>w(l&vFN8+UO;=(as$^i||rfW^#xK&9~}u)roP){jwlO&uR0W78bS?If=lW=#=*z3({rprj#CymbK zQ0?>&qEKj!cV@>L_h7#6f<&)FqROtp2wj$NcGYI+*hQ?wG_Xmoqt`?ElhiRg!c3Na z9Vn@ib9PnFyKCG-kyGPJ$Z6JWt-dw9Km*D8s6Luo}yd1j#)N z!@jax(%CH*#j?2Xm8g{e06ukg^Z!5$c7b<5qWZoN)JBzXX1Sa2l@0RynJk}lX1X63 z8^vrIxm2f=&Y3wugV26yru$zk$t+l!^8mGsg>Vq~dqI?^!tB}BOzvLx29!c1rJTst zt1lMKI6DxjW0iB9t>n^9$~z>{UCc})BTHwKEHa(Gt{bvYXSS$8tE;i>@z5ZLg<82S z!+q8EK74m1rNXYV2jrf6s3vDmXZMahMTa9V)al5C7aM6L5{(Ye7w=(fbj&1b@V@Ga zW>A#Tj3A@EOr<*ZQrgQl4DdfT7Jo2L4m2N)CraX)oHLXSH9nfybxutrwI_vBvGI*& zaiTPJ@Z)Ge6Q(c~g4?SwScVU#yYt`CFm!KcZ@4k$Wz=5I*<0kAm3>eK>c}hmIx}U3 zwmNg@^?l8l`QP%?B^Vy+UQ?fqnG zJNv2iB{UC}dCoj%f2gy+?(AEc=|NdNv+BN&<8-De_P)@pRhOKKBFQK?oo%D5FJqRh zCAkV?YU@>9GT#8Ty?i*@i8Y<3(nt&0qVLA-+_@~rgs5ugZse$IowaJ`ejr}vvB(EG z2N^r}wULlU?c5C@vU9&0-B3B$IXFAoOA321#IOgC@KuQ9M3T|K&VBy&rx!c-d6Hgm zSB0Fbox90R=(~BRkjO5Dv2#CoM6=Z5$p_miY=D6YC%1Edbr@*p-U2)K@kN21`(&uN z`^Bw(;o<4Rgm&)RBjLT7WXMQ(jh(xZ@QR(gk?`JzRBGpLB)roC39tFywsRjV-Zgga z_GZl3x!bbcw=#?Ovow}$H?VWJ1-rC!x3+R(=WdI1Y3FW>bZO^qi*#w{e(;DjbYzVV z?c67b3hdk`h*CRuYrtXFYeV&~oy+PNcrG_cjq{WTr0Q9E}NGp-@b61Vips{n0iO&ZN!~%j-7<{X2k!htG$rDMyj*B*MVrBx%T*|!wYeow78f!4W zNDb!AGIN-7ShSb~2J?qm2JCzq7FwMT)|{!IftvkylyIR zd*{Se2xOneU_RD)(9?n8tT|m`Fdth&;rho^>#mPoOP49{t06&*FWpj z_0JK~I?j2&69n zKG%uEdFSmXkoKm|$R3t?PsM(4CZ0RuiK2;5JC^4~q`LsmA;9f&zOSbB{Vtw1d;`KK zBmL8O;uHBtJc;f^Vj&(2@wC(9@(ekDux@r7{x*c!K8t$dc)p2nKj42E13wYr&jQ{x zCyr+|!dC%)p9P-|`_Vg4sExGEIRorrz#m3>yo$<8Q{!qO6W?^8PId!0&66MUn}JPYmYa0>1W(WQuWZ2+jGeG%#VO z>P~JDAk&9AsXm2{l{Ofi*9Ef?0Kv)>u=6 z?8A^osrn|Lpr}rNvvQ71CWB zPAE{y6cxmrS8hS&aKD`;(^>kRY@gb9FPKt)joSawXV|gmSN>D0J{ST%hV5N4J^DBw znb9ZsNRALFE;o}H8<1j%hs_N;U{w}>Qw#92HTxd2LLSCT??%SB&tca$x&>d-7Mpgk zpTzUcoI6{n=aY`8s3O$VOa%QGcv9fa?1rAtM3lGvhB{@QL{%**lH0MF5G{I)cw{ow z+sH03l|xeo@5xN}`aMC&6TiUUCj9M#zYPAGboWw)k-Fvw6ZN}M$OW1K_GKW7g}r z0NN@aj>dRPI2Lut8F2{5yigUI5W{|W7mN|u8P`*VMw;F&GhMr&r4l*+X$rT}vP**b z?lTN!V2Pd_;p7n}E?twa%lZ02dH?T7z^kC`1j;!sjlt^kVnH3jmj&LZbd=+0O~!u; z2)$Wja_p+PyP?2k9FKVlO@)H}0?7uCM(1ofg{H;5;dRn5eXhX%ziY|g(Qy+3$ZFR(~aUR+u6;tCi(;!D2F>&f>E@kiIpY&-y=SRj23;YV@oC zAB4MvhnGlybPn&3SagJzhqRCIw`m!=(9di(lwt4jWhiE{{=r!8`gVkgrwkA386*^T zb>Cn}LZ7r~-Yv)jXE1R$P_0yh(`Lqrp<#>XW6H_Rf$1a`C9YcT0mvIJ5ck6aAo1&U zK8aZ+4!Z(nDf3Rn$aIE&#w9&VmUq_z1F2ZHwlu$GcD8GA5^HTrZyLM|?Sm5m7lihR zxkftMb(GExZKsaJ#aC%NLFD}ut3w-cdD$(cjs(Ov7KjTPk@RpQ=F{7yo)}f)Zh9sl z&!G12#@`eK3lA|u5*%AKwWrQ1ja)zZ> z^%OKKuJppqi^P++gLj@S$gO!WxMbz5hChltpc)Yll_>p>@u1!_C`}TUW8s&o*8nwY zl!nfO3zp%%fc&E5$onz)tYm%*kAE1zXJNqJy$esh7=bk{$8T;=PUT1zE_^uOna8giG_@O8+P$oPPHUB#$fcQ)%Fv zU&}YrmUp5E+L?B%kzlxobb_7j!*K1>vol?MHDAjjBUX@(>-0Gd=|((w#;v-fmM$#z4((X1R?ZOXs@Q}g_geo-I2mwH1-eSR z(~2lsXX0K{PKzKRozmb+qBavN?6ChA0D)2rqd$!HTx=Ug5C4(1b&`(bp3IW!blQGn z?GCL;MQ5Yw0#3wAr=_J=#n)1GkFwOVL0y(~a4jq?DW$PsZ69o6sSkmGXHth!%ac$c z>u1igjxP5^HViIBZNL?CBh~UCvTfVXuI?8%79* z=aXdkAUQp+0XBSTIn4K}3>j%H2*E%JfrpYCCnR>eQ)Ir>YzhuA>yUZw(6w znGX(86^POt-EPxU(^lUO3^r+&Fj5kxj4&n3Q$>l3@Lass_ZGiWU`*v(5YdTu`(&CPjsYyZNOpsU+I!^V*4W)Wh z_JLzeg6^u~su33OMzK6ImKhVE*xbpECzf$r-6F}gEs3$nP}SuU&y-V3Q#qa8HQ1*_3o$%Um)IciB*U;pJz^G&iRn$9KA-qc1xRy z1{SSdf@4GGhB#nookD_NYYy5e>a*eoF%yyC%UDBgS2$-O@^{}ZSgG0u`mU84yXJNj za<}3x@s_sa)(D?}HHYn7+^M*;^<$okQU*FjX|QG&u1sqM?CiGVcXiwGm%&?iZQG8I z7{Y#=UV?7Jazt(e|BVKTwqVs{+e80Jp*;=Xl73V9r|5VVhoAH}e2K^#Lfel0tfrQZR?Q$>vfDg(U-1gFV)V1!)pz)*KN z0zL!q$dj6-i*WcPz-ORa3>)-*;HCcesQI9O0~u`rgCB6eTV4W8l|mr{HXDNgQH2 zvA)Ac3*y6vn_jH%h~g2+n6djw^;%o`9mxjpS>%CTUQ~?2W-a4(<`QWSNkT1!*;5wh z3=r;aozcB)m41uf3_HTP5;+bm-YHJuw3{YPoTE;zC_HvWW>Csj_c7|0d1|@!gu5iV(@YN^YCUN=jq!zH)yPTu5 zUaP~jllv$~?&49)S1MLiAuZJgR^6(pErQ%{N{9CYv2|PDTR>u0I!p6T9McoHdvW@X zjxdacqFct#f5#M$G37#w>#{IRfQ)33#;5OCLjJK7qqw81ALG^R;<0uahCNgjp3FOa zSEG(g5XVKfoNv{=rNdkJ#bb*{IcmOvyv9+}FCH^cd`qy07Oas>wExCuF=`eW$0nq{ z%7HNhGm-DO;&Fy>3x|=dif<_%7cOSZ4EGZ{4uwi@1S=)#;cywbbtB9#Ld0GPYbQ4r zoJj%n_~P*`TF1?)Q5CyeW96-W@vSkXdPz18&6pp{f^)J3WYouuADeM={IC%G&Dk9! ztP2iy)&;J6VIGluSjfeW@QcEnbwOn1@@8k{axnSfL{g@i*^@j+>DpxdK{+(!)nu&e_bH zBMTy-^+RyMa0zA$%?AuCHw=U~>sCGzd7R+~Z`PcDX7SAM2~=~Xt@bXSQ9QFa zKl~HHDeF<;LkJe`8oskD{k>^rtsB2oZe9>&pVdyH~1#u z+oe74kH8lodrjx7e~Q1BJ3_DJTgtY_AHgs9J>%eiCH)4<{_{Ba{lIr5Lv9yoEB9Lb z>&RyYwnj;OxEsyh5#Abj5}(WQFCqR{#>M|-1kV@R^LZcszY_lvY@3q#90q(J@Vpgx zvfK^$75~rO?eXscuK2w@?eRa4e*y6yT)$o;OH7-Zt3 z@xKfBIwB|GAI2~E+)_JyFZPq>0Y8IpGX9Mb{M!k5A9fx!;;w}Xy`E#a>8UBZxiS=2 z8s4MneHE`QXNQN0p_?lGiDBawe}zgeipvFI8d_1_8RO4-H?qUyGAu5g<}OCNom4$t ze{^=kp2~TZ&9D}jHTZi53eVXMuG)#So|VF&_rvwub9LkZTcNU7IfR(o@;073?l9sH zluL!Q9gXj*%wxA1PKo)6-NDwGbGNUV7&e^F3>>EIXuJ33r!WV$qd_Wu5^vbgln2W3 zo^+qLc(o&|?8{E4Otu%JyW%3wYA?YZknlt=^bJvld!a8EYGE{-%Y}M)vBKuR))1v& zHyA9D>}@_BL}`DU&n|(B?|)n9EsgfZRrg20<6Xi-+g6+rX+C+`Gb$Ynd&zdiOWI~) zjJsMF61ckqIxAaoy_qP)H8k8YlXfzOM6B3t3z~yrqut!vXgf-sj$-$MXlEP6;v`nd zDY4J0+8z5;VYc8v7v$`5pF`a&%wG3@HP3XJJrAA3=aur6=R3OlSS|j?cbt1CT_JoP z6Gvy-7C|%8Q%2DgbV_R!GKheL) zQkwovCy(x+eWPd;Ul7`Mr6&Et=ybHV-3Mbjb$dVjX?!^3t6Y3oPS3#eDUId1%P zDl0nVg2PmO&sASn)q2V5bK{<9i49PM4n{fYR1qta{!&{?DKgqps;%AKd9%HhhsSl! zdT(17yFcVD{F-x%&&`3?znl7}I&Fb7JSB42vUj);v%gAz1h>T;NSSDvc8MIU!@;Ix zma9vpsDiqXg>_HqtnNSJt-%th1$38^YHy@7)HXxUl+K*nHCZi}3%FezVX*0MIxI#0 zu<&9ry>b(r4^gWWDl=;%e1 zkJIL-g5|hJbX_8yt$R%G8-LwNGGb?6EwHrXR>2v;3`=e|2m%3>B$)IJw{VqOV(uue$Z4GlXbg1bK!${ zT#j6qtUhIh_!vz&ukod$8Bd{#85#(G2YuQ~<2hRtz2HVC>d{3`5$1;uPJ;`rZLsPRa=#H;Nv)vro5X1nP7MM|iV>Ugb50W3< z%<*okGV>ho95QxPH7vYx!CN46S9at8Mlv?@OpKKUy_ujx&TMZs@NpD7BlGBd1nBD| zN{Wz?$LN+B7+qo)&-Il`H^!>XcJAcLm4rR8S`{Q(uLV`6XJ~!UYH#_BYx!h1qdF2` zRtz<#(bgPOc5}mt-j>a|VTt#2F}CkZ*<1HpL&tt3CT*~GF|~ErOwf(-t(wqHPa{+D z{-o(0PUrL(d53M-j{KM^(}JxjAhu!7d)uvw$C2+fp#7gD??skpJLBJ$KbqP@Bsb}A z3%-?oACex-MpdD*_d`31-QPpm7+$qVR;Vm}XmKlKsC8<+P?^!{p@m9U!XvT5Y@Cnc z`)|~H3TCxwHQNET(={7)+SP$wT#gqFP+eb6(eXGmet$-*1CRX7)xFhw$uSdll4WGa zJ>ZS(;%K0L`yA!I*LVRZHDs0g0|0Q$=jH1ZX{a8`We&jb8XV=g*iyD{9>pxr8Cvr z5$5p@pX)@Jp345sF|3h$1f1S>qPlY$F{-6`ZJO&QM$XNCuW^%hwwUI>&8-7&Zndij zqCqtB$tT{Y25A%2T+guiwkt+p=NJK4M`s$*s#&NjN?nA*9|Ja7k4;}htp2baC_ZE> zk1s*jwgQ`7h^l98PA_+C4O*NW+U0C7#WJ+R_vU-YUgBuyVX;5-s5jlgZ}#^8TZ^Xe zA=Nd|bfAEIqPtZNNLvr@sl1uu?QYCi;=^`2Yt?`}cS6F>tm8e}mFPyc&4xcmN95Gf zeF%7+`351XM(wi8}!rZJ**S334-tn^uX>HY+6WNJ^JfDScu1>zQH{VvB$mgn~d+Szc--sKLqIi7>U}irwb@W^6qf;GOrtuhrsDh1y-SEqO zJ!smxMs*$`9fcV`>Feo?y&@oIQjA_b?ev<~qL=Oo8s3|Dj$%8J+Ezpo+qr~Zl+iqz zq*!OEZ%T_~W8+Ciei?@z*c;WhbyS<0q*`wm@7uFJ44>pDd0ATK*x?g2cqgH`ba>lVOOrs_}zzHX9O-k=weUY21&Vj;1 z{9VUiESpG!QQ+?j{C#5_{1Y_iB4Fwg$@uf|KMef2aqwRN`wB33jvHL--ak@L@e^BKITaaP+FskJ65xv+`nZ>HK9HCgVqUQMXsZmJb^8!ySeqf|+C7RT71zUVs}0(&(FZ^ThmU0KFNrc6_gQtEDzv&mX|GI`g(vN%jBl6Gw3 zdt=+{pv4Z&aJ$8lrt z!_cj|+x7mM+Ffu$EfOTyjgAlmwPfcc4R#3`qtIeFA-kkvx`kq&xB%Ey7;`N4B|^Bn;OX_|DmfzNABt;g6K&a(+fGihR|7 zavaMhr|_G=tEqvcS6A~#V)#6GXPX$FkEC$1d5PscL@*&-%Dgrq+)w8nqFGKDs&3#l zox>%lP{Y ze@lQ= zD?3#Bw)DNZ-)&cA(EZSc#;#hu>s;B=kF-K$)?!zqN< z^yzfI*q*sd6E0^moBKySH-s-i%f39bR^?ckcdysAapB!+O$i;rRk%i0@#x4jL^V#M zc2=Ll*bB?w57HFj1{KmBTug6e7VBY)oKul$CZ2!V-9Jnjk&C;nIjUg>g1rnxn9V z9c4dTdlH@dP{ytj7_x@%EA^IwufX)fy9w$Uo7y)p*a!8B13^}V%a_%k^>03Zs?@Fg z_4CIXjb7n-sO(MG{!YHL@Jrql{A>J4$MFn*TE{8=(nt%gzM`?BzI7ho_4F;?P&fkJ^5647vQDegj;Lu9ScpMCv)XfR^`E?Kipm3 zW-v3@`@Zf)+iTY+GdTKz?qKl&84Fr`<|u0>fCJZek8CqNGkDqh?%~B3IsfA0N2gfe zZ8vl;Ufh!zeB;Numn`05lpgN+)noSZqk(qT=4rt<1&+wDQcjxYZ{%mg40jI+azc%(fI&3w|Lrx9rZd6@(yv;2Y{yq;6avdMnFTJ=s}iCCV&_Z=h8WNbn1LQ3%HRiyRt5WY;q-=aJ!Q<>L}#--D*LL2XKct?K!M2U2o)rw8^S!((!$q@;pM!K<6P_ohAw*p+o zhea9pM)XrWhi=OMSgmCiNK1?UFSvQJfR`|U#CMP?GX7bb1PC@3yT=TkByz* zj$T{6c8ZEe!!>z98BWfO-dWy>kH+xM zjyVgQj?YKqw%-o1zR&j#gkrp>iN3E5@y#Q|5e(0PKq{CvIQ}lI?N(O@NCLXd+-=Ra!Ez2*P z3(!RM`eBx|!@J}l-Jeiln})smCk*WD^f!ihnd)NB{F&~;Qt@(1#ziY1*rlZ`j0 z;wh{6$n;vBoQATYm_!e|JCHf=-M@I75t$uSN)`(fNn>vTWF< z2~Sj)&#^V03r>%yn1WLY5V9? z2ho-%@t2fyufe~Vu)Fz+1M44*@pmz&GzWm+#{hEx_(KdZ2Y_c|fH?sCRsfi5k(xE+ ziJ0q0CxBqC@1#;N*LUgD8C=Pyd>TCVD*1!=@S6&+u-{&CgBgm~%5LOF`Yp%aYyUukP^@6GtYhzCh5PPe+*=rH0N$T@+bF=8bfeXbRd$X(o6xxRF`6G6yQm$muuUK+TNDD~TmuEuC2Mgsa za2wSS4kn~`la-s0lqnGw0cS#*!eiN`U78Gm*$4r`bYp$qt5Z8{8uGnm9gB}^wGHc1 z`xjh~wN>pYG!NBjtXu-tvXzj)@q_=?tx#h<*mby|yc8F4nSI_i zdw4yp&N_ArZUq0qb)Qao!P&A=__Le8q_@()M0@=k^%&P)ael3K(R;{}JM^zfuVgNN zCzk=ckbkJ;-_&aQW*Zm0LC7lHM2|`E*!B6>iN~lz!}Hzqj-N&prSX!;oJ&?sWUd15 zjwD8|eWrRtTet9866YEBg=BU=B0JyIY8#c@~8B8Hs&cY&kaK>Qel%8`wDVtl5dgsV|7>Ea?D=W}vZ6Rl8Yy}j) zi=MVfKC=$O`p{V#Nx+W|-?*$J7jnk-ZA7r;V)R zC+Y*fx6<4F9qtM8m44^ojbHEKk=@`14Y)bcz~g(a2B`M+Z=ue&Y0TJ5ox!cd3o2PJ zQ@sN6CEEifS@WssQ^32lRcLhTavD85fz(}Dm}^ZFJ=yA-Uw5v_N6&DZ#?%OrGY*Tv zNq^39SA_CbW!*q8Wy6ocf)IY5p|Ic<;qTUIyLnrl=WGP2$IXJzMh=w@`a!0twa+6| zkBqGSJ0H|yGEV&l#CPCA?RMg?Qxv;{Efai`u*WU1Nx!My?6Ox-SCxEwnjHM|2e&+z zSC(Ir$UexaEw6zZI_=MDyrNG~hh&Wna@ux#whYh1BB=J^`o3_X9KAs3hBS&8;r>%*qG@v6WZGIvn5B;yBk=XemX zF9|k-YS(7+)94U(b^V63@R#rP!77#J3JkMeKEhQqHFwTdsZ_Rq>DeM4-)Zk!gTQ1ewV#Em$1RD4t*@SVh_a@ zxOPj8+`~dsZ)&T*`E~VxTxd3u{@6)lm@uOOcKyw-tI5LYG~S|3Cmk7#GII79G~buw zCe69&y)EO&=5`;6E|c2aj&0S)<)KWhzN~Kw;pSjp{o;$%{T+A_eKgbZ5n~Frpv#WY z0h{!4eR0KEEZNJePhd>YGN0p5I`#Yb>*7!U1b>!4@n|w^gRcW7y}OS1OGh97lg4vT zVEgm86>c}DkLw5jqHX_Y-9Y2ly20o$Wk&tr*P?~VRsVlKcwPOV!*nU1^Jd-Wn%Sr2 zN9T7~SMa@c-q%)iM9qAh_vigPwu;;JL`cp~P_c4^qx{fd4yGC|eb}k z#%XMfTWN#SPzMFW@GsO|%r=EZFm>ZYwR;$s;Scy3TiiVX-Rom?S-mj8+;&kkzOumx z`E861IK&Kt@Dl8)7qyM|h>;A4kx)skBRp>huWvtBN8fvoH}7`WE{ki_y0A{uqU3-t zh;#G(qP~&?&L`!+Lkpu`A$S2X+g2J~l_S0E;AN?(ZL;GU$3-98YGR$6P1IKBuTkFI z6C_SYEtH0Fj@%H-!u{TY?L6xvEB)#tPz^O!un>|Nj+-$~ZwJTP$64bfaO8q~>eg7w z`iHA!Zqfp1F*L3IMr60ayu?VH(k!$wom3gi-; zZ$O2SzWzRLz*P3dOm8;ahKv@)H!c^`2z&Rzt#cFl(qXSgU7y{4HTdihJ$=zjf^R~m^m#&6vsHLipFV3!s-!{m(m$`-pdQ+{JId2+5kFueJ2G@z` zHx13q+!TD9**6!Oc=@8`jH^lBV~vK(OisbMkK+*a*eGkmh) zc6bb_Zkjk@cCc{OcDwl5a8$wH6x~ycG*PN89n^ZyFb|0<*C^r(6w~T641x-Bg9}$D zN)Ct>Co_Y`W8#h8l)ao>w38q7GSrv&e%T!2YmyZ|!I!HKv8&Q(aRD>RWB8z&1;YT)2XGIZJ4?vw>{8&6%Y?RAJw1 zOV-F(Vfu9vrjx6W1LrRa=TgH^^)C`S!FNdO`xhy;a~n~^?J1J$D`z?sGT{#RyL@DO z#n)jt*szcb-$=mHUqqgjctj(~r*Gh^f2sY4XQcKIO(5;YA)(irFV%m5;<|NfkC!hw znm_H=b|jmI8j7dKSd!FM$*;EdYpdl{!I1!}ULI-m&#FuteDeKirx}P^!rEu#_YSAD zcX_AhVfoM6YbWJ1)3V%I&ROQ%Mb6oB+6Hgq4K3#!IR_ep7EjC7#-f&Ub943z%2E!5 zZ1It5Y$i{-F`thu-G-`bVJ1^imN%EV&aTClxkJ^*HW~Vk*EXKE`sNKA5A;psZVU+< zzpl?l@Nm3)3br(jzC`57(Mm+_S7ev*P*w~tw z*X?m$rn+v-C9mL0*7IF{UGD6Xte-U~{7Y3!jH>%MexiC`wEMv$9=b4N-@=d-6s|s%1uzkLX`51%7w!7AvN^dVgFilYkrO zr_w{k?&{O+U{1Fg_=?{}>U-0jvV+}SZGtR=NSoE*?3*R{@Ne4^lt|D7868U-e2!%{ zRz&gdni#(cviJi!#yQZ~p7?r!pss{mZPZg2WQ1E+dxGyXCqy%{_$cOhyEUn`;sxzD z$9ku>5r%#AXEj53o*oL;eDM#yQ~64tsx|G`@E^i=8lL3Z^)mc(fZxPds`fbk@%WFx z|BXa^oZf3l)4T9x7pECn)gp2PR(bpH#i3-gQ&)G zh`bBKoFsSr&pk^UFfC>=ZP>Q?}zf{gvU!cMLy85lDaub*SD0~1ro{aZi z%Htwxwp3lc>84N&9L!klxtBOcI?B!$@rDgw^`oI|3i*z5 z?JV#`B2C7Mu87hy%_K@5@+4A&Lz?OGBELV7P^mSLbm&h&tFIWIP2Li!rd$S_7=3Zw z{kq1bYUu|LkPCF|Nn*Pss_r+bZd2b~*IbHJm>A?Yg*{YMx%`-1+(->~r{`gp$MKRq zaB0uzbPy?~>l)9kCr8)_V~Nl@Fcv&Otj5;FA?2G$iALDY+U(!lIdVC~@_zAU#QCSyxeKcd8GjWN3f}e}DQU$lpaZ81G)oij_AYIeD zyxkv+_cx#QszU!e0j_5_eRnt>zCdAYPGa=@GDEX7|c|l8V1-EIYg^8`{ zq-E=0?49R$ORsm$E%Ev*jWtzNH#BzX6<1AGxBHuQQ=GBWH(9Ys>!A5)LLJJg?N8h5 zUaovZ$a ziiAf4$%Q{7xOznjz7=*#HIfVO2GTPs^qcjj87GIN7FZ4DYqJ*^S423c;TDXYHobpEyAH1VEkvo zeW+tTtbz23?WMz=)3O@Q4YT!a>+trsV`5wWov8Hv{K?K%bBO+FuF<^oGJm=-H3^p? zvE~%%XJfeZ1Dy8o?iBB|;ZWOIEMqzi82pfd5$+3uh05j_;qQlwQLZ3kX{^Qe2gK(9 zKJJ+yq8*55L`HY0?hk14F2Ab&=rZSWpmgw~iJ7z9RFKQucbWUICv(=#wx2%R+j_s4 zFI?bl{aNSM{J>_W^v}#=wiJ>u>Lvl-*m`N8_Ed=-FdYEspFR+7&XWLzvA1>fw{448ZS_Oy@l}l(+pkQ_INg;KQCMik=}F}s7nkg9>k-Yd+>V|e znUZlAfZAfOvUR?$>1KG24s)+yIB_t%v!!cs+mn?kI<=}f*!d~MCZ}th;;S_|jo+s1 zs(qF%O4&(f!+(!=Ec>$Tawe8I#cY|1S=;q`)yv|xyUiN8>{9yv*PtKo_&}6GIygw;e0E^{@KS#4ePCx<{Y`3I zy=Qjw?WMlV8xEhnZD(d~@3Neq4c<($a%Se?yG{YQNBH|Cf3Tj{{fAuVIYW0NeRn#z zoDxTR(&62F%`?0c#NL;Bj3C7Xok$uZB^)nsCWgbze)aC#FrvSXj#b9<>>sdlk3G3g zdZ~FhPP`)&HrcK`Ss7X18n?_c#Uk~js~_Z%}bJZQ1KJLkjkB=y~{%+;sPSQhYB^t`x5N2X+}mytB8PbO1Z z-&L8G8Q`}-?15!zLDWB`EB^*~eM9}mRv*i6z?-u5$BJvrDWP;ZEr?1`f|QekoeuvX z#-zzzg;ZV9oK$?8u&S&`Y%^l+)UvRObI=$b25pt+>*Zo4hse@%Ix1^sV|_H`|X;g4EMg>MG^uFBis@(1J6;p*T~ znz$$L)`RGGI!{A|(^>vPQEy`P);Ka78u5~6#5{)@9;|3N3w}qmWlEhK|Ovpmk)l0%dbn% z$8ljM57xlWm$&;$B8mNmvHr-Ct*vLcsP;rX$UEKsfOqm**C*81e}WKkH@HVV)fP=1 z<=~yLJgE3Ge6wrxTH??$x^Z8May?TYY5ldbvQ67k?Mb>Vwwb@;vz+7mo-q}AMEFM_ zI$+6_*PXRXm}|pJ`RPliLtSFZoDp%V%@B}u5iY2lMB_!ia3720*QJ@Oet_nQFlen{ z`?CEkcrc$CSe7YfOY8e`eqH*pjl|CP>!lYLJ5OwtWNTNAQqHIAq$(Pigfhi1c3YeE zMWjdLpq5y^9Wfn+f$RW;gXy_pmgdsc7N@v5)UQh`HQeu`fqTN*Qla6Ybn`{U!g3aZ zot!MA;&b?G&^1}(+CQA$Z2mrj<6izWz3bm>wx#Fs{WjyGse9p(xWl0$ zcPn&_(7aT;9&KgSLhV*G4;VYZ(SeokW!7gBl08!EX>VtmV!ILH4UvFn?I`W6Fjs#;3++(MbUjSM5p6p% zZ_dYU42)}{tr+dni6b^3Ur=O%BeV2B(JF40hNb~|*@z~UqwI!0h z@#|*P@Cc33Bl+nWy_-s)7&;11U)rX}zD{22OGx@q%uUHlkgzKRNx0|z3uh_86}cHF zlYRD82>!S8VO3a_*5ixH*+O^8+pa_4b@80Ql^MtlL+p9SOr9!g~-x-_YD0!k4DV zUkLx9Z}khz0Hz-pa{7UvWpZogmcq^1H_e2+?plc8PqpCbB>b-}xLcRCw^1_cKNYpx zvgZ1YR@TLAZp|D6yPW~syS517FNn3Mm@gFzH7;{yHsKmWXyLSY-IXmkMc&fl^)SnP z8HUZ|5fUl-gm(a1L`2iXJ%A>z+c8I7dXi<5FeO2;3(7o05ydXok)AU5+!Mm5&5;d% zqi-QR0HTh~C>BUsh>|80dg#PaGK&xHz#p8`)0?j`9~8WwAJ(JZo_v#hb2;(!2I|$o zy9w7n#n*Z3v-w+}fQuil1@^s-jtf&Ws7H3W{^&ZK>wJ?olXW-K(4}41t4aqKb;GJu zZ^^b%>`0fPncj8KiNo&O;Qu;@-3Y^Oi`PBuqJjT^VaP=}t5)O2-Lgr>o%kmk7{2!r z@3AmGe~`92neWkDCoX9`&t`9YPVaL0(RL_@cTITQ3lqx{5RzheBU6M{$SLva25{ZjO%xNlWCoh_lzgD!{j)D(qI(vOZ=UcN^zEv~}IIFGZuzXa!+*voB z^(R#1P4hMSZ#Hyv-1?`vOuBVlPPA779@$xH zZ;3rq-y0^*57ef^n-AV|!)6!DwyGc7FyN2jQpN!jr-XkNQK7}@OYy3u`ayJo3n*O-S_fd zd6{#c)O=C;t)%mV6ZmbM$PcuV&D5^ofJ%k_sPIB&?kk7S*p|D;mo3GJ^OeH~w#D>n zu|Kv@zQxWx!yB9K2PYBzaX&cOeNNGbEYUoQZX=$*1ao=*`QAKl`nIvV&nv&txg`(G zhNeHXv7oZioS(|4J3BljJFvYrcuIvQw5{P!Zy4^m`Yf)13Xg(Pjnjzf&wb4W)a6@# zhoYJ@S7$|+4&OpV2k`5s6T?JCj8PQZ=-oKOa(Ok%MZVzA9GdCz^Wm9z8fRJfD;8c^ z=GWy9Lw@>X)UpN#!|!Z9jVeFbY6(xSLE7D)>k>st=zxWhyB*Cq5MkLGn#RF2!2V(Fg$~BuJ1f9hF=ebuENNWTBpjBjE$XNQ1?p?!p914b z3l{}i)hs0^*j1bItlBwzE?nxoR}Ii#XkhjC{V4lK&32o+VHtZM>QdIZmT>~l5tRFU zOSN->%W_Xm+t3g0^W;{G;67h&QPND6FTkO@Y23NC`>l+<7!E@t(-%SUl{mwHf4VJCc%QJ(sBr}tH(7(HTqIB$?E8^5!$N}qINNArc}bMa7+nvK1|Y61Kp zhr8OH&#hT|IP0pR5uUF+49AAduh@65T}Y`z>l70Hg)S5Pm7m5gq;ys(!E;(p`gP?M zo(slnk7&>2ab;4sOcWA4r%W!wKl6yj&Lpz2gq-Gi+j%?GVx4WL_bDJhhAzR0KH9m+ z_TwsAe7K{WX)42qoieJVfP~-Bo(=lKelthl z8jXFpX1IC*)ei53eKkx#?aMA2^HODZo;TuiJu70KyU^SEu;$d^9e;e>W=;E2}+ju=Y#dr>TTOZrP^R&|(p37QTUgEkyFAs$rsYET{7J|3RXcvwfKL+cb0{*Cdl_NewaV~WG!A>t?`cwS>pSw~9u zH{sN{(f+TlCw<8H$DTk}Y!DhjmLbiUW9R16O@H;*1^W7%JceuSV#;qQeoGnLRXHM| z@#@YcY?N{X?nyg!_uPzxduGBttL3i!!1Z4hkO?oLtVq-K(MfI)^XrDkrNk;jH(_p= zu6;{8O@1w!TxN7rNcea05l(hgtRBf+7(uq~TkW0nNq5KC5py@xeoy)#zj3N^O*KyE zqch!U?=}eZu;^!eFtzsR_F|t@vG1^A6%zhK&2>zBoTn7$ofbzS!HdM9CtVICd>236 zJnX=6Nn9+79wc(K;zF4zUnq`%wf>bv7|tSJJ_?Wo@5XNrJ7Ab~VpE-@jTu+Jqr8>t zo%%v^70V;<5$aL<3#plK8X>4;QjInGq#I}Jlc~!Wew`S@sp&F3tP1R)p9jh%Ye+)5 z>@0p~SBCxIMRE7wAN+C{<*&r3{e&OP!W01Lxh4qD-L7Lg8=;v zx&8WXQHZ{Ah}?dC_b5c)I7DtY$4kTfnA+wAD5SPI7qYv@U@~>NhZnoADbU_G9*n%GZh&-J&;^*yx6&^m<#FDciH$TfJ8Ii;&w z>PFXLtM=|p?P}sR&Lf%|W;uGxOG^K5z{9;f%pEgz1&8kiP`zhbGifXS%j4qv)j9pB z1zx5jHqIw$#;;!31Y8KfE{|ixozC#8?m8!(H12|97uc<}pd&XPwC7i|8%uS{Bte?r7#NrEC`ybofG_<4q#$!L#Iy>K6hg;ee!J57%vdORW6 zAX>alrEkc*B63|r27MV*OG*9R#}%zn%G*h~_C%s4`pNH<;q~~GX#ff&-cPyxv1(+TE1}!V@#f}$#ZGsv5?D>A@4|rV9nV| zg8@sL!)ncO+&~$Z9V3$2cwP_@lb-K)tM_Xg?aQ~%<{j<(bLj2lM<+#j;Uu)*g{t z?GeMR6fvtdfS6VIJxTy))Ti98+qisOoVNJt-@XdlkjaQnAEET%6~=xLaN_u!vs0dL zV?Z>hCv#H2Ijn(M5#dmPq`40(H-N zz0}o(y#J@vZ8deAl{JVsgs<#3WO5s;jpB^@D9W&pumRHEL5lg{RT`jgdU5*lUoqQr zm9VxcjC+(;-sd3Ai74c9fI{B@k(v{b1I>s*hrBnl#(`$WS-}MgeX}aZ7H1{QHD>!f zy6(jD;7TIka{{{gg1-r;&8V!JnrFW^E81W9DRs8lMJKftJ>UR1kw!bK!Y);MSyvLjFyuUV7|`- zqjPQT;RrClIN0*F2%w%lo&fWU^IX)sQMcMNC9jJBaGL8GaVxHT#q73tHR1H8bk4Qd zJ;t7A9HC3H9qXx{%r)CB#^Z~EXF#(6gADFc=O_FiHjs;KeudRdvHj`>Hhf}Usyms= zXM4?<55S1i>ZqFD-IzZG4Ei!mW;Y14&0jLix;B*HjPXN?b+L`*8HRQBeemhtY<0bE z9hNa=^{AQAY}N){6GQE}Ml>v~W#uR6(axWg2bw_xL|f`i5dJ>qwA-M?)vVr#glhe!&(C8tHe&sT^ZwI%Vjs-oG34& z#!QrvBom#}o>4u2mQ9V3OcQ};RX-xIO^yF=X|vEFQCyg$&B7#Y7A9%4FiD$*N!l#@ zKcvlT<7p#)xBS0o<*I0sB#2epb|L@Y)_N#YSN6rBWUbjYJWp*ZB|~v2S!-@`ON1nA zJ@kKA>kaL-b{eSOPu`8x zMb02(^WbJ+Bllt0x%r0DnayFy%{ixF9(Y1+36_FGXw?Jzc7|K<_3P5nh8RT0&aRd- zi&F=y!o{*N+#>Jn2e+tRa2->H4D!s9(1Fd6u*X&-%kQBPr}vee_$paavq(7}qC-fp z#WFHS*==OKoABxxcV^dwUFeojf)2*>!H+jG9~8@_r6;(`+jKW@cweQmZ$yoXotQ0_ ztp$gNCWBgwhj&wMa5+E22;Ro>D&ekRP^>7wVx_d?-#xqjvQRzni@MB9+TL&`3w+y7 z4>|1Sj=ty1>}_$&hWNFCMklN<9gN2^ z#KE0z^;E{+&!L0vIe!&BLg9(Sfh?*q26Txtqm7Gevf(Xap%(zlhBuQoyoI0c(P>0Q z3wkS_p4vHt>cFXXnCMQol0yB2t3V3jsRql3oYl0mTBubKPYU5D`Qd_d^=IxV{FHo| z+Lg*kcM+bZRN3$o%1Oon*r^x7OAUzcdSaW|cX+YoZX&-Ke+Qo?Xt>XgxP7o0tL9>9 zt(b^4k61bicS9U+i06^87szk~^=v*BmrXO+!oc-5;;-1l*);LC^O9z-gC3tz*l%P> zZ1?kwG{fvxPk7(nNM=;|BK|bKd1j}LM{Esj0kA_8a6py@He+$sO1*S#>Bq0Y{R`SK z$nZYN+P|@<;D>LQay5^CixQ1@Be9`WyNZt=WVB23PuOOpRXd-o zOk-qvB@+%2xC>gNG&Q^dDd>{VWg}2`zARYsCDdz9^dlP{ezkHGp zCLW5wMt=Q3zGk7&Z7bs3@{1InYmLsvn~5R252YC0L81Odg4u{|9IQ~ku8*<#P-?=) zA%bEKVrhOYO#O=lGqqvkP=(h1$|Qj1S)LFEnrVE3`;`G$R#J;LKIs4!W1Rq>O2iQR zZ+sd+V}E5gU}X&yp7_2>i;8Y9WbOaF5ColMAv2;v#!hUO(C=#FYG4ZI{_O6FzqDHX^0ToN89h84^A8?`~Q} zf7U7RpA+XkuA-#L0(tu~ z3Ot$7=W@skA%o zs(-c55udjB4?f}Nom=t4FF5xX1^<%V*l`JcyMXG;F7PV~yn`RjWu4wS@*AVC)V8sX zz(zO;Tmfu&D{-ro2+%4j0wl`|Ny41AExFa!(H_CcNUuX9=|%mO&Y*=yl(L1)@jM_y z7s858W&V=dxO2I5m{E0@vjLZ(O9-7yTV_+?8XR^>|E0^B8lU$2n|mEuVG#wvApBIUQ0@;eE@r&ZW@ z0hF7yG^{=jJgTL&#TTi^ld8w6s2=C39^Z30$sOLKtnW<#?o`&_PXKsH zm)vdjGC;Ck21wS+0Lgk8AXzU1Bq<(=1ie&9b#=D!Q@qnI@MioKuU1v3z1Q1r zTinq199}^8>+cp~>miV%FYui-qr8zHzkU^gj%6MJM}H4Kzkan~vk4Z{U0gd<&2bGd z7;sY$^Ol4jMh#$!7@ifKpW;rk`;$;`f)W zE{cCR@%1k~vZaeUyiYPoxQ_R!hF3U{oxdI-c|&=Y9Z<$Pc7>y0$)wo7VWX(adplW9 zmM`?{AGR3R+V6GtyPn^GXRk8lv;6u;@PujbbZph#^BT=UZmzptF<7-mv)0wA@L3ww zuYU}9{RV#g`bYU)AHI8HoSPKqMvL=ti*sQ!j^qy(+p@DSru>UgA*O@xf)qK+J;HUm zxA0Bbv%F!7beNNu%)H3#%zi`KXXyLskq(G*D^Z6zY@lx{9Ujh9+K<80C*-9Cj>kXJ z=bl}TpxjqOp79O8XQByMg}*0t)$w$y>c!j~kv9>PWeTi5HK zA~2r`ehu!t{ovl=&5pQhhe5%Dvr#a{XnLlX!b}TxrPDd=(9}6(hx=TL6odHFWE}7| zbNsf!uHJ=rIn@IuTeqoZ;iIsK(uTC!>v)Lx8GwmP$6SYpPFjm@$@e$Vi|+qfqAgoQ zz5X4?&`1dj=?$5hINp)ai6yMyneZq)i%gz4inRYJzI;BB3W#Bnyr>%lNk>9i=AzHz zF+vZ|%hb)|w3dBYX2c7WyG*8nJEf$G5@k&RT6;{4jyipg9NOx%lW!TN>``hrN-xwX z{Q?ooJ4JZ3#$=Rhd43d9UXcnfP_l6Fowz-q$wXvG2?hp%vPT;HV5&Ny(>4$d+ zpX&ZGIEr>u?6+vH36`J|Q0$EJF6EBBQh6nBWFu4h^*aeM7IT@9|EiFm6}(v@tF=wa zG>yN7zJC211ja4$F462Ku0;gT1l;|{OPXtW^?=6vI-q5l;7DML${5>!6Mt}mV&M6f zJSWP7$bT1}@_g*q%>m%<7+?+n-;M$1XzG7|r#62-Xbkm-*XUCUujW%&dnFj8GT~2X zIKTcK64zl6;PhRb;a_3!{iWKhew13X`5D_nN=c<3o6GC9%E6gXh401b*T1JkZ^t5P zkq&}5UO(t9+{G)1zx&>xw|HOoT#fY7YQNWq*F7z~?o|=bfmf;4E42EA)|@6<{SjJz z{ri*RvS8;HE+hN6v*U|v*Ma@IACN$k^-tA@k6!yjyd#C$M-?Qu0c;GRva^4wa2?z> zZND}^hYv}GQ<)*s_G_S#)%Lc#gU=3Dl33r&dOI=xE zmie)K34`Ki)?PmbulkSp@$2{V8~z-qb$qtR39N<9!jh&tQ=aksk#kptlY3$063Q;6O{g*0DJmFWa*zn%|xUBlY zM4sU=pi`M7Kqa~N$?y|MnC#{VX+#emQWe`EwiKh%YM*|hZ;Noy++lTN+}9CFZy|3o zyK9EH{p>X;GR*qKw2P+X?$VQSi|O+Y=GN%5NH<4wq(y1Jz{=sWGBpq$LeZ3ZC?D1R zan*EBzy3G1uaw29u)#{He4t-{9uTy60t1Oi@;=Y6{~che`ks4}x5`GLr#brj^%sa^ ztM}6SXzAMw`p1MI>A|wzh2Z{s%{k{x^S#+arS*2tR$*ZMIY>(#U9~#&9b%??k@P$z zV!toj?<@QU|A2or-cB5JSg!(Te?#RpAY6O*1XXQ+_u!%pN?bw`TqJ%n4PBA9mp5>{ zd+XrJlHe!*pA2ZO4-e-$Ul*Yf|C)R!FDn zqbfMYQ%KoR(9~FJj}+cGd8D;*P8o8VB$JisRIH>d;baRX@18E?bNFpUx@v>6xS(H$ z>}l7F+d)Rnr`?e9>jkA&0!uwIXZ&#F){^Gn6YHZ`jm7Z^%ZDKRbSW>5&VXGr8{N|J zbjMJ5wL9A=X6@H|fTzM=(*P!e3{M?5*8KXEaWQgHj55PfqcR@sVa-rzV@}WFvm1ob=tAOdy!#)iyvQLwOa+8;BFy{_Io-&d3jYRj z4E^W%bfv<-^Fa!Fflp5={0E=mE!{VK5f2ds3t!@g*yes2H%ZL>3T{@A3qc~YY%}gC z#*tmddTbGn+%gc^97o=m<-M+}`t>rPa1AM~w!_RR%M9lV@cI_~I4anj;^;H16mq(d z#kJX+F%U+8sukI9ip3x~C7M8oIS4HJ{zW1UYVL8*jJ?}QB-JgxlAOP79Hs1zaq*qn z`zRA(D$9Z*{D5<(<^G^^=j6V@x$|;=#JMwaU+dfjxvzKbkMapW#*bvY2jZ^V)U5~P z9j$ND-pTP;{*&v|P5cuh=D%Ig__6$F2X0m^k>W2dXvu{W2kc*6&}3uzITth%zton< z@NX{YH|>=PU$F{TH;eM7r$OX~YQeT|=fmp)+p^#2oWu*v$ZjYYWrRQMCkMtTn$Q-HD-bx3B_Nt-7uSwf%N++qEjA)% zA1@(q)p8J@Gv;-^m8t6Le(ot!YpSC|pQhhhw?&^*$g@SC=2qpY!fIn%m94~W^s7Er_E?)4@1fpnRJ6qJ;S-ZS z_fGeLNs!$^SBM}C5}kPCqf>BvW-yld=!#=Ly7HKhu0XC8*==z)ta~zCwd6gUGTWED zP~rnDzfD2UH5J0ip7528F4a3v)vKv`)FmIy!;5QmfmumeGi@e4JHb==YSB+C>>Z5n zx4XrVb9E2CTK6s`Yj#u?w~6*Kz4k|-)gQEG4rdW{cx5V_&sUGltrMCXKzlMxfEG-{ z2vUla3WZ$Q#Si4WxCto*OPG|yxq=(s!;4(-+K_su!XpR>E~bTf1f)BaJ?EWzJnbch zu$hgts%mR$(Dbgp+T8&Fqf?3OCJ9A3qpkp*UBIOZ5UIkaVqr;JfiD|}yG((7tyJ`x ztoLQ|e-=8}dr*G;9mJU#zb8_Er&6p0X$}``79T61u9pk0-gQ$rNjY;kMTtJ=vOFGqS=t*o)p!|F{vGmB6b{#BY0B67+ z3owRK{0;~1>(ty^&5C?SP@oUCnRpaU=Ozt0@{y7(_`V_*KPMGzz{Wy; zDclwLRp74X2d1iL&W~mvTkwcCQoxZ-Aa_Y;1bM0*5;H-E0C_)4=P%!mCJcNN75$7V zs?*v->l6~ub=-OECgXHDP(u4LP2np%^?gm>wSN6S$f2~pdcxO}V>uP|XH;chAiVlo zOdG3V9BOMC%!#}|s*UdgE8B$nA}NM<@ay`fG8cV`Pq=~7)UxJr`y{li`J$G+J8nI- z><3AcsPGMO*w8wKxRzDoR?C7*r`d4-30(a8mkF#c_)2O`b=M{7HK`zk;tYNR|MSa$ zA6z^hyp3YFz_#e{>pY#)+@Scb&={h<*)kH`UMb9!zZK~^~4VbK83zo-Wk8U)NuP5^OVImK~+w%D7V;jwbTk4y5{3wx!;B9$)Bj3bx{0t;CJBq`dUv9(4<_m=xT~uegZ1i5 z)RW%&UojtA)C~Boy2FEXqlm{g1OB468DPN^2QW{FN56xw<9n9zd)4hy}vT?w%YLTgl>QRTZ$@f$P z-L}=?8j(1WIs)H6Ie6=zDfS=7*SIh__~>z9^!1(Iw<-J2;>V9rE%D>;sY*o01ka<)TkiA1Z7q+79orw0>#-m*%DjSR6koielw20uABX3GT^+AS$yzX~H z=6=Pusk5u07*Y4SlHG7&t0^NDE@EnxQH!eKeC*T2^ZH*@-(QlA>U$qCsP7N>`1O1E ztzP|ekhANz>w?CWw6I$?5%&3;TD<;OF_OmXC(P59*Tnv6;EDa!z!Uqcfvvx`I(jv@uPmB7_ELG)U7F7{X*4f>laT^U&l-C zC#ZVt7=1vGtG2O$9}^Ul_337Dg@)j4Q*!BzA|`;jfaSWhEmu0Wfv;9<>4Ms0 ze`WGaelt0E@vq55qIY{HM+yArR^DQ&R_GK3ygw0u?D>F@yzdR^HC4SG+04km4?Io$ z1Xvkaz+V)QU|Cu!ar0h6pw^P^At1KAbnA&n{QAQx>;d+L2Hx{d_}@^;WfHy{#?pH1 zt@dkVrJI6n`88V*tr4D6zx*@ww>82e>)-_fl?6fYyY2`gKm6rroRX;Xkz?gCYI`kYE25zje+&;`}AQ zb~q|D1rKYo#|{33{bHk@uK$dm;98NJ44yRj(}L3uWbhQfi44RmQeM#EdCxd%`{Be=tfe!84;Cj(>_=niI?@fRj=&yZJ^_ojA(SFh0cOU=zMPN&|mY>yL=^pYLjC%0g@+U=295B-5}(ue9M364^~;63 zQ$5b#{Eq0ZjPgfaSb{K)a#j&%8i#&c=MmE0fzaje>T~%wxcLf?_%QV5E9qSw z8uU!`9{MdUo$veg-^;t_ZIDmlRglZ)xfAwQjQO%4Qn>#GlR9^{Fd$@NEtA!0i#50ZUqq`8Y{C5FGPbN-9}ParXmR9e&#yZfH(4z8)qRWC z@ufA}>TPBtg^V4$gJpP|^S3X5?G>82v7Flx_*WHjJz;KXW4Tf8|8jf(lA>CDFj?-c zQc*^s6WZxp1ZdP^U&e3biJCxz-S}jp9UOg+hky)9^ivv8n{DVoVat`!8cgBaVM^6M zEl5Yt?(q&df$YX>U{&w9-%r4!6sOZ6t9LN*+feS(y|R{u2k}x_!^O0Z$_b+{A=P97 z)md}I4GpN_YnF$w)5|+Mi(@@>WM{DjR&aTk{y=!Krhs~fJXqAH*rgg~ z%hJc636Cc%x|8;^_C#^k-Rb~;cJ_B!@33R+<^=Cbry|Bcjg-rJodVXcr}4QRwNkkm zrL!$cCJ|-NI9;|0w6Wmi8^}?t&D30=LjXCVNWRe*`6kb&Dc_iht_>~rp3Tc!7=#a(Q{Ed{|lPudj&9coGmAxQY_UGEmzN1yPLL7aBcpH5X zv6W#H#%{zAnXa1x(Ag|-klX&%0vI?JQW9cp+tchw!vzj1vE86H-ohaVUAaEFWgKn} zlmY@3Fiiy=V#B6KWD#s7B0MJd>V(1%O>34ZW!hr4X|A|APQqW-w8UyR8`-rOYDf3 zOfK|!6+N=C2r~q+L(DVCq;aRjxb9SYz1u6NS;~n`pm$(2tncN~_loFyPV_xD`Yw<~ zJ@FRmi!qqOc`#aeE2&vz$QVrVBe=41mKvqiYAjnpE95Ha|i)|z_t{n5P(f`6fi|Cw5{O8+PZIe2?gwj+SH+Ffw|G} z<#9=z#<~x6K@r&~YD!`_tPpx<%UN%{&M|;F35GibW4P2ms*l(E=?pF)fkf&@tmEaz zf(Bzgl6txI<#(L?j>m7Z6DKB%Qy9m~NKgc}f2=mc#%cdZJ}(Cz{d#R1R`m^8-2hRP zuu4R>LRcN3-r1P2Dr_VVLTY~YWc+3;fi7iwjGsLoK8ay?mGVRYY4q{Jytr_Ex&$VP zpFNttokxX{gFHZ+lq5Wkw;bUO8QEXo-Hh2n`JWk<#)jM8$YS96m~vf&D&5GQIT`&Ji9D*voYi#B1`nzYAULGURgJen5$N${MrE$Gy#d$14#3 z!1?q^zKlEUlP}_@uFT8j8GJcXOvC;P9NE`_Nemxa3yNbUwq9~7^g2dWjY1t*7tPb7 zHk$l5Z!p*B&|h~)I(6l3GhwLUR?AwtaJYOPNHuyq#(4yIOyXR!&s)Pwd=972SM;gG zdzLIvoLxuI34BQsZ%#_hA8~+&LQL!x@i|dH3|&_fuPGX}*wngUlYeItRq^WJEIe}p zclK)Vn;unLf%h|SLTstDO|;jD0YFCJx|L~FO1sBqDTGU2fyjg!iLqj)_rk^}c+_=E zRMmE~y$M2Ijga*tT7nqSM~J-VqB&&hYbypyzdr9}jGdAn!Pt{HH7dk>KSHmlEXO^; z-L$uXbmK^E%z1iOS^28OLRe1r4q>g1QaQ(MfY*%i{?im#mZ;KD&z!q4yr(RN|NJ9< zJbt#p_jG(KiNqiAv`hI0C*Pv25v-0`+5ltlSKEP0Q(%pT^T#90MKuVsbT_cFv_PRG zuSR7XnDGa7#Nd)rl=fe+#{ye}v1kRc2FFj>8z)fmYqm*(xK1plVVm9``!p~>t!>*L z0NeCQpeSk6L=@VzxPGclcS9V!E5xtvSjy^zx6V#`3%mLTCYo#muPf6wjdyd4S~y*7 z;k9LnMYUzcZ5+>+qdlKY7TC<`SU?BcIbP$%<}kY0)br;6s>tzITl_(Qidy_dl)Sch z`V_TzoUS{Sp`^uUiX67ZH`GQeR{6O0M4Ne0BsR^=fDZd+){Rj1F#X>l1LJbd9$4^@2oGmXFMU+L%fiUefTZq~T*x zpwQ@*`CcPNfkvBn#sxj9cg}}iSp;1&9L=d%?`(jIQ3<~- zfOmR_CjD8EOp!@{cEMTDOJV9I+}b00X(1>)Z7Qtv&`Y?!=U3|`#R9M- z87rMjy6JF$;+UW8?qnZ7q@sYDw>~)(81y* zIuyh`9`uzPRxxMBQuA`ZcPN-ym~6TLPHc1jkt%lxuYxMzeh6?f577iZ(%{3(EkYO# z8IdrU+3U-hJ-o=(16D9D)A8qD2pZl$8Zr|R4ik0YAE)SJJVhUirRtH59(4A^k4~LL z@Wg!|pzDFjti&Z3W>waA8_2xg+pAP{n%mpTga+#&9hiIEU%azmbfBH!{M34G+k0 z!UQNeBZDt49O3u}XB++bx04*_H0Iw^GMC1!@*L}^NbUkrkw`Euznj509UuS@_c(+A zK-}vP0swKJLkPe;a;^+BzN^iZ;gFV}eYc8pWdWEh%$4E9iOiLWAI?#6t_)|U>|7a+ zM`2J)xBhmSE2Bp+S9YVFE0Ztg%J?mp-y{y^6z0lSi_OiI(c{<7l@*8irE_IPVKi4b z3W=nHxiW0B_vbI8fcFk(t06g@VwP|A514C9;5MTKebUwH!*7w#7C6F-Ft{`XF^Hgf z=0i~r1*luY*++!xVTYnB{D~;nO#Bm^Au)~l5f^hI{YL{-O9!Su{P~Xo!EFRjY{bXphwIvPzFuSY&KqI|xY)NG-Uk7IG@9 zM0G1A?0gY~#UVRi>VnAq5eV$Jkl$D2_f`4*ll;CWzsvEP^tywymW~AT_Bs&EI<;g( zepLsd&B_HI@-XR3w?B%~mFXy1> z`XO+&bc|)mX?m~nd2Jfc#HNlmLtQFyPqDk7T!O__){M73z)oen^A&qcDHbC+uIQ(O4#^;_0@Y&4}nWN7=`4jlZe**thSG<}KSO@@DS=iRr z%wT^w5ao&50-J3hJo!?1+>b7@M^DnYa7x|@$IG;>e?eYxX9aSNv+JPM>ViXitRRDd zz?}fN{R&kq*}zL$yCciV5R9pgI5U4jIGn8m(BAsTvehVhkYW)idIC_gDQk!b3X8^A zI9pG$0&V%@c)PYsqP<9~b`39==3hr|;BZ#GfuSXeK7>-3;>->P%g(EBfL*I=07WKr$ymxn5C5n|2-0z-WCKtzi%jbkY@4R~(lv493b6jh-s816x=?yy8}c zi|IzaF=i<6R(~R1?$zB8J z_pp7k__kezAFLXXc$I%7BIuaFG~t)3>QP-j`gH`r|gT0` z1gM4tl2=3NA1#N8_D%Yk>(d7V8!U!G#*vFPvV4q22-697c-#vitJaA zRq}f9r-;=ka_1tdOROAwuiMRVg+r7O@@>$!n2Js-q-FBZ1EjfNT_7e;SXX4ouiktgwrv zAXC_W5D3YFlIY8YL`QW^w9O@|kxOOHY_5)MocTJDm2IT;t^lTC1opH_&1ccnkHEP% zx{^0?;dyN~&~^CpAUv_~MjyS(DQJ77E^2!-VfUa$coItyeu3iCy`2Ae7tS`&1V?Au zoV$7jX$2l?YXQ$O9+trv7sD$4Fqg&z;+KJS*^3ZZQpZ#EZU{g2&H9dj&Lfa?4aa#k zAT71VaQ1TKj^8WzmGFN-4dGwMKu8M8a9`Z9BnjpRDPq3>F<21?0+EM3Na}XNLlo{H z+^p~cgi{J1PB^Xb!GtpkA4IrC;n{>?BQnmz2oF>E5W>S1K9q2)!bcDuq455M*Hw5f z;q?^8Q+cucNQLJR9t9Yg&k;uk6ukaYc;}jlC7`7?%IgIcI3XdQ>LE&`?Z>aE4!V?v4Bm4|_L)i5RZ>0D% zVe$_AIKmq%K0}y!0Dd^(O%!e=ys5&Y2ydqFdW2yslYS)ONeYi9yoJIogeNOJp70dF zFn_hn>f8p^vS_$s>#WqXy;X#!V-oN2$C+O+oZUk2^xu{>eF{27;CCUu43-e!-3f20 zsqIR5D}`qgo~-fgMtEz*??HHb-cqq0?mhr}c&~s_9|LezsQIdJb{i1l-gzK%l*|a+ z`mt>RMInNYTRyayjH*v zX>ck}yozf(q=z?Mtsg9PxO!XH4&rLCt`x&%Fh7E7M7=sH7w{)Op`r7vy~k;_XV@7#yE3 zl}Uj$&9uv=X4+*_GwrgeneJ1Z>4AN*9uCpvcA)%%&e6_9uVp=Vgs09`E88s{f1qxh z4m6v!OrGJKcIk{0XEJAiqU-FY#TCtNsvWsLALGZ9L|md4kS#Tj@m46cr5uJ;qPtjB%X!k0my|q9~pHkX= zOKF!DXz5c#+Z@hb!v1nqsCoZzb~9A7h7p*@`2fvC`dFQ1M(VRmW4yNzBYlcu1nt44 zwD%Wi=~GI3NGa_@1zP$P(W0;p1EyTm?opue`P+HuovZ&(l7Hy?p` ziY6rQ*G^ulmQ0&q?LMFgHnD3Bpb)K5AoN&-2WfCm%k#+d{2VY;OV2=w=<_^cPy6!v zb94LX$8g?CJawbOs&H;>88engH~~jAhjZ%}Py}%qWo}#nMKC!YM!QT5yv$VRG1UQ> z6F45pVzmD!BIgtNaJVViG9=tIq-C9OQ*%pGxGB}r5N^t}^b9u*ZRs9v8rE77ZW^r{ z#&|geS5=NdNUP~#KTUR}M(3n1gPapW%I?8*;4QJ9w^qa`7V$T}}1*=3-}{^386 zXS`j_LN z9e*yx5B8nNjsB=E$a-?Dn8b{-^DO+-MtUUi0#Pc1xe7_=Y#{Z5=M^o*Tu}&}S=M!0 z_-i143!S=KPdo_~D24xgBO-?X#eb|^{67W%M`C!5QM3G2LjL@ZC1d$(>G+V%<~*c} zp?uLLy@hg>If3mhebJRZ>6Rjg>XHYUcMfkdc;9c}WV;Dj&KP78MH6lX&4YS@)s(;U zHP8bQPNnyIKt#vxULB1d@mNkUfgkSQ-vVEr!@)iG$ij;&F_23>MlPPm4<_7`jLXYi z1y2E?R$?m}(AE=nN+I}(4xymRB)=(sS5#%ckIg-OnX(YK1t3F!C+X$F@13x%{E5Cwx6JTR(i?@Mii6pQ{ns&#X=AzeE%3yJTz<3Dfz*XuL_my? z?nF``cIJ1y#u$th?0ACFV)mN1!eVI-ELb(wj+16^afJ>auk%OzCPOGQ2G}XwaXv<) z39oY%(Obh}AR5bk*wPbez7@yB@Ws3U62=iRz@iVs*%^We1Cfl|xUf{AWD!Tkqs3TP zW!k>OdATS+oZ-T65R~hO6^??sxEhXdb|w;`PJIJcZ3B^u;RpA0%da3R0V+e5q6!Eb zYnZ`m;kLoLOE5tc2NOh5Ft7PToDV7li%T#;6bBPTQ80PA1qt>ngzO<91yLMQ5XB*x zV0|H2LV^jRIG7-cg2|~7%B>gZwcn$wcZsVZaD89wm*x@IfbvibwnA9aEJA5#&n9U5 zaRv_}li-1?5IjJw7W{0_%k`Cft%YAKbfU`S`v`)+yaT!(FLwS65m#3+ByD6AxZfI| zWDF5CzZcF<;5$oA`c;PF>L{>+1&POS9VxEBWRApWR ziUU8SmDl*tv~*CqHc*xf&14<8WSLw5AO<>w06+|K2myc?><|I~k#qn=Ow^o>?~`J;jsSV)U{B`V+IN3F zihDES=o`5lu`axF!x-IB&@GFz2@E0Tje=XIT}A@Hm4?Vl$L?Tr;C%YbYb*6WpWeHH z+kx}xlk~8tnP-wXUW8xm92zaH`*YW+P?W=B&V#NO-ycM%uIC&+!@t7G0m(A_R@mKnxL6C#a`;!{t z;u|0tU$>jIPh5)WD4846cnZ(VZon+)GqW3#HNG+12XV0+uoeLn-kANd1v`?lShgbS zCI5h2!06CDcD2TLb-{EFug0<6#+Ra zoZlD_pA{uRDus)W=`#SCsKWE^6h?jmDe8rwKDHv`h%G64;8^BKWeiW5F}Oa0dMP=D zsUW;^4fOcqmDkw;J0woSzLPY2AR=}&Oit`0zF~@Ewl+WdhAD+qc*9gOC2yEsg2Zr; zGPe=@^UR#QVR|L7&5s8s={5o0OXN4@2M;~t!#kMxmGhuD@15Ta4l+R`zog|?@Zg90 zFEaRQ`AAIS*9wiLp%63CF~5GAq~yy>_B5*2NG(_;ar@&7aiirfW%rGjmdVG5k>GBE z3h>Yi|C_NPNBnHEVNJ9dPO|Kr;JeIhZ23-&fVLD_tdZ61?r3J2ZZ^XD={Eji_8(|I z47XP!{-&y(!qe)fd%4MQi*;uByzZPxdCbi$awT-`TpZgGbYh z5mT)5YBYYLw7UhzV!U@Y{Y3W^bIztyrA=mMxbaZBJpFLi@e&)z`s0 z9z%p22n7t|aBieNzn4TsWG%RT97MuxF`vTOfDxmRummP+JXRFMR9ohlljV!#L)dYu zOl(XhUJaOVIcJO_dlhfffD!YGqN}rH^L7ANMWVdVF*k5Neb&HYri4Y88cV0vcPuJn z*I`Dfh%ptZa+Cayy1uggi-7Ibd`JJgwCwAr*Wp+O<>BRa7pC>F)x!bDb+J4>uq(f) z0*D}OK&eBuQ7z*-Tk@LlD*t>$Sqt4Y_u#UY1` zfRdGnBv>1!zD#{xWk&^CXkArmaxLn#Ry7jM+fi~>KWLuT>}5gb=F=znFEE*nA!t#Y zO+!YMCF&|uSb>ssSQHk#7GUeewUz10_O%AMT8eWQ*p-O`XSL6LzJeUombY(&P->fHy1_XqaHgY(Wf#N(?6v_`h<+D1g=hwoa@l8t zsx7arC^WCsL4jsyp1z6C0NOC43NHvtyBbI3<>h;RcVoJGP@vBj0S6~w_ z&gzNiC0q6AV<ndgpf|^CcNVN5aU%+St$? ztLvW-3WflSy&M&EQQbu7QjBDw`5tr;Es1c`E+hJYg1QXDR?%rGRBgJ`?4ec7)nmwv z$G?G$oE5wuS$q~gg*il-&)5evI+t*am)n=IB(Rh%yJqMrnA9>5*$*g0ygvg?;WT7R z$BPi(`~!fH{wHicMh&S#|HF%F4hK4S5PmE;8{on*70{G;gc&gIs$TD=kZ$T4JxLS| zgJAV-TdY|m7Nz?Ipbl}m2X5(RF~Fgjn$H%JASk0A8Sn7I8^+j`%<@CxK$(7ibKD5Yw9lpk{GY;8rt+!$%QhX05bhFy1{e-g2swPJqUlOZdCX13-oAqByk}mLEYB_QF-q74oo2oh zWSqdDM{1haNq2Gve5!G_3mZ)`8&_n@x#8p)OeEEh80l4H%iy%gCyAUU`<{~Tvfa&P zboCM&rbb#_%r@Sch&OYgmt;N^wW{ZWu<4`oBY$GzeG3k+Oa1r#Qb~^c;QG{G6~^& zUQ+h>yojkwY=TO@PjMytvlOcElgJwMqB07=Oh{o-D7jMT-obBrsNxHwfEeyOZa@T_ zZoppuNASU>}>eeMmkm?{_I|m3_|URP??AH z{rJN%v)ARmy}y`^QlT0Yy@8+^iOhkVNd*49j=d@01(a_`9CFK_BH%v6o+{wS;5UDo zfcp}Ax`6u;JVU^Lvu2-3Fo`A17)t(lI>O0Yuzr=?1(Ub=6Nrf9Pvoa8e-b~qlS;zW zl;uyRJNYs4gf<>Ad!p>SqwK|+iODY-ETiDFzis2;jSD#z)s+du&@+rSyEnv8=chKo zohthfjC!?YxVM1kTV-_v*DHX`VNS)w3gElon_Pv2W98NdFM>k~h-5#C^;U@0UzNc7 zu)*~jWIp>Og5#=_VF^X?6}YKG3Y;ftGd(cqQzxIA%Z|mdfy^|AlE>(3oQub8 zQ&rAI@=CBCEn+&F6?Sce_ZE1LT5ije&wzz72jdzhFpT>^K5;7GE!;!EY?qa1_eY6g z;$|ApN>rS_-v)Q#_K@ZfCJ#N_2(sM?diL7G&V%ztX?_-qRgJ2`c&kNjUB8lo11L~{swiC`ok&C&Y%e5Wo;#F7-zuNI%z9foJ|hOZ&kT-ra4d&WAL}#b z{VBRiKOOc{q54?Ihd9k&6}5uwD3##kK!VX?@g*O`aqw!CaP|kVZu_A`d2LyRpL`W# zndC8S0e?ZnsS08RbmG3gtGElik2KRxcf9-N2pEGsz%Qa%_^nx{FznkWwA-|JJ4189ik%^0txj7(!_Y2@i5YUq1(`!lm7%ACl<5cV-Bz` zmTHN|lK&!D8LyO!4BD?fGdf3>(sdaHfP;6D=<)Hp}N*hjo ziv$$b_p`=b1rDOhX|!I7H3}hiL;m2b#mD9@nwVyjA;Gpn)1B!kX@P3JQu(!zc;wEdyeT-*l}CuvdF7BYkkbjBuL83OS8M+XHdrq z=oje5aIMb^oW6iiGKuIKQ+1MqV*CdTljPr6Lgk!A<1L`cZ{SSSRb=t-M69klm5Ns< z@k#`4Ve-mrYii5GF4&i#t8`VmtiG;dMQ@Pe8HQNqSqP|lRiZU$X0;WW=$e_)Ju~~7 zv6nkN6%8eas-D6NnqJ#Bp7e3t8&`!6q9^KVz3n^7l5gOMShZ$7Vl`4(+c{JlWvY~X z$RoQxlyqgHE@}xYvhPt=<*7+f@qZ?W*;7%b71@JPBdW@6n5dmG?CB6vRTY`8s;`UU z_Na>NO2mMO-p40%BQg#xJrI|dYj0f}g(ixvXsV4=^T-|KJ7zak=4BaBt&!C>gt2dkVORGI0=~LT{IYjG7v{d0qFDRX0T|~RU3N+6O?E+(7ZLFqD`ant}9fx?>Z>M?3 z89HQCY>-MX$mWSlehR&yD0f^{70I?!hY#-tH4>?bNbd*J3)Np0Ni7!0*a6g{-idut zYtFgC)wL%~+rJBPo&h=cqMX^g;xYq?cvyvv$jAJ(*d4RchgFto-w;Wyh3-rGhB6*d zrR4FE%WkYGAzi^6U>~MLp(}`cdJz;Zx0VZ`aC8vasPo&nDFGJWA#}l}DVQzgsVz}9 zVzyL7(T0Pqx-h#R1xtgV>6kxV?lSu*An6%gP-uQL-EJwO7+RE_)8srg^F> zhx5%&UplzcT-o2*d}ZcZlu2)tNe|qaU5_gi0;@KS$JE6kCM&Ml6$dR=%)@hpP=Os4 zhk@rzy|x>R^|PNq-6yJ2)qVuF0xt~5;Hs*8%tWN5O~{XE?e}sVUR1p15i_N-ytp( zvl8RQIu;aT{@+lNb>+~E(zp>q_DDRoVo+@bF8!;pU4$>_F&(T9Rke6X1T1k6#9L9? zo6^oU3T<#qs0!S|rY{dIyhvg8iIahA)BC1#!3d@@)emD`j$UBA2W1(y8H<$1pmakr zw8*@M8jH6{3*(Bw7Oydxv4!@02uid8b;rwbY#2s;=!7(QiB!jtr~@(it%N>rdlMXC zuLFD&!-mwKwi0vCxM4qW2~Mr!b=_Eisdt#R%Mn7u`)YNRr4B;F7pntGNuxmjo$7{e zpw_RAF1(}`S0S*-YIz&NUr|Q&(-W7#*k=lb5akR3?NwWj5UwLBgs68RkeJvl3m^>i z%LTi|&(1?W(Cm)F$BnVVucq?Q-dn_E#wb;M!nZ3=C zE44hhN2>)gyEu%#JXT+o!kq)<(|3v?hgIc~)~_O!_0_3ZG*U5rr^<@@Y1I{wPV3+N z=+3B59Q)mevg||MOyeEbOt|j9s%<~`Bq}3#41xW>7*0j4CtddT#voWxHVBu08P8Hl zCsg28B_=*(y&daHY}l#8BN=BPp7SqxY9C2{v|lwh}|ULBL4A zLc)O3T>`(d*LQtr$0=HyR|+veL&1FF1Y z5mlyGz7er}(SFPDVl%WDdi{;iPf2GSje-p^gJ{|mhHIJrB_1GRSFIAtV3EHJTE^GW z+wI^V{am5ThHNU(w4*Y4A$7DIGZ*`_T{T;~En~LHJN*+j7hs&amh@dXAdYO*kH8Dt z#{ozrU&9~(Y8MCa;fSCkSlyi9drHOTgiHlRl(*H)38=Ia5Em{H?FW92Lf?2IoRG-A z$j(Uwqlqfy_GExAseaCK;Z>j%LqSYwPL)@|UyK*(+Y;l2GF*U|u)P7l73IUd@@k}W zDjbD%&nZSlo>%9blCXs|sQo?!<(9dqqgt!%oTK@96BW^GxOu2j|S8e{--O zYFXEfaTkZiuXOP7p&Lhdwx6HnHJ@A<`%XptxA|`FR2yk!DvfTOZL|vKERf+$kM^|| z`g43(v8;n~uN3ZjQ5UDbr3yX+DWl6TG)5Yd+Q(Fz(VMz9S7z=+nvK*Oo$TQ;H}nJS z8P!&0ZS&!YRz-ysT#`FWZ^5pT`5$zIerjvxM?MKWA$=KA+u>5_klN{y9_E}SE>97& z5^OgGeP0jseWxO#sy0qrK~Sf`f%!!ahZDn^F}_XJ`DnVAAp>f|*?Cr+vOFE6LfHCt zs>2$)Rye6~Rx)*%Nr|SKqEalhTy)9k&>%W%#*{?&lFe4;9u!n*p0b~VF=U=YTyT3P zSQxV@D|rpZK#9hnjl1#L46}vJyJxzYhhB7YC^ILbBkxB!$T+xYs=Ye3Ex3`H_K4<+ zgTd9N+bu@suOo%&_A1z5?AbY%s}u?W!C*QOnQ#F4%EsZNP|Tp*O_h(wW^&dCbnE$3~ZMRZ0r)9WWpi>yWQmk@kkeZ z6L>G_f&-T9tiO%G&iWU{Z)H%XbNPL=xKOU8Hn)u9;%4R?rz2i7JEompIK_N=xWW@T z_iFkXAM@SY;wB)@b8s&**0;<{P|9{~g=&CjtWX44V&T$H6ec?+dSjVhUbqZnds!T@ zUb@;~(Ly}@JANbk|*(wigzI0%4m_jm}!p6 zDxEb6`bK53&AMu$#j|M`M?`u}-vnE7D~(eMcZgvsP+#bSLuVxPkk3d zi&$!3ix101Ug_x-r)~gs7E5ho@sZ@A7zm{|tc{%dtppe)xAD-@kwrnwFrdPw``4Dq z#(dm%Ydw5fEli{KNUMb*-qPVg^7GGwIGx-FgS&MgckEHl-UMSeF}xv+?Puzc?YUTi z6x}TM?KbPnLp(~Q<@PJX6a7dS@aRZ0sN!Cd10iDLMtkhxoJ$D88#<^mS z-*8?SpX5FmgUcD&C2+|s2XTiXYfO6h_vQt6-HXC(X9t}i4(P^x(HR8|7)TVu+)Z>>OP`5{8~ zt;s}9{)Ql$V2=_waJ#8~YP-^J$-#{Q2RSlxCF&pcWr^(QCGNsrwq>$GO?-cvI@r~A z2B@)P=OhVarQda*4&y3F|F_-MwkGNRw!7N8NYCzS3#2D*JpmtUJ6d+NmFD;7Yn$xE zSyM)SzM4qTU&G-$(oD!}oBon6hZk+v*X! zJ#Ph{l8C$1lK-SByxc9NC0)GdEr=cq;)F4fm$q8OrvYUuKNjFBiy)h;={t-9ZdNKm1F( zzdv7}r2AY`Mt)(>`)fGV{p92@kza;iyPupTXDcYN#Xax; zwGn8MuJxanm&ut6-A^vHp({<$MoRkD)g=Aj+gh}5Eov>rHL$2}73oT~?Ao^$d`h~& z)!I^*h+Pj_2<{?Y-KQktU(wQVnNew*D(+i@gweMWX5Y#T7V&Apu05IEPmUV_W2k~& z?g@m-UB;c=K9`jFfX?b;)u&1Hki;+G!vNh_^+~`beWF_0r2Ex<;v3ji}a)g*^;K0xJ$>XrTP7ZJ?5G+^7GY1I@>NB+CDuf z-;zFE$Ex&8imB>XciNXM!o|6kC8O8V2)%HhAaEopyR z)Rv0tXHkDDa+XT#x;-~mE%=mld#kmyE)lz4vk=@xyt+?G#9eC1e`<$#?x?iI75Aq> z!st&4vp;19i}PUtTq~0ED{CWtY#LEJH___(Z9`VXz>}j zmq5moZ1hNN=ylRvaz-vwaz?Jno{`Hx&v5k;%pHc4xHSSf40o%SB*PkK@nN`O%m&sP zxE_r;T(fv_;VfJsk}hZAn4pxoo`qXG$g7@(qX-LU;UpG03pW&L@hlw0k>`(`g&PSh zFMpQRN3Q01xj!-jS#ZE@e8H+D@99nil)ARKW=byi@cpOt5%v6+5n1yaMc1OH*Di9X z*7&JgQ(HPVU=*)13f$8g+^m{hfC`vBg;l@!`qm;emVw4%kq(zE_5d@*x4sGyZX--% zM<^G>G#W7*NmrUiX~?-u5VKUl>Jw+F0*AzAXQ{x|Q1=d%;N|jKGCO+B=mBfEDi_ql z)_}$ZY=_{8UqpTz4RLZ@qycFt3V*TVOj4b5!CEY96`XcWlTvZY!5dZFqFxWU#Nc4}k@^r`PK(7;f zwTd5QSiOF^S~G`5j$I*Zx~vxquzO+dkfc}|+zlY#d?bps6R4R)onRAQ2Ca+7&=8f@ zV%}RP>EiAsT&+m_fhf{>f5ng9hrycz13a3T%r&O*rH*#$>h%3&i)OwC5hP+MNR5z> zEuXk{$q!@0#%Iv&VT0Ob2CBR*O%z)&>!(#l!>wQFHd5b99*6A8K29%rJiw~*o-Gx) zf$Uhosg=PRHMW$PwLPA>3PYhWy>Q|Z3)D}mx1hhUDm5uuKi!f<7uMqjwP@>SespM^ zujpZzX6_^&@H=BhwaUutqF0Q`G7EVc+JTdW!6d*Inz8Qmz|*a6Kf!?)Y(I z*`9#cFqS1L7wm?=yTr`%A2hsfMv1}pg-2V#)bpZ!C zGGi@qksZC(IF=RPpQc{(Sk_9vtNmRn{oi&hyC&)Wwqw~Y(i8Pk_dWu@-{6h*$S1iTGEv zLob&oZE?k8*&tyI%LsEU%M2FrX~C|&pdHJ$bS$9J)C*yFD|TSA(@r`aCQSo8Ez-6AcUfS~hy?`!^{EA)lCE#Hw$vqJ*K-zvyNFl!DT(-3v@~2gU)rXM`_v#|^r?i| zr!s>@d|I$;PiEI!TRP5WpE?L(nir!FO#;x3Ot~Qvk03aaE4SL{cBZF`=7WA=ki}ju zgZOgIjQ;>c=jGA_Cu5hk-eRvi$o0PUqcEoCA8xrPk@WODhFd>kNAOs{$wq%pZlnjT z881RFY-Hy{2x|!aQ|OkCizu9--~sb|ml7UMxFLBdrly)NN#W(hRv_>q)w!4wki_J< zW;rbp&YlNk<}Ey6E}eRQ1W0vurTKn~8cCG;jw*m{1ncu-3-s-7Rwlnbk&*m3e#-LW z@!_;QvHTL!Z{YXT3JS0|v6({%0L11FApj6~z(FGwfOAw^qb?2Rd`_&lCzrubuS#_nyULeU z2OP5H$<1M(hAVr8m7v-ZM1=q+Zl~j_h+&`l?Z;vXBdTxgh|LJ8${7uu;8=zl65}xp z0+?9R@pEEWKU}8{o-&nQ$N8udc{&t@Q$N24h9a5lxE272DGnikyd!oD(n=y99XXZ_ z4s3_A3o!SYo*B))f+Xi%j39FH%tZiJ`Tcp=?*tGGoKK%*8IMt7Ee02u^(vQhe$}{P z=vc&+F2^C|P5^_-^`z^{6@AL_lANBe!=VaG6jmZme(Bk=4b3`x>AOh0gMJzK;~xr? zxxh*ixYFg7Mh_Rk(J3?0xK^A5$wz>&q<5B*()kmlkvt{hC6@*vnix5q5~2peC56VW zw0D=%()km#+9o3ALF5DX@?d?1b-73K0+dsFC->THcpJRF8o^JmGQ22T6Tx$@HD!yT z)uiI*SnvJp-B4MB!hT|rXohVu8)+fGmjd0xes2qbXG$cE#|8NfZzJrf+|h)Y3;OXJ zDfUA}VRfP(zpnOW7qMC;@Q)3CHXA%H(r1I`n$u>;8|p!=*U5$%mgbopf&(>Z?}NQg zw$iY)RfmjwooupUX}A_yX^)KKLIc(X{!N&m=a#V$Wbc;S5}}|Tw&JHOzYRaQN^V>E zmgTp`mvx_be#K3Ovt+nQ80LKlGZDA&E0kgRwUbkRW}KH}d|~+wu$cR2+F|)E(q-f% zoa3)W7G)#I$M1fp`6#H}?GOO@*q)!V{0{h#Ut;+snqPztEv@~ zeF?QsQ0mT+JoBD9n(x5_1$0AMTu5a>N7&1gCfvh@5?uBo7V-F|RUHG+&Ifw=KY#@N z)EkI>{xrfP(J@^NqU1R4o@xze_cy5a=RqOhnJM*Rf9soxQhGQ!tR0yw9);_rQ&YHC z5!|~7ZYaPVPa@ss**0E;X3F7S^67Yveqi8ve5GPHZxQDGBoCm7d#{q$l=vh>qPHBb z!rXYoj0R6bsO$cXFj#QNAB8Nn&-!<0j-MkanZcD=hDz=d=F*3Hqhe0U1I&`eODUql z3hdqpXYVN8mjbFA7BxHKfIzd%_0tzEct3n9{Y}D1-^2fN@xKN%xL>?yULuI*wus_# z0FC^f3Y(5q~+iqvGXi^<&VU!3rm zl7xHxRKnAW683V8zV#0Ywh8j9I@L29L6)gN*1C?%f+(!xihyMu_b*cHS{!+n3B+*# zK6wgT)^tAyh1TCqQ9fyjHw(|)<|v*rxy5k|hXx&g*QoM`z|+eK$t05aogKi)0m?B~ zgU~O_6QLw!$$!Ggo3|?v(xtLRt@7VPR2?TkuMeD0pX6Q0(7fGBY5q)_ZD80AoKK%5 zuGdJ-+r5$a(A|RA8*~ zxYD&IQdGrbexh|sk-smMSE?!ACu)sK^KPnWO-60Q?jDZz?j=pUdnDS&LZRqd7D8?P z-^md3^E>2+fB#EqobKgVy;NANfMKbC=?d6FEI7Vq2Dy525;h09@{NE);US};_JMqc z_A1mXF1CwhWV=Z;uBaTLm z;66Bz#lw(AKYL}NUhM!LbgV(IpXMZc0s5&Rf<9{LnuyiYDH2v5Z_8UkpO6iCLKqP{n{Crg_5I+|bn^c{r8Dn;Egjkr zFb3qWslvWi*M15{Z?N1wH6hxK(TCe$$G0yLuioM8`~tS2{Q<%Du>ocmy!y7kE?!vl z7jtAz!K<--+$Uzv;^aSQcI}OOoC}#$t6oN0^f`LXK7F9Cvfy0zLZtS_^-Z{#8??BM z8^8We)2dP!RN{fUNHkJD5I50eukMGepbmtjuF3ujC2oBU{lxJMHBCb(ItyJ86I!Vd zvO%GD>v_(WFEcau(0V~Rt_xme55#>(cPYypA^L~v^60P(^xG>_yc$SQm$xV9M zYXFKZ_w(UT`hN_6@=u1J?V-I;rR7fnjR&2_#*;r44$O_{IHf+x`}kvXm;ErfkPo+4EW~YM)AUX--ktfm&pn3=!BVgx ziK}5P9lgND{Bz0b?4lk+jQOJJF!%)bTF{r#N5_+H4~&(7N}G-?NvR`inyl))~2jvzmeNN`NI!| z{gaYoiDp%TVPwh%6LdB+nl_(d6kdCP2i9{6NbQkP5JhVsW3|ayv;~`7QV^S*15NI& zWHHEaQ|$0&V4Kav?YF=Mkti_yRpI|(>$VJQ88K|ca1P{f=LhT=b45$ktUV9+#Se|b zUJskKw?CwPzuEhAkYfF|nEBg)at6=G4SC&DUpPvHAu0Cf-O&O$8RB;79- zIOwLpHw9?M|$()uX`$;Z%%-EWNI;UO+Qb<`X-&%n0<2} z(p9eBo@C6yFQI~(j~X;)NN5Ys+4Gu z#m!W3pdogc;W)UZQd9HI;856>TO{J-JY_}59Av`a>iyS3=9TNn^D%&kd%^7Z53NI= z1Znu@sQr}}-+cO@lhyZDy1uz}Z^gY(6rwudrFo!dw*Q#rF)^qww?IN#<}X0bgc4?W zAiqyfbiQ?WI-cj;tGKwy-)YR9*YZvHn%N<<^6QX^o4a4~1lMSezCC0*k78;e)L2d9 zkZRBD^>@-;hJhu+#?5+&r4>-4xfnI#;YaBkN39_)Ztl4!WPQ(vG#Fo_`PX-zKn-S} zV?(CwRnl$toW?T1?69?G_IS%PgUlNbd*X zeW$UYW`E+OwlkhF?tYVj)Us=Z%wx!DgLxXYMDy{FOEi|a*~z8`t}b=B2dkW1KENZC zD!+fc5t8`g=87Q>T2k)`E@3`L-S{K;Yc(IEg_7r1vjDnGHPIQ7(=B0_Xw@ zHJC#WQ#m)79Xp-Gudw-zo3R6qhr4{7jcFCFIeXsWYS@W3 zKD78dTr4Z+JGvW!{7(PO;pPNT&#^A%eWB}=gKbcEHI0kgT|O=jN@n2`E{!u0vxXRN zYkP}X_Aggop4q^~d<@!_#&_(wF2s*NIN#d>PA^6a)A+*Oo$qu!nL=EH8Q0CpnK!y= ze4Rnwn(lG9+4ni_zYL&>O$-WEv2}Dhq!#)yQNF_`&%3ozsvcS zqZMn2?NBm=8q9)Pl~99eMp?3*H<*uJcQtz(NQiB)!F-0+ICOFd(1QVVCi(@%ZI04X zx(aA&w%?KF5|oGPjjiu)jGC&rj7 z-*&zYTZGJKe+Z$rp8?&u^>KvmebER6J!$h1H=jHW`w3blZdN_4&=@m!qmVi2Fc0w^ z_LXO$y`NE>Z(bhhw4Mh^sz$o|O_jzN^VlmcZ1`35t5=cxJAfk;H`gMUn%cuj2aN=m z#QEk?+mpo2NdZ?gA$tw6G1AbIX+hmk+{@27Xi+aGzt>R$ly0ke<4n)$tDB#7vHbJ0 zAhodeOmWj=uJgSWSHo(|qb_tYuZ4XwimQbr3Hjz#^f>I9;^v*_6gS@VeZ(`HEDo9R z=AxTDvl#!!o7t~8T=h2&mxo?D`X$n>Kz%0NATt*lU3;9{P>TsQoA=OzvE0U(8`CPk zk>)OxKI@BbHaOVzs|yFYUUKdU+DrOoUvSF)veBGj>xOUI>zw`anAJY8hhRr&4|_k- zB{b3;G0UZKJ9->iOB2n~p&_#zt!1K_x}zshgDDT%!nY_Rt=Tuh($b!ZEkJR7FLtfx zX!OzQ%T}SjbwS(OE6}lbAEMf^!SqKy7$RZ8SeZ_Ftlf`=$rN zs;&IyV9$KA3+;_-VN<^gUK-62@Fg_STnY`x@@OzSKthZ;Zswv?**<*p%`s}}!|pu7 z^)u^Us=i~)F3=3rD!w^tzrnnAx8mYvu9PM-a;~>$#Y3?Qk4Cg%DaN{}Djn2i%_ujj5a-aHfOC2UgH-qg)#Q{FBDKm3e0) z&)kd_InuO2OR1GH%Z@7=%uMvAw2*z%=M7`Wk{eFM_y{^bjvM1$8c)_bPVa)mmA?bf zH!9RTR(-dF^?-X*(W`A|#x`RPL!f2vINZ@liMY5q6Z%WT-UaPVsL`y1wpjW&Iep?I z$LU$XF~12D#yFHCk+}Kd-;S%34_Bzc%!1uXImb-zFI0oX&D)PS8}2J>ZDJ+?dPH@} z@n~gQ(nD@@+HvzQHMIt_A#72t8&3tYKPo8S?J;H|R}H2cxYxdnVYQ@VPpEI)j1QnI zhbzuEr+@>F&l}9HIStWbrl5yl?-DZ)XLS~$*?bNyucNHTkzehZo}Fc+Kl05I^sCzA z46)<$xH;kpCzqozGo!U+%a@Jh(l=*dS%NwD&2;S8Vt?+NlPnJXDtJ+8e1lOS!^X@a zE6GN)?LR{1+;=%%z4lP;w-V;2PeW$UqgXO^80{!D7kvdG*l^JDOf6>cbd>12xOuO? zv!G@{@2V}eKD3lV%Mr6e+g|PLu&DuVgRRtes<{RleMkJCYFeRv6q;-yjAEew7|T@C zC%`>s^~+Q<@Bt0mV5$Kr-2~*Eu{4+`ELT%auLB*<08*~LUh25&X1QuKqpa-TiMoDp zC*x&8X3N{K%gbzXjzW#*+r0Ksaf5XOiEq5Q3>JXef8X5fY{KOMG;*H9-SQ+(wgW%j zynTq`(1QhX>4%<){Eaue9pHSou`(TR=0TDgb~<};w7l`=(*qsu6v#k*UqJp9nlMXk z(edU!%p@po^c4=eYmlQmFo1UI>3qkcr`HglE^*M+uQ<#1u>e{gKr8QeVTXO}plx?^ zVORaZLHnX6YRvbY>!5oAx;=MyINC!>H}C})-@mPOJ>J}lHm$zD54gWPfKCsf839zj z*oBxMaB%%MF6Q?G4(>yltIhvD#w41?F3&iq_FM;T0R5%DYXv1;v#0vT&1WcSmZfjz zzGlQ~iJP5AX!$mpgHeJyD|rz5502@^n4^cfQPz2{xN+Gkls;SD7&8v7R>xakKyzs= zUSZ>dZh{4+xO4y=aj&c6d!gniFK5_vm*iW_hWvF$kY4(B++xS%K_Jg6r zRF@=!9&A_uwFS^9$VI~*|D=PK1@k3+Ryo}Dm}gMBY0DgR3akX>;J{!`;k`irEe+C0 zk8}Jj8s(r1Z*hIkTcaH`%31|+v(EZT7c;wT=&ZC2Vd>Len`tTrc;*=2GrOB}v3-!x zO!GK;141!#D(VL566Q_N>CEhX0o09c5G4~glb7pEZ`{1_pqoSf*FweZZ5Cn{ViRbP zz0J+AY!v#Yufy#HZKk*{(Yq-0XINDVMX~pdP~05$x+~w8fMZ$CGzY>iCZ};TAESKE zHOI|e0WUw^uXK%KD_1XIpB#ftO{mqpex@5m?}WHi_QQ8~rLaW+B?9PO*qutZGJu|0 z>TvtdaZns}Na;pDqELhR7WRSmtA9vpZE7@cPjEA?FT$R=8vRV8c@{NJM@l_E)H(e| zvk6Mz;G5_>=4}Vn9v>2%Z}#Y~; z2aUG4{mq%Dh0KwV$o{6qLcU2|=fI)L)aV0!ANuXdY(Xy zrZ;lVF)`L>x_KfE-(38eLM`Sh_|m>=G1CL+4cJ$Ty9e!Dp)*i76nb$Z2Ym)P6Nfpn zgPdNw{dU#4Z{_$~ z@QzFE89R<|G_9zKb}a_dQ0P+3Rw#7m3F_;cCy`&S==f%D^yix2t86U3`PTt1jZ{>* z8eq;Fs;f6XW<%Y`e|OC0X&u@Vb4Cg^Pj^D z(Oiv@7d6cwvnyHv=jMDf5_2fZ)g5R(gs^@Ta4-PvNLQ-{zNvjm!hDapO&!JDf! zM$O@_UR@fjIc)K@^L-dPN9leCJ_x~rN1I`4jpj3GN6z{BX7U-1m-k;*Yjce053Q#& z$BREx2&@x8G>JA7dV{bPc8+<2lys7IQvi%9XD1<{0#JYKuMqoZ3xG1Do*s_mMZTRJTOy zQETaui3(vw7V~4w`4|&QIS!JGL$WS8#yo_Pjm~LZfjXomlL~axT<9>Zok!L?Sv|Ft z){>DXytbR~{CG>PR};-nJ#~IrYhpwkPE#{zQ%bX2zeL(j`04)um?*i!50QyS+9ejX`%=($eaWT=?wFoklOpVgCDaPb$1@-T3XCfe!fB ziaMmTZ`CJje9)c1ss5Xadau4i(7R|$skqP0F&>0;Nw=xF1KL*mt-%;qC~gb%B*gjV z;Q^|Fv7Uk%CCVUX?m^7TJ?G)HO>>q`A|7S8V`4Q>vn`fhnWTQ zRBDHrd!gkimj?6I<}Q|M^zRzqxzNBWmyh3f@l8dYWXugF{G(^*ug0N;s>Qt&{1H0L zd|=aPGzUTUoLhp$bG9dtZ6)xsU{qJmeYynCrmGBYMo6f|5Txv zdGrLWv180TuefpECCD4KSO7|Xh-&3uYm{|w8)U}TFpa~WF8e@Bfj)V5mm5WNyDKrRl z3S9>}g?gcm6WY|Q4?1ecP0eYbQ)nsZ2(_C{(4y4lA8)1Rn@i9-+1_BcW3)%>p~ZXx z3re9Au%1FFX2#m~dziW1>XPlu!y9?#e8|c-2iy2!rV5rI+s85HJFHsn3@B#q0His( z1`s*rUu?d7@FP3%utjnxEN=cy3NV`lm@qd^f@bFcQ)a3Kv+@2eRMgZ7W~TrXL(OEU zgM(1jroUiL3^3iyV8L7*U}{Z9Ft-JmIx|8rPX(BsJm-d(GeKJQxUCiQ0VaH0$o%CQ z54mVSIS@k^|96)4!--~MmO#QvGr;U6m?nsg7tGV|Im}3Nj$mRhyR=5(q!9TT2b+rZbrN<-USW<# zzAg_i6U-fgS$?Cg<4!UY%oAolXkJA7)KD8+%qZ;XQ_SWTvn1tcwzilXPH^$;U@@

      5-VdgM%2bYQ%M?4Xf@H^4UzuAhFVPY9FK8(oKn-mbx={aqcaA_GI+dOwmc zwUO?~V5DY!TmRs}(Ls{}8&p+Kbf|X_qg9c1a!<3OdsvcEI?q>MRZ?A9S5{nFHNOU- zqHca^b$MB7+5Fo2nv%LI`CngLTTcw;?&h^3u8Q+1AcS4Z3WJ7WHArZzUDrD>)E~iLS4UNQyFBTbn>T6`kd|mCYPsRM-ogIif$HH^5vc{@ zz1(D+Cp(jCD~v7oQ(UQ{DIL{q?Z>X}lfbOnn;1tewNU-lMEh*9sEKrUi%+BXdbC>n z%~yX?)TG=GtRA2=)HaDv*JZ`v`bfW9?N&zmd%Cp2(CTEYBtI5tNGtoJ?X)NLUHt=t zQZCy}dtn^K%%oEylLAnp(N?z&XmwV%*Z=?GdLXQU~w-86~k57fY2f zbvaf%HA{`lfIjwvhkDjV`e_SeF5VzbNOA`y>QfVLf;_ZqpvyK$#?9;3YVliY{F-*H zmAveVYSlD)QxKPvXOVtMiP1K;ZHTzHU8T8h9VlwHz{Y8LmUWv3`y)Ne+Xma$M>?E_ z&-lT$VZdq5V{v#>Y>ee@i_0|0_)F538aJqUGUgZlo6X;&pJCG|DY?xCJuO|o&f zg~lyo+VV)^l82vMTdwKUBv+_-KvzdZ8c!STVZG&!SEFSwKZG#c*@T!Npx;q+= z>!!(e!(A3_>u8J)^|wddIGu`-G}XzK^GYO*-rOiQS}E}=&1oNuYRu-+Yi_mj(A8WT z+qe>LloTU3q1?w%`yef^K56yiDJV|SHGaJjS}hTlt7pP)qzi8!jC9Z`(!j`*H)99a zz>VC=CF9}^I=QyELgSGlW+ZNLKyPAY*M{hz>9w?2TSHGlO0Het2I|}e1z~`s*R)Z6 zC2t&kJ*8u)yN!IaUA8(@b#yef4ICS9xOyPcznoUMtuwMR8r6P4O-;8Vu5?v(#|^c0 zyW_xk@3qxh-rUYv3P*gatW6)izip+Q zq;1{7(GD}rG-2V*-i1@FjNY3Dt0fJkPIUHREbWgD^_jBjI+fS_STHhb- zsb95H`)T9ijVigexJ={Kmf1;xmR;$KDHCfNS4w6WtH#J+Q*^Mc+ceiPy{D4ONW-+{ zCTvfkw=sIOl}T;qyQx#bt*i)kop(zWNVWYiQ1-yTIVrqs3Wpo8&fIYWg-ztRYy-(Z-br2 zs8SxJCQiq#1M)oOZcS4z5xag@Mb<@_B(z65mPUFb{cW}lcHNmmv`Mn`E{(Qvkj5_| z5P3$XI2{xjj=6YKZoF$9(NtsU~xddvQ zz22=B@63gH%(VW|Zf11S6Vyi5wK1_Y&sKskCelodGMOd-NlB#!#qIQVnwyF>d&Wub z*3SFfS%*YmT)k;5o^S5aQ~4GcE%B)!H}1|6Rl{@WW{52T>oo~?+x6PWfSD`kAno9` zo_I4Ype7HT-a`X$hYot>O{P(joZ@-qw#K+sU(#UJl0n5I40MV|(Ks+4q3H`TPL}5*GTF?tm2uPpaG0r)i8d%FE^xMSA*T8D%5(l-A_h za!t7;vO=ZWNXJlLcb91%G;GZoMo7N$T5^UnYKF8ZU(DvLP}MNtzFQ`GcjQG zKr&2j&oN*^Aye0w%6oUlP>Ze&(+<#0_Ssb-w{IykN$}i|)k^&+R|8454$w>}CYOwp zL}esy+nIeh)9dy6Xp+Ve^Ic&R+NaBjBL@P;-Fu@}OYD{E-?Vl0U7I2uNxO%ni7;Nh zK`$`21Z`5r%(T9t#+{6)k~>{j8RvhG?~fSgIjPYOA`t<0tl}Han>|X6WJywv!ea-D`taEh(%}>08Is#>{)C zR!cCI8cfZ48mDSmhKZOpc1eM8@_Myeyv|pz((KV(X>P}EQv4ftuYaqRsBM{#-T25> zz@*Mo6;)Z)+txii5NR-bADUhpp8L#KtUZQRkpWo*b83Wo^(HB)vUtAJUzDiCeLACX zTSruVV07)WXs3Dp1FIr!9h7@XjPYa(klT72?aCqc3s$no%{qlmW6X;;amI_3lv0iG zfVKe}g?mkHVX=(WGnvgwNXEq*lGPGYnR7>!%nluVHM=_o#;u{3A?<o5rb6b|R zPl!Eht(?Z2H%hA|%5n`Oez?S%q-21k*Eo{H+?l(?V3ghvt(FjrD@>4anHjfnU>v=^ ztsk#CxpAe2FF8No$pE*cd$K@oVx*Dww-kzXOiTxdG@Fc(H~!?>1+n-?DcRLSx?|U? z^Lty8+|sXUvK|}zBJEvm-P$?Cw^AB|R{ol{UN-+$4z2C(8dz_FlEyl2S=OY+GiGp; zSiHbSrNv3Bv>DFWbxz|hLpL>$`WU|vW}MA9iAg;5Mn+*~H^2>A+R>)Sra?OxH{%hF z*PEfni#)m#b$5I0#Jv#XNadBio!&^px~BDJ5_fPU!tyfHTAfzeFidA4Ge7naYhyE1 z<80UQylQXCjImZ{C&%1ErBzq8?yOUb5XoC%n$h@C#8_WHBdk}zW+36njx z75%csrgJE{0oQS5_fTh7Z|o@~57uf4wNg_=T> z@q9N67O3QG{?xF<+-DcIjf*!xt0lEgVv}x!+odPFaH^(Kq2foPRB@>al4I&F7x9B! zCw$vpj2zae!JKwyN5rwO9qw)G>1sEWod0+nS?l7lhnimDVUm>l6BO9QJf!B8)%u8- zl7y%Xkn9~-^~)52O@$4S71HiXzi*P^Sj6p&;F(&YW6atbw`!Wi#UFVf@2iLP0eFmJ zIyH&+W7C7atAjZmjhx+^Ho?0)(6OiNcCoh0{nl=nkYtu$#jamlH#;UArWv4p^{#zm z<}?Zk&5XUzBs!L^8U|#)*CvjzIU!(|Tv$lZtqgYxOE`^eoolr)GgHk`>$h%Gql6jcjbkImg|Gd1!VcBbJ9FmrBfC+A{@` zIfr&dHk!s5<3VRv3Nz0P9E}}kbNf^;ebzQ6=c&f)syM~b*{eOP^!)KoGJ4pA;6i(}<0F;*F$5(5%s#<#EwHCJN$8jvRTMr2gQgmqA;!*9@cjhn#0@rfJf$ z$8u9M+2mE#(BOIw933C$y0kmGmU5>XmtNwhmaUFxYu4JEf>?{+Ch5_BwwYNa^WFvXK zQ_oDTvu<@8+H`tmqHJJ|rdN;a$f`+P4kR|?F^5_+=)yOT);SL*jlMM@A)5xNlqA|} zs64ICvig_Gxtl}t?K#GOvEoD|8(c+L8VoIQ$nBR**%X)@!-?|6!;1EKj1BgQF%1 zlrVE3hD??s5x>=B!*>@%F&U6nP#QBS8MG6zB$%jUDhbT(Z%z7Q#@=h!P{*6Z!|h7N zGPNL1NsCS`ch?oLv@HZJj=O`5mK$gL(WHq7tmQ)+W+yBH8i>%W$YB&IBaU9ixV;^= zp^7C~5~H=nGjB3Ub%vNuAaP4@qpT0vTXgpr9G~2G{H`-*l8>=5n`6hFb;}_NQ}<%& zOt`iUl-*M@o3Ty+M3iuvHBN5|jSbV}2Mt`Dfyq`gV6tXZUa8_{AZ~T^195xNrntpY zTGJmLU_He-ylgT=lb@jU402-rYnzC31H+00b8btMua(K`;xbKDV;L+I*Z8Ax+!vz0hT?J4UvStA-YS*Wrbg(MV( zY#CJbo1Ih9FvpgJ)j7MVdOOT`Ol4?V-__qi%QC1tt@C`H3>X$JUfh1ej(0cDSwkpajkDRTji!jr?)i9 zn-nHOQ>hc)KfuA1)RE=E#v^U2#I?9Xqp>d^;7^k{kDGP|P^L+@2aAk@u@MvQH|hFF zk{1OeY|n}&2mfu1oVGWiIRib~FdbDJ2X`$q)?^q5NeRd0@jL1P`y}yl7T(4yr`r)t zOB}bPZPX*un_O+RrmSe+mi*v(l9X`b+opum&`9Lxh@;ciKu$axizE-+xQ$4!Rg*H; zbMi5narU0N)A^KkEXF-<{Hu*r{26LVrRVW-)Y+z;gUm>yP8N)_mMXDx>p+ro&Nz=% zBgDJ7#}8JuCTU7M=`+dmDmkc3Al`f7pt5MmNzNc6xq~iqDGrn?Gu#rtr(?osnp=6T5i! zCR{!011q(0y2*+k<#Hf4iD#>oyi|9RD{ZefN3?oINmh8fgl}E@aec-z&soZFoopUB znP>DPZqKBf6mrJZ=ABOIV<%HDP#@ z#~D@|i3)DkBP2P)im7B~vV*6_DQ;Aec<@vr@l+2tX3lZifJZ$%YTW5R5)O|Vt=yp* zr#c6JG(2x~CKfH*PJBt8t??>P%P}$|xY(fvX#UpHX=uwOYdC04B+m-Y0IP z9P5LOv!qVmRn%-Awf8rL!ZC9oqn^BpbVG7xKHAK2xDlUTTaFismUMC= z(4knNVW0 zL*vJr9ING?IX|Xhe%sMAj3kTXkQt(s{bYyCtQ7~okenqc9py^S7_~PoR!iU<@xt4; zpAK_k5$m}92KCMJHLZb0=%h7%JI!?%kr1)go2(RxkaW$&d$0>9cdG8JL~%Mx)Pv4Z zb|(Pu!7dvCN3W1*JXpH$p474?oRC5y4I>MLagsTUdql;xj&1J5nk*f684K?%Tdh1; z4mS~D@-1h#Uy!`BmXcA%k7W61=cVl3Z~_YHf7wnkmfmz)t&|a)b;*xDNpzlm#(0p_ za)=3c$x^4Ki>>jMld16|3k}6|M&w-mHi7>HfS<^uOm!mNf3<>1O z36eX8(ECn2xRNA3<4L@8Yy|gM{g3MsyoF3Hy&1&;6Ppk@GJ-f_`fSu*f7V({h?4~E zWpu?JY2-WgHXstsNe`Q7IV~>F!}Rx(|He(i<@g3x&OFs~+(Q!WDe}f%ecIrYE@ya; zdk~UzCh`3fi*7R7kmNWib?P;Y|ml0`@m?a7P;h~suj(b=FWwO;Gr^8Kl$iRdn zS>(*coRnD?^X-LLuE!pNmS&R-_lpi@0IX}C);am>DFiNEg~U5@za2;CsU$qQSXyI` z6CJa(F*es@o^%-^mS~AvRZMYX@BJEcZDY-_*W>8fe+!StXZf+~E-pb|I2P z$8U*SAM$#mck3Ca#I5C6AS1t-p^t+oWLL+#QEcLf4K|W(0Amxk0nF8yd%n0k8@GtD zQL9YYY({%_UNNKCCfPB?VdVRr#@dW@NA5}DYW5@%-0c8anuy<%lyIqiW9~^}lWZT) zdiCz2p_b;*O!4ij@3C5-Ro9rf&Ay|He`i^XgyUd_i6+RAJ6t9-x43$mUE>t%-CER%Q5zF zOga*GYm83vNGE*^=*_I&DTVIl3x=cZ%eYSNgG<;Pah)X=(*TX`K5}2i^&Yo^lH9-M zu-Az?J@Wl0>YR5IquAHTYiG{u-*gjp4NLodnafDeVb%?GIluJiV&5v6r101FK?g*- z`#9twZ~LQ^1FiCTBg6(?1?*$oWUuOa*>rQS4otjU(a&o(k&Z;AEEo=2?mLMkSvPyBkS_$fW1#qG^nO)kTa34 zQG?APT5Bwr2CSzUM3TGW&pNZKU98(r2XHhe(qA3z?%*fV*^Y|8ULWUXV&4#1*|(wCN7k7(NZN~o zBO9@cLJJr7v~vEGqqp6|a>ZDVZKaYib`5dU5uaLVg&$>$PYuMBr6@d&VQLIWq1&ry zLs{bFL5Z)mRbGzhYG=c=ZCILZSsZWV_}ZdUf|f#SKMTa3Aez+;y@ULbv4fFhXd)Wo zFv41Wi>a){H*bFB{JQz|wezZL%c|-Y)R)zjloVIh6j#rys;;XkshT&xYF^EP3X;&% z)^}(Xf!37po4@U~O(i}CFTC~TWXQZ$BqB&U3{SGFXsly{Q}s{DmW|<&Ln(EY++_FA z_)N0jXp_Qcw2Vpe9>_R*$MUkDX#E>$w$D7#JJUR^@an2bP-*1mn(_Sqv$~bvOrLCl z!?;TfY(Ejw=-W^B2G~wQvO#%2ADSd7#@?Gi+4xCf%ua}nMg_@!_q$c9@h%lf-X#yo z35W%Lf*d^qjJtGm@p}n)k;un*r`x7e_5u+9$6W*QlDV)n?|dZ;-n$ju1}|>iA&)Uq2~sT7q3>9xNYiKy)~(e zWw+D~trm`xR&tFmp&K$@rB$6F;vid4&GKBR~BrT}P z)>5q%Yokcch{3a#DmI=xGxi;8nF+}UWfzw-%r)dS6JwNFIhehU9wmbxiB{ZLb$$=42eniY;xT zCkGN*QBe%QSkHzHJ#$Og_(Nao(| z+Z3qHVk5$+i;cK_>tZ7|$+yaI@a~PEO1@@@135g#sdx-{T(Q-^xa-(58%nojNzj_k zByKpAuo{IoW1tV&>lAlh-ptEl+3q=&QIfb+MX-z4wYFCEMtg^ui4VwxbKcR(w8cra zB}ujANwpP8wUtS=^OI^9psgS3ZRbxDhw>x*ZP3!h8^g$U%?af)RuYE#P;quiE8@zw zu6{1%Fnpv#8g%hm+og+CZT-WpQ-X^2&aR6ksN>iAN_?!Olz0}3N<0fiCBE1~kt54O z5wbaCt;>EU6kRJa0a($lTb0Oy(NLtsw@xPJZ5{Py{3@?a$rzXpj7&&ya#Sq7l*k(2 z2J@O&iSJkqtHjriKcYGg>a}uOj*rBa^vL*zIr;|g9I42(of}Ad|G*sS zOrpI~V(iKjchzU(lW!oE_&Pv?dHFZar>;^s!Ib#=Y=9+pDas^i^rfg0U5YYR)f^6Q zUvI{AChHP4-od-^CCeJ|eiE(+NwegMcY!PZ(UN#skYm}4QosTiH=VG+#Z5&~4tDgz zvgl=ElZ%c>pL;T+z|9`c*nwJ7?U)iu1QvjnV8I12JWBYiv_vAl;eM<4GHZr};It z<@Hqy=GQJLo>zffSyfzLTV7jSRaskBSHECh`MmPF>f#bY*CfqrMIxC0b^XcuV>QV5 zljuioR~ToLGuS2X05k}(Vadk?He$)g#wJTX#v=KWk2Nz^_943Y62IglhMrLzOFq^+ zD>^0;*K4fb)fEY2pxGvt@*urktQ#0BBPOsh7F9g4ISUNNt3>03F>+A_uiv_;f{muN z)O%absL_-dan;DwZshWbN#*~~@`(+Y1rek%7DTL_lg^~88zvQT-Ff2bh7E$%4P!X= zAkQ^Rw%p;QMuW0rbkDeybqy2ED2pCAdKW!xs4Q(D$%tjNr44Jy(gqS0bF`%mY0P0Ofm;GripV< z*D~=GvoVzjoyNqOf*KbcC5}D?HAe0X)Lg2$1R0w?;vj|Y+h(7bi9enAjaXL4@qbwO zF-dSkkq2p1-VGCpEAcChXq-MLe$fE66oOG_lDInyI*23pO;GaSl1v@NTDHuS@1PlP z?v2E{u-GlRj!CADcsFxIgyeHP9K3TpR5~DbKO|~uvb!pXJGYX!yf1#noce8gzGPF7&E434{ zQfCrY8aI5F&GS;voTxNzPUOfkCo=wY>SMfEvC~daByD!0fww-n9PRbc_#{x??N~iN zA@SP8u{-yn8`BbgZ15~sv`~zC%f>9y#z0IN^^R?73@B`F8P_JcY>d6&vNGNIttgXy zUTuTe?Bz;#fB9R!puW7iwzRCeqGn!kX>DCqO-<$evigbzH5HY03(AYj=glkSXR1h- z-pssKBtrUM2h`Rd8??rsx4khA60};3Hk5XvXAEq@Nj_4xX2!~CwVb9iexxjho<53^ zvJ;C4W3)kPn0$EbB%nls7^T9pZ)wfgRYMv%CUrtlXHO_Hrqkg%<4$X*0?#Dr$PycQ zT;``eWWgqJWNCw7$Y>0|b!6$psUAihKUyosgGghI2dyFFK_n@mqkQe&+Od-(0qR+? z#4g*om|BF%7>`eb5JLuVVmay|SL5z2Csr#pn|&7o_#e7oYblYcmt^BOLK1hzaY*Du z@^Kt)PPb|-#Sgs@`1 z(RQi3q=l|SiQ9mz=GXu#z>&U#g!i>fFJNk*v;*ttBWqSBIfk@*4RVC$P*;cqs9ui4R(&Ska zS$H-!BeT%D>BvBg#;7_Ph;5Xx966q~(XpuYYm)0%EfME??o$N zEmRmIxvn82IlPQsWsJKdjyjK}Q!C7s<_srDa7bR%<#>rr5`Va}(Ha3&xg>W+w%FKpvS75jsU8a{PxD$4Mk_7WMoNnbFnMWl z%*1Gn%+f$4PRfl5ZnSb^1Eifp8kxaHFCj4+5{u-cAsdRCjFBvLm%!YRY*S&5bD{nJ zDQ9>ay_}ga6UrH?(F)CcTWBy@yuf*C2%|kUYa>q$k;Er|YL1y0jgdVXh<$1%xY3@P z4Y2%M0#tVi5c?$6-PI;mcN29&mWkzvZ84Oi<>LaIkC?EeCtt3XwykRe=gUY(w|)pv zPgt4HvJWiw@y(>xhJzdHRyDOQuWM|qT3T0I)l_9)1<{IBC9nKc`J(!%^eR>HMpA9H zD={tNN(KU&_NXulo{D`*QWm+)B7=PCJKlv~7n2{6)i;u>ef;zWujrab+0cvO%IJW* z))nP?jr@K*zcRz`519y!E$^xvD{tDd6q@KTLZQEpr6&NalkFMpoR}ZJ=ab}v8j7?b z)pG0A_SUO?$(M%owlhLsYPVI2cDR$k>_tiCz2W&iYnp`~9 z=%Jnl6FEP9;9JMTk-v34eS^ak3$~HvlF;RW>XMIq*gU4D4dIs{dA6o7SqIy);KzPJ zmfvhWWEooXI$O+p;%ja(y|>Wddqr>euoFBz6{3E5HrhR4qE7BE(~6|-D|&S+-GrhA z)0oM5DwA1p0g?yR%SNqW1QPW_D>!) zG5fqROSjHRD4GndX-=4?-pSR{2%oj$cZe9-$p?I;)XDoTJ@O5H-lL9%xV)*>@ohy3 zmiO!&trbPf4>vnnD-w;aAnK1gi<_9aMkS5mO)ZpSR7$>Na$F=UTn!07J z(xEj~RWGY+mE_b?w3{2Nmeo<56CCOr=+-lIK6i0i6k=eC*jmRf?y^mb zx4MX7ZM$P*qz=6nm%5&{yt=Jl&yL6k7Z}EY+8Z+eRoodmG{z(?qk5#IUtQ zh+!;VK5!BdO)sn7^4CeW9cZXdtnH8AiHT%n++}ZMW84+r>6hP#b0V?9$R+n4chzHd z1~p3go`B;)pSfH}EbfJqURNQma;vVw6gkzkRu3n-iEnoiB;J$k573oyx<_7MPY7?R zF0}U3$CJfjcvTUK4vTL27s6U%~0cQcjC2A z+PM@*=L;fwlHW<&2xUatnp%CmTx`fbdnXcvwyag1o&AwcnKRe|Gg8~Gzez0aeaCjH z*FJ@h!&xJzC5mDbX6Uuqgp=Tb8u&a0!>!%Ol*6^=p-%|J0; zVe7Q4QsaHm$dZYGnJC~9I)A8!i!O04bim6gp zuaj%$JMpfi{ydyq$#XGQOPR5C@cVy`4>P=Ue8jFKa+`F0;mEP@>f&xu?c#o$Og?_W zt4eN6lpOiiXQWqte#Hq-i(P_t1qXSwQE@%Gzo+4PO3+ABrI}&=VSjhSu^XwCRwdDn zQXc0kJ}hb2ydgO{v18;S^RPIpM2&{!oQZP-idVQ6Qt%Qi9K}-ma}7Ag{g{fFc1S>u znFbVD*TztDd2}sbZeKIdCq^61pCRg<9<38yr+gwrgmxZ?D!3Q&#QX-OD5O{?C?t4& zPzhQ!lZTq16pafo zQqvQeTPFkK^zK-K(RiHt09H7(t1(qy3Xon(cNa6H-yX6luadP5=N96B5XVWrSH~KF z&K4zTGj@sgdu{a2`srGu8nk9~?9z^s^}{g6pmk_K4Lb%TR_I-2w(l{iWT zP*+!@k?8~LZW~bZ*n@R6`gV^g0gj4T5*6m5JI)(5Bn?|0efyx3A6i()gOVlj2CB`)wbL!_>^~I-oRiAq=R%~6z(uUlC zn*`@>GM^`JUNKk0DF-mbp?XIO}A1~LL zk50zaI`DBXB|P^+R$LPlnnv@zEo;^36l-lQU7x1KFqfuqX}XL;{V=fZjP?&Z8B`N@ zEgxlb+{AVzPeNK;`776}?DewRMx@%hl}-HVY3o~M|H_|+UT$Piq~$AWSIer0@yj0x z%3ks7mR4b;WAxgjue;qk$%5klW9(g*8cUM3Ox{5u|;TYSd^>1 zTsWYgNI6ze)Kvvlo(4>Q$BA~S_mAR%KcG3U<0&!4)`XX~^^tl9K|FVM2f1jY2-wGl zeT?_45=^5~#xW_Uy!%c)kT&3X#>iBT9i+gEQ=TR77sWmuvATp*>?F;TwCY@;B-W=a zueo9V#_SEau0h2YMK9u}1R79P^`Z^w;QcQ;XZET({SkK!Djjor!xtrKVdt}&BZHT0 z3M3i_(JA`~ng2PLNC5^BQWyc+_;-FLvj5Ow(Ug@vOVVQw1mYETIOf`JrJj}0n!ZG2F{Y}~EkZJ5af_H)D{As~24?Pyaq?+;y?knGKR}Ky(SmD3#@Qx9T!w zC{oFgo2eAj+u^dK3YARuGErMZA3jbb1EIm&L5y)IQhT=9c)0g+zPz={L-Fd*YMhvG zOkPkHOZ`<%l05FuB!`K|+R{Mk6J+y@SudZtMiv>sn9h9URuUX7VAq(1oFNvb98|{F zOLpgqpgI;{ow0Ab)#XxKlPKnuw<*D#!%F3riK-zrps19kr8Xc{>_V|7H#myhK*8?~ zbxv_!6Hj?*gPjT^jD(`5Y+bN{Br~v)2>vCenA&z)HJ*&Z!g~ z1og=C;4wbWgvaSnuU$e>#`=&VMEVM9K1o3`5r!|uKmL1U9};QA2NrSTyGUs=p%hpNx3F?&Hb!ob zh&fEvnH4j{$ij_{WOWa;5{P62bUpag%n<~AgsCOIIjB!D5VF$Hd%l1wQUj8+z9sD) z(z2~bJ$cw@Ki{n$CCZoY&8pu)Dxa&DcqFYHp^?s=KuTP4O(j;lrzV%3Fb8O7eJW(JY=z3baP;tYTLCe~d@xU+%8%&&LlFPRu_^Lcciqe9a;H z?I{Q9J~2Q0`2<^=I8k>&P+z;<^sBWMg*7h8{{^HH0GX;^!HguROf{L%K`_A9LBcx) zF>vChAFadVkuJR6pm6yXLDhkS|Iz*J?eyW(3D!S%Cuiqj5H$I8{%bM^8l7BUU4DAF zxf+kJ&qp^WSDzjx)2{?S-Rk`G;o|CgdVbH(`Sn<-j3z(d{wm7k_VfMOxly?pCO@B_ zPmRGy;ADDr`zhi%du?ZEnw#@a(-zAO#@o+bR4K6w`}vOC&S}w$`}4`q(<_QF{rUd< zgig3VKfi-;a{bUp8zbu{(FHu*OfDa$U+0W8#I*J!wnEEa_te_fU6QeyK?YH@Ib3I^Er%qQZj?bo)-*T`6 zoEsWu)c9KxFlm9a>+_R)M$*~O=c@VWjKRuSHzG_LguOq%yS<-!JesR%D@wWaqr2i$ zSihHX^!>72B#22*P5}i?SSP366$(;ol?|p4YNQT=v_dOV;(+-pkA{DnF}o6jRWt(W z5{_{BMQDO>|F4&i#T3?J>=qk)EhY8AZ81fOLGDr?cKZ1!uVitSSad+w#e^Cs*1^P7 z+Cb|~!ZpErylcybPFWV#4kiRKHZh6o7*;I$qR?G`@s7_v-$%#jSN)M;HrlC-xY=jt zp6P>l3@LNGkcKjJHQ(llDfmntS9>8JzG%NLNj4tWIhjXE&TdAF#m&vlh|aMCM3gty z!|Zita>L2fYI2j?qHY*@%6dG#VNLn+>GO@p+R4`&S4qFqt^U%0|9WG_;&6Dg09Ikt zLoyi!l+j{?oo)eEn*)DqL_Z-1Ca*c8i<9dK9}x@mmDV6uxNANsbZLaoZffvr37(>k z`Mp4Tp`ifROfviMdLcxyijIEa zzkAbv>AaKENqqkiMBX@i2q|MSxqTy2{X~ohOkF0=&YSLL}WQETLY%k0>ws z(PQ)IJP4hfPe#+-3KQ}%A?6`VOUP>{HxmiHtUnJS*-mf2+(iblK)TtcTOpNG51Hgg zMV^dU!>-1x{UP!NPG+W`kg1U3K4Ygo(R?AHZG8Lb`fEbn-QS*Jy^aaHzZ*vvtNa#T zo#CgDC+9h5+}nR)nreSyUUUujSgNcAsC6gH%>n@kNTsb%-tYy@4S*rx$#{&=84WT$ z|1!-mAHnGEUJLa#OSW2PGUCaVUsE1mQtJFNT2S8A1EglaO(3gCiJKqn$`kHuq`;4# z`+`7_p*1O64hh8)MNg)qGiJVjrm)bKb~BuIDC6_9D>ZRKQ>?OXX?)X)Q_10{)L6byZ zh~;Uu=iDKtBf%JfFfkF@?e$luak+cSWhw9~U>p?yxHrRelN3Vj5Bdk@h_)@1MqR3R zvBI`jAl(W>U#+_hu8>Fb{_|dT`_s{c9o76BfmFoUUC};erv(WQnQXbJ92yCyq2`f3 z73hA+Y8pXm&D@AQ33?vZRqS{H+YT%#_0Oz z)2qo}$NuUA_*()rRh*1(*s}&vMboZnLoAJm99DvpPbYWmT^UbI8jR~mDS~MpK~i0= z_kmJU!FKe}xLUsZ?I^Ly`(_@3&{Bp6nnu7XU*?R53AgT7vG zU~fN9NAFj>p&5gQ=vTjtNJb2ICzHvq80mw#`{yNpnXw=EVY=3j`{Wnb87L_vml5Re z!+iISHcFJkU2uOf^OsRb_h}*jQl^_P@p-v2%SA9}W#5+~LVTUrHSN{r3p4HX+fwTc zVRS-xPW^&l5y@z6pB*BR8df`zzn0ywluy9dSmeW|AmKPSKf=c65iwT?_Wk!^ci1i@SEFT&b7q^P^+DR>o)N}&%e6k&QXT2m;Zb^IlI3)J%12B zuZ)>T@a6fZ^ZS$O?Y%iPB(>S|_H9y7>}|P*RX~q~3Z^y0WR00KlnB>XpCrWIoTi00 zXNejFytPb1xegcc`_+A#yD4y*E-FSJMHj<}IGep{lCov=SEgIs(lgsUE>q&_AWzmh zM~f`n+zl=%r)@|n%ZP|+P-bcosR0q4UQ_Wr7X?GQ8Q`mC&Oy8GjHH}781q-kBlL7B zhYDzLd5c0{ssdka@}?gR5s>{Mk~qB+`|A0%X_qg*MLG;bH~DXF>fg%u64>0(L9LLr zj=QDMDp*SEwOq<6p1%Eae6$nwyiI zAFDzaR}j~;m&e77rEG>2{rYX@mP!S8d*v`gNAenC4KJQ$BweBv@(4+HWrq9Z=^K^; z8AO`MK}t7X={`_KBxOVfrFZqNG8)mHt4(GC5o1a?l|n)h+po-F%RLsz*-OTxA&)^{ z2Te)tz2s-UlpYI0&D$IqW^vBJXTDAr?!>q%p_rqYTh z2UEkdQqf)+*;JW4GWK4($B-Ooi2GEi1`BV-(iKmMVZL44gg3)9NEXs2*eblt)cE6R z4Qm?NVJKeK)DCF?JNcjW?Ng|uN`gn=&20BO`SRf}Yic#5k)2d2k-|#v(9K4#GBCWBR^yD1^sv0VHcZ`4USAV%@gu8cYIokH}c19cCITxYDhVE<&40^2@i~ zcEdi}-@RDBn36Xj?Oq?rP_CvrD0S=mX7;k0e|0=hyB*A;C970vLN~itrdSLj+a@gD z!sNhG6Np2iapF|SIh>1a9YiXInJ8xu=d$*(^roYrno`3%e7Z!uEYNscf@eQ-%(6w4 znJwO@6+PajZ3ZKz@Tx1R5LI*;mCfk((VoHr|~#}yjqe@7}9)OO$>NQXJc$zANt zQ)8j=t$TFg)LzV{QGj@X9m!+$63dR-H}zLm)|m5IV*-WdHZ4z{JUa*tf-?H=R-3S* zZlhFcizUNOI-ac<869NUq=vR+xw~UE=61~5CG&*E`WzQGIwVaaUKGqI2$`)SR3`~> zY88$79QF{%fQqNJFvGJH;apwisB|6gRxFV{7X_C_Re?inDIkfKus(vEl=`Lsb!jfB zd1e&GQ=m)WXLTJSVf`MY{}q?VVj&KO@A-> z!bWfzsb9V<-+VVtZFj!gZFh#$pI5$i>GEJ5U^GW{{w>nUm+R$s6dgy%-x{o{sE2W) z8G;i9X9vz}k46$zwZDttbZqyD%Q221JS3N`x2tayMb7%Y1{-s0gNTU(eY?Mlq|H+1 zzK5nu$PF%-k2%Td7{y3DMkzggwv$)ZxL%s&gKj9KJA@|fA#|MqW8G^KB8GaUhp$mQ znwl77tr*AXl+ZCc(rLTF*K0fyh%!uwNR1IrH~V1%sSOh-aD0AEDz$pdX~~edA*VVH z(o#hSX{ol_|ChP4NjAu>OA7MC%q&***93SIYz1P zRLzDfvQJ-8&78<_M$=>E%eq@_zqe^9r(^-uus<_7V6>r6Z(oD(=3(UDrR*jqdeqyX zB8B`|A~v8V=mzv+)WGLAu~jH3HDH<5T3k3^Y%prwo7rKW^hr+W({`fQnHHX#tw`5_ zSQF{fwgFUubb8ZZ)c}30c&~V=9(~3UZy(Dn-SE(g4W#M41??rQL4>Tt*xt8n4~J0j ztAj`{uOzOsQgpz3z@#4)n5T_Cs2T zh7I#B4l7cnFkW&ssCyi%SUBLFv?FvDu=|AV4?Jfj_EdC?>mvGY`HDj)XF&PAK3Eget!oldKjpwc(|S(K?#&Otr8D!x-Ro zy0QnVn6}t(XOK$r>n>HvXtgWt3Kc=D@u6YJ+cA z6Ccn-IKau-TTaYvmRnZ?Ht(;@5JGg?gos+ZzCotFQ8ICL#H0p{hHF@9_SCRlB*wmN z^m8_NEsXngT`XRraz3I2KHkSWA}yLMvUfnvGhg3b!ZkwoLRC62njJudl4BExwPAC> zOM^pfEc`oPuh;-bQ0tgO*|io4{&dS0_EGw7G{jl1*n-hm43S~GJCP+jxcMW8@!{xg z@tC!Cn3#CAx_^G8!M86bI|Y#Z)9(Fx1$gx%*h0C;0nB z6S*90FH z{6Rd?sj`9`eMc3qPxIE61)l`fBWwl?WoqMg4QvSBr--YyhzN4z&mEJox8bHP+ zquFAupM_21Wg{c#;Wg@lM>jW!eknpZpcH&wRz*RwNE0*vbvK$H_UQXL=h}K$R-qaH zAGOUy5jB^44gade;!4Er=Hc@pvg;tkAuGbqugq$G2RgI$v00qaGRPDm##ad%R@jc1 zH?c`6%94l4`@HzfJlO-__HW^OF0oZ!pq+WgLJfy=3wJDT`4%xe6u@R|rEbT2#6nkt z_^TG`#GHau@%iz0p;+^TOV_GyW}6xFdyHd9fB&!b!@~-35Y1gdmP^2q4g=e&UD!PX zr4+B933&J_u-2dFbwV-F6+A9sx(OQ5^qJ`Nh0hdL280r@$CIF+ZhdEPp}8wArY%Od zKXmDDF+z9lUouder0ZdexE{t&d&`Rimis7-XBw{Qt>r#rp_gtoHxY^@G$tNEHDb&^ z1*M7}p~(DZ_DA8^hU<$cymwNhL}TOpA#fKc00~l4{is$ns5S$MF6F}`&n4@#0!8xH zCdHMrK%h^<2$`@-c(UK)J!&mbrE9>OU|^!q`36&lf4Ew%Lp5DR)?9vy)yI<@wVIf> zxC4|FCk`vvavjAu#-nEr)%a-)C<{y}nDb8{^5zqr^X+E;to5(K<{Kt~OyOd@ymP@?QOR?NV7dwXC>)RN$6 z3U~pHL>S(}oMXuNE?X*NZ+*}-y4`$^fC|I_xnClkEcS88GAg1u7=w+=#_lQ&lSH2NbL4X|1xTx=RDs@)ca zb~O=WVd9EuQC9nuEtP;WrsN~!>0znrf|mHTecK$aXOGKupeFL4)zSh=#$&2H>$r8Z zVTkJP&8VMPw=^e5Hf>DyMNB67$-YjMe?wF6= z)LwCKIdcvP;A?DNqD4QVE#|B>n2EH!u@lG`3t{7Qf{#AKJ0fO0OI}u+SELH>`yVSx z{IXrFkSU`D#Dl0-Dv}{}@ikWAiI9T6m>}O^Iz%;5d^n=0oCSzZFQE5^>rNzluW+lw z6@X@`6hs6`wY1=$ zz8{u+&>BOCZ5(3+RWUq@P!C{)E{$5EDCa!vV`tk^-R$Y3=u;KeZG!q4>(^<}j*>X3^fEi<#6@;1o*@E;$1QpU;fseK(QR z%4ySxsE|T6GejWzNYi=dU&`jGizCAxPRFY;xLL7mn#HamA?_z#M4Ifr$i(exqX8G3 zoFOXo8b1%a<^Q}PjovR0Z#&^pP`VY7-~9*>sC1CTnn4kPxgMTE?q}`rP;Rgvj-i`% zA4VA9G+%y-Tc$YKU5xG#DfSsq*B~3Q`lAEbDzM0b8H?fhdiE-$2I)FJRj;Lpvb#c5 z8X+1*X{6D~u!@_fDu0|EfX|=n-weQl-tX@bxO&Kp^Z{|LMR7S1r%@Fg6lc`oNU4%SJ~b1Md!0jWK;i)g{^4@#R5N*e_;XLC^)OF9xT zk&|5$cDA8Zaant0cK3xGr9`Hpd4{@dYe`&7dRwBFYPRmJHSl~QY zuX}_J9(@2GD9$ODS5Fucdv$84Y8?{!V!RdLHeCsmDl73vC%Yw@ZX67JUt%8iZ7B

      7}eH3Ydyjb=m?Sn99>Epq4Uys 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

      x>eLyUcGknuC;I!^f5lt_EJO~g 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

      ALLk2>LWJ1laNIF5!9f$i9=O$nZy@k;6PE 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

      vE)*K=wQ!45l$3#hVgmwqd!=6tT5?%vTXvo!|; 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%0DBdwA}K4sjWMWb>SGTce6r22$kR- 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 literal 0 HcmV?d00001 diff --git a/Reflib/FIC/FICEmailSubscribe.dll b/Reflib/FIC/FICEmailSubscribe.dll new file mode 100644 index 0000000000000000000000000000000000000000..f014acad40dc4b3668e00df9e5499596324c1cf3 GIT binary patch literal 64512 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 literal 0 HcmV?d00001 diff --git a/Reflib/FIC/FICExport.dll b/Reflib/FIC/FICExport.dll new file mode 100644 index 0000000000000000000000000000000000000000..f7d6a1ba048de95dcfb18f9a75abac11c055ecae GIT binary patch literal 161280 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 literal 0 HcmV?d00001 diff --git a/Reflib/FIC/FICIntf.dll b/Reflib/FIC/FICIntf.dll new file mode 100644 index 0000000000000000000000000000000000000000..c1ee0db11bc24b355214df743a1fde08fd60b661 GIT binary patch literal 142336 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 literal 0 HcmV?d00001 diff --git a/Reflib/FIC/FICIntfAdv.dll b/Reflib/FIC/FICIntfAdv.dll new file mode 100644 index 0000000000000000000000000000000000000000..044168ea9d6cf766397323407abecf4b4632b573 GIT binary patch literal 565760 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%0DPoC1i;4%L;(Cvfe3(46o>%$RDlSoTl=8TDOa~P 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¥n_+k%rL&`(x^9sgbf9su= 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 z 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%0Dy!M4OC}1p0 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ⓈPOc7?|Cu|4%V&ueygn12V@@ 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%0A<>1XVV^f&fLJ}?eM1{en; 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 Rt#96cF3sb8ivHhJ;6Ggkhw1+Ms&N@ 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 g3&fEQ(wL6$mCvth#zg=Cdg57m2cln&p$7EDU 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