/// <summary>
        /// Добавить новый джампер
        /// </summary>
        public void AddJumper()
        {
            if (CanAddJumper is false)
            {
                return;
            }

            if (HasChangesValidation() is false)
            {
                return;
            }

            var count    = Jumpers.Count + 1;
            var optionId = SelectedEpisodeOption.EpisodeOptionId;
            var jumper   = new Jumper {
                EpisodeOptionId = optionId, Number = count
            };

            Jumpers.Add(jumper);
            SelectedEpisodeOption.Jumpers.Add(Jumpers.Last());

            AddJumperToDb(jumper);

            SelectedJumper            = Jumpers.Last();
            EditableEpisodeTime       = ConvertToEpisodeTime(SelectedEpisodeOption, SelectedJumper);
            TempEpisodeOptionSnapshot = JsonConvert.SerializeObject(SelectedEpisodeOption);
            NotifyOfPropertyChange(() => Jumpers);
            NotifyOfPropertyChange(() => SelectedEpisodeOption);
            NotifyOfPropertyChange(() => CanRemoveJumper);
            NotifyOfPropertyChange(() => EpisodeDuration);
            NotifyEditingButtons();
        }
        /// <summary>
        /// Импорт настроек опции
        /// </summary>
        public void ImportOptionData()
        {
            if (CanImportOptionData is false)
            {
                return;
            }

            using (var ctx = new CVDbContext(AppDataPath))
            {
                var option = ctx.EpisodeOptions
                             .Include(eo => eo.Jumpers)
                             .First(eo => eo.EpisodeOptionId == SelectedEpisodeOption.EpisodeOptionId);
                if (option == null)
                {
                    throw new Exception("Опция не существует");
                }

                foreach (var jumper in option.Jumpers.ToList())
                {
                    ctx.Jumpers.Remove(jumper);
                    ctx.SaveChanges();
                }


                Jumpers.Clear();
                SelectedEpisodeOption.Jumpers.Clear();

                var count = 1;
                foreach (var j in ImportingEpisodeOption.Jumpers)
                {
                    var jumper = new Jumper
                    {
                        EpisodeOptionId = SelectedEpisodeOption.EpisodeOptionId,
                        StartTime       = j.StartTime,
                        SkipCount       = j.SkipCount,
                        Number          = count++
                    };

                    option.Jumpers.Add(jumper);
                    ctx.SaveChanges();
                    jumper = ctx.Jumpers.ToList().Last();
                    Jumpers.Add(jumper);
                    SelectedEpisodeOption.Jumpers.Add(jumper);
                }

                option.CreditsStart = ImportingEpisodeOption.CreditsStart;
                SelectedEpisodeOption.CreditsStart = ImportingEpisodeOption.CreditsStart;

                option.Duration = CalculatingDuration(option);
                SelectedEpisodeOption.Duration = CalculatingDuration(option);
                SelectedJumper      = Jumpers.First();
                EditableEpisodeTime = ConvertToEpisodeTime(SelectedEpisodeOption, SelectedJumper);
                ctx.SaveChanges();

                TempEpisodeOptionSnapshot = JsonConvert.SerializeObject(SelectedEpisodeOption);
                NotifyOfPropertyChange(() => SelectedEpisodeOption);
                NotifyOfPropertyChange(() => Jumpers);
                NotifyOfPropertyChange(() => CanImportOptionData);
                NotifyEditingButtons();
                NotifyTimeProperties();
            }
        }