/// <inheritdoc/>
 public StoreMergedRepositoryAndQuitStep(
     Enum stepId,
     IStoryBoard storyBoard,
     Guid noteId,
     PullPushDirection direction,
     ILanguageService languageService,
     IFeedbackService feedbackService,
     ISettingsService settingsService,
     ICryptoRandomService randomService,
     IRepositoryStorageService repositoryStorageService,
     ICloudStorageClientFactory cloudStorageClientFactory)
     : base(stepId, storyBoard, languageService, feedbackService, settingsService, randomService, repositoryStorageService, cloudStorageClientFactory)
 {
     _noteId    = noteId;
     _direction = direction;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="PullPushStoryBoard"/> class.
 /// </summary>
 /// <param name="noteId">Sets the <see cref="NoteId"/> property.</param>
 /// <param name="direction">Sets the <see cref="Direction"/> property.</param>
 public PullPushStoryBoard(Guid noteId, PullPushDirection direction)
     : base(StoryBoardMode.GuiAndToasts)
 {
     RegisterStep(new ExistsCloudRepositoryStep(
                      PullPushStoryStepId.ExistsCloudRepository,
                      this,
                      Ioc.GetOrCreate <ILanguageService>(),
                      Ioc.GetOrCreate <IFeedbackService>(),
                      Ioc.GetOrCreate <ISettingsService>(),
                      Ioc.GetOrCreate <ICloudStorageClientFactory>()));
     RegisterStep(new DownloadCloudRepositoryStep(
                      PullPushStoryStepId.DownloadCloudRepository,
                      this,
                      Ioc.GetOrCreate <ILanguageService>(),
                      Ioc.GetOrCreate <IFeedbackService>(),
                      Ioc.GetOrCreate <ICloudStorageClientFactory>(),
                      Ioc.GetOrCreate <ISettingsService>()));
     RegisterStep(new DecryptCloudRepositoryStep(
                      PullPushStoryStepId.DecryptCloudRepository,
                      this,
                      Ioc.GetOrCreate <ILanguageService>(),
                      Ioc.GetOrCreate <IFeedbackService>(),
                      Ioc.GetOrCreate <ISettingsService>(),
                      Ioc.GetOrCreate <INoteRepositoryUpdater>()));
     RegisterStep(new IsSameRepositoryStep(
                      PullPushStoryStepId.IsSameRepository,
                      this,
                      Ioc.GetOrCreate <ILanguageService>(),
                      Ioc.GetOrCreate <IFeedbackService>(),
                      Ioc.GetOrCreate <IRepositoryStorageService>()));
     RegisterStep(new StoreMergedRepositoryAndQuitStep(
                      PullPushStoryStepId.StoreMergedRepositoryAndQuit,
                      this,
                      noteId,
                      direction,
                      Ioc.GetOrCreate <ILanguageService>(),
                      Ioc.GetOrCreate <IFeedbackService>(),
                      Ioc.GetOrCreate <ISettingsService>(),
                      Ioc.GetOrCreate <ICryptoRandomService>(),
                      Ioc.GetOrCreate <IRepositoryStorageService>(),
                      Ioc.GetOrCreate <ICloudStorageClientFactory>()));
 }