public static EMMADataSet.IndustryJobsDataTable GetJobs() { EMMADataSet.IndustryJobsDataTable table = new EMMADataSet.IndustryJobsDataTable(); lock (_tableAdapter) { _tableAdapter.Fill(table); } return table; }
private void UpdateIndustryJobsFromXML(CharOrCorp corc, XmlDocument fileXML) { EMMADataSet.IndustryJobsDataTable jobsData = new EMMADataSet.IndustryJobsDataTable(); try { XmlNodeList jobEntries = null; UpdateStatus(0, 1, "Getting industry jobs from file", "", false); jobEntries = EveAPI.GetResults(fileXML); UpdateStatus(1, 1, "", jobEntries.Count + " industry jobs found in file.", false); if (jobEntries != null && jobEntries.Count > 0) { UpdateStatus(0, jobEntries.Count, "Processing jobs", "", false); foreach (XmlNode jobEntry in jobEntries) { EMMADataSet.IndustryJobsRow jobRow = BuildIndustryJobRow(jobsData, jobEntry); if (IndustryJobs.GetJob(jobsData, jobRow.ID)) { // The job already exists in the database. Update if needed. EMMADataSet.IndustryJobsRow oldJobRow = jobsData.FindByID(jobRow.ID); if (oldJobRow.Completed != jobRow.Completed || oldJobRow.CompletedStatus != jobRow.CompletedStatus || oldJobRow.CompletedSuccessfully != jobRow.CompletedSuccessfully || oldJobRow.EndProductionTime.CompareTo(jobRow.EndProductionTime) != 0 || oldJobRow.PauseProductionTime.CompareTo(jobRow.PauseProductionTime) != 0) { oldJobRow.Completed = jobRow.Completed; oldJobRow.CompletedStatus = jobRow.CompletedStatus; oldJobRow.CompletedSuccessfully = jobRow.CompletedSuccessfully; oldJobRow.EndProductionTime = jobRow.EndProductionTime; oldJobRow.PauseProductionTime = jobRow.PauseProductionTime; } else { // No changes } } else { // This is a new job. Add it to the database. jobsData.AddIndustryJobsRow(jobRow); } } } if (jobsData != null && jobsData.Count > 0) { IndustryJobs.Store(jobsData); } } catch (Exception ex) { EMMAException emmaEx = ex as EMMAException; if (emmaEx == null) { // If we've caught a standard exception rather than an EMMA one then log it by creating a // new exception. // Note that we don't need to actually throw it.. emmaEx = new EMMAException(ExceptionSeverity.Error, "Error when adding industry jobs", ex); } SetLastAPIUpdateError(corc, APIDataType.IndustryJobs, ex.Message); UpdateStatus(-1, 0, "Error", ex.Message, true); } if (UpdateEvent != null) { UpdateEvent(this, new APIUpdateEventArgs(APIDataType.IndustryJobs, corc == CharOrCorp.Char ? _charID : _corpID, APIUpdateEventType.UpdateCompleted)); } }