public App(WMIService wmiService, DataSenderService dataSenderSerivce) { _wmiService = wmiService; _dataSenderSerivce = dataSenderSerivce; }
/// <summary> /// /// </summary> private void UpdateDeviceStatuses() { try { WMIService = new WMIService(EventLog); MattimonAgentLibrary.Models.Device scanDevice = WMIService.Scan(); string versAssignmentMessage = string.Empty; EventLogEntryType entrytype = EventLogEntryType.Information; scanDevice.AgentVersion = this.agentversion; scanDevice.AgentServiceVersion = this.agentServiceVersion; scanDevice.UpdateServiceVersion = this.updateServiceVersion; scanDevice.MattimonSQLServiceVersion = this.mattimonSQLServiceVersion; scanDevice.LibraryVersion = this.libraryVersion; EventLog.WriteEntry(versAssignmentMessage, entrytype, DEVICE_UPD_EVENT_ID + 1); /* set keys */ scanDevice.Company_Id = fetchedCompanyId; scanDevice.User_Id = fetchedUserId; scanDevice.Device_Id = fetchedDeviceId; scanDevice.Device_Type_Id = fetchedDeviceTypeId; /* end set keys */ EventLog.WriteEntry("Update Device statuses: \n\n" + "device_id: " + scanDevice.Device_Id + "\n" + "device_type_id: " + scanDevice.Device_Type_Id + "\n" + "user_id: " + scanDevice.User_Id + "\n" + "" + "company_id: " + scanDevice.Company_Id + "\n" + "agent version: " + scanDevice.AgentVersion, EventLogEntryType.Information, DEVICE_UPD_EVENT_ID); MattimonAgentLibrary.Models.Device returnedDevice = deviceRequests.UpdateDeviceEntry(scanDevice); scanDevice = null; if (returnedDevice.TaskCanceledException != null) { EventLog.WriteEntry("UpdateDeviceStatuses TaskCanceledException\n\n" + returnedDevice.TaskCanceledException.ToString(), EventLogEntryType.Error, DEVICE_UPD_EVENT_ID); return; } if (returnedDevice.HttpRequestException != null) { EventLog.WriteEntry("UpdateDeviceStatuses HttpRequestException\n\n" + returnedDevice.HttpRequestException.ToString(), EventLogEntryType.Error, DEVICE_UPD_EVENT_ID); //MattimonAgentLibrary.Tools.MyServiceController.StopService(ServiceName); return; } if (returnedDevice.MySqlExceptionMessage != null) { EventLog.WriteEntry("UpdateDeviceStatuses MySqlException\n\n" + returnedDevice.MySqlExceptionMessage, EventLogEntryType.Error, DEVICE_UPD_EVENT_ID); //MattimonAgentLibrary.Tools.MyServiceController.StopService(ServiceName); return; } if (returnedDevice.Exception != null) { EventLog.WriteEntry("UpdateDeviceStatuses Exception\n\n" + returnedDevice.Exception.ToString(), EventLogEntryType.Error, DEVICE_UPD_EVENT_ID); //MattimonAgentLibrary.Tools.MyServiceController.StopService(ServiceName); return; } if (returnedDevice.RequestSuccess) { EventLog.WriteEntry("UpdateDeviceStatuses Success\n\n", EventLogEntryType.Information, DEVICE_UPD_EVENT_ID); return; } } catch (Exception ex) { EventLog.WriteEntry(ex.Message + "\n\n" + ex.ToString(), EventLogEntryType.Error, DEVICE_UPD_EVENT_ID); if (MattimonAgentLibrary.Tools.MyServiceController.GetServiceStatus(ServiceName) == MattimonAgentLibrary.Tools.MyServiceController.ServiceState.Running) { MattimonAgentLibrary.Tools.MyServiceController.StopService(ServiceName); } } }