private void DoStoryStatusChange(StorySyncWorkerStoryStatus oldStatus, StorySyncWorkerStoryStatus newStatus) { OnStoryStatusChange?.Invoke(this, new StorySyncWorkerStoryStatusEventArgs() { OldStatus = oldStatus, NewStatus = newStatus }); }
public void SetStoryStatus(StorySyncWorkerStoryStatus newStatus) { lock (_storyStatusLock) { _SetStoryStatus(newStatus); } DoStoryStatusChange(newStatus); }
private void _SetStoryStatus(StorySyncWorkerStoryStatus newStatus) { if (newStatus == null) { throw new ArgumentNullException("newStatus"); } var storyID = newStatus.StoryID; if (!_storyStatusList.ContainsKey(storyID)) { _storyStatusList.Add(storyID, newStatus); } else { var existingStatus = _storyStatusList[storyID]; // Was the state changed from Error? If so, clear the error message. if (existingStatus.State == StorySyncWorkerStoryState.Error && newStatus.State != StorySyncWorkerStoryState.Error) { newStatus.ErrorMessage = String.Empty; } if (existingStatus.State != newStatus.State && newStatus.State == StorySyncWorkerStoryState.WaitingItu) { newStatus.LastItu = DateTime.Now; } // Did the state change? if so, update the LastStateChange timestamp if (existingStatus.State != newStatus.State) { newStatus.StateLastSet = DateTime.Now; } _storyStatusList[storyID] = newStatus; } }
private void DoStoryStatusChange(StorySyncWorkerStoryStatus newStatus) { var oldStatus = GetStoryStatus(newStatus.StoryID); DoStoryStatusChange(oldStatus, newStatus); }