/// <summary> /// Try to update this job with a serialization object from the API. /// </summary> /// <param name="src">The serializable source.</param> /// <returns>True if import sucessful otherwise, false.</returns> internal bool TryImport(SerializableJobListItem src) { // Note that, before a match is found, all jobs have been marked for deletion : m_markedForDeletion == true // Checks whether ID is the same if (!MatchesWith(src)) { return(false); } // Prevent deletion m_markedForDeletion = false; // Update infos (if ID is the same it may have been modified) if (IsModified(src)) { m_endProductionTime = src.EndProductionTime; m_pauseProductionTime = src.PauseProductionTime; m_state = (m_pauseProductionTime == DateTime.MinValue ? JobState.Active : JobState.Paused); m_activeJobState = GetActiveJobState(); } // Update state JobState state = GetState(src); if (m_state != JobState.Paused && state != m_state) { m_state = state; } return(true); }
/// <summary> /// Constructor from the API. /// </summary> /// <param name="src"></param> internal IndustryJob(SerializableJobListItem src) { m_state = GetState(src); m_jobID = src.JobID; m_installedItemID = src.InstalledItemTypeID; m_installedItem = StaticBlueprints.GetBlueprintByID(src.InstalledItemTypeID); m_outputItemID = src.OutputTypeID; m_outputItem = GetOutputItem(src.OutputTypeID); m_runs = src.Runs; m_activity = (BlueprintActivity)Enum.ToObject(typeof(BlueprintActivity), src.ActivityID); m_blueprintType = (BlueprintType)Enum.ToObject(typeof(BlueprintType), src.InstalledItemCopy); m_installation = GetInstallation(src.OutputLocationID); m_solarSystem = StaticGeography.GetSystem(src.SolarSystemID); m_installedTime = src.InstallTime; m_installedItemME = src.InstalledItemMaterialLevel; m_installedItemPE = src.InstalledItemProductivityLevel; m_beginProductionTime = src.BeginProductionTime; m_endProductionTime = src.EndProductionTime; m_pauseProductionTime = src.PauseProductionTime; m_lastStateChange = DateTime.UtcNow; m_issuedFor = src.IssuedFor; m_activeJobState = GetActiveJobState(); }
/// <summary> /// Constructor from the API. /// </summary> /// <param name="src"></param> internal IndustryJob(SerializableJobListItem src) { m_state = GetState(src); m_jobID = src.JobID; m_installedItemID = src.InstalledItemTypeID; m_installedItem = StaticBlueprints.GetBlueprintByID(src.InstalledItemTypeID); m_outputItemID = src.OutputTypeID; m_outputItem = GetOutputItem(src.OutputTypeID); m_runs = src.Runs; m_activity = (BlueprintActivity) Enum.ToObject(typeof (BlueprintActivity), src.ActivityID); m_blueprintType = (BlueprintType) Enum.ToObject(typeof (BlueprintType), src.InstalledItemCopy); m_installation = GetInstallation(src.OutputLocationID); m_solarSystem = StaticGeography.GetSystem(src.SolarSystemID); m_installedTime = src.InstallTime; m_installedItemME = src.InstalledItemMaterialLevel; m_installedItemPE = src.InstalledItemProductivityLevel; m_beginProductionTime = src.BeginProductionTime; m_endProductionTime = src.EndProductionTime; m_pauseProductionTime = src.PauseProductionTime; m_lastStateChange = DateTime.UtcNow; m_issuedFor = src.IssuedFor; m_activeJobState = GetActiveJobState(); }
/// <summary> /// Constructor from an object deserialized from the settings file. /// </summary> /// <param name="src"></param> internal IndustryJob(SerializableJob src) { m_ignored = src.Ignored; m_jobID = src.JobID; m_state = src.State; m_installedItemID = src.InstalledItemID; m_installedItem = StaticBlueprints.GetBlueprintByID(src.InstalledItemID); m_outputItemID = src.OutputItemID; m_outputItem = GetOutputItem(src.OutputItemID); m_runs = src.Runs; m_activity = src.Activity; m_blueprintType = src.BlueprintType; m_installation = src.ItemLocation; m_solarSystem = StaticGeography.GetSystem(src.SolarSystemID); m_installedTime = src.InstalledTime; m_installedItemME = src.InstalledItemME; m_installedItemPE = src.InstalledItemPE; m_beginProductionTime = src.BeginProductionTime; m_endProductionTime = src.EndProductionTime; m_pauseProductionTime = src.PauseProductionTime; m_lastStateChange = src.LastStateChange; m_issuedFor = src.IssuedFor; m_activeJobState = GetActiveJobState(); }
/// <summary> /// Try to update this job with a serialization object from the API. /// </summary> /// <param name="src">The serializable source.</param> /// <returns>True if import sucessful otherwise, false.</returns> internal bool TryImport(SerializableJobListItem src) { // Note that, before a match is found, all jobs have been marked for deletion : m_markedForDeletion == true // Checks whether ID is the same if (!MatchesWith(src)) return false; // Prevent deletion m_markedForDeletion = false; // Update infos (if ID is the same it may have been modified) if (IsModified(src)) { m_endProductionTime = src.EndProductionTime; m_pauseProductionTime = src.PauseProductionTime; m_state = (m_pauseProductionTime == DateTime.MinValue ? JobState.Active : JobState.Paused); m_activeJobState = GetActiveJobState(); } // Update state JobState state = GetState(src); if (m_state != JobState.Paused && state != m_state) m_state = state; return true; }