private void ChangeSelectedVoiceOver(CartoonVoiceOver value) { if (IsDesignTime) { _selectedVoiceOver = value; NotifyOfPropertyChange(() => SelectedEpisode); return; } if (_selectedVoiceOver == value) { return; } IdList.VoiceOverId = value?.CartoonVoiceOverId ?? 0; if (value == null) { _selectedVoiceOver = null; NotifyVoiceOverData(); } else { LoadData(); } }
/// <summary> /// Создание новой опции эпизода с джампером /// </summary> /// <param name="ctx">база данных</param> /// <param name="episode">созданный эпизод</param> /// <param name="voiceOver">активная озвучка</param> private void CreateNewEpisodeOption(CVDbContext ctx, CartoonEpisode episode, CartoonVoiceOver voiceOver) { // создание новой опции var episodeOption = new EpisodeOption { CartoonEpisodeId = episode.CartoonEpisodeId, CartoonVoiceOverId = voiceOver.CartoonVoiceOverId, Name = $"{voiceOver.Name}_Option" }; ctx.EpisodeOptions.Add(episodeOption); ctx.SaveChanges(); episodeOption = ctx.EpisodeOptions.ToList().Last(); // создание нового джампера var jumper = new Jumper { EpisodeOptionId = episodeOption.EpisodeOptionId, Number = 1 }; ctx.Jumpers.Add(jumper); ctx.SaveChanges(); episodeOption = ctx.EpisodeOptions.ToList().Last(); episodeOption.Duration = CalculatingDuration(episodeOption); ctx.SaveChanges(); }
/// <summary> /// Создание нового эпизода с активной озвучкой /// </summary> /// <param name="ctx">база данных</param> /// <param name="voiceOver">активная озвучка</param> private CartoonEpisode CreateNewEpisode(CVDbContext ctx, CartoonVoiceOver voiceOver) { var count = _episodes.Count + 1; // создание эпизода с активной озвучкой var episode = new CartoonEpisode { CartoonSeasonId = GlobalIdList.SeasonId, CartoonId = GlobalIdList.CartoonId, CartoonVoiceOver = voiceOver, Name = $"{count}-й эпизод", Description = $"{count}-й эпизод", Number = count }; ctx.CartoonEpisodes.Add(episode); ctx.SaveChanges(); // загрузка эпизода с ID episode = ctx.CartoonEpisodes.ToList().Last(); // добавление эпизода в список выбранных эпизодов озвучки voiceOver.CheckedEpisodes.Add(episode); episode.EpisodeVoiceOvers.Add(voiceOver); ctx.SaveChanges(); return(episode); }
/// <summary> /// Создать новую озвучку в БД /// </summary> /// <returns></returns> private CartoonVoiceOver CreateNewVoiceOver() { using (var ctx = new CVDbContext(Helpers.SettingsHelper.AppDataPath)) { var count = ctx.VoiceOvers.Max(vo => vo.CartoonVoiceOverId) + 1; var newVoiceOver = new CartoonVoiceOver { Name = $"Озвучка_{count}", UrlParameter = "", Description = $"Описание озвучки_{count}" }; ctx.VoiceOvers.Add(newVoiceOver); ctx.SaveChanges(); var id = ctx.VoiceOvers.ToList().Last().CartoonVoiceOverId; return(ctx.VoiceOvers.Find(id)); } }
/// <summary> /// Копировать изменения редактируемой озвучки /// </summary> /// <param name="original">Объект, данные которого требуется изменить</param> /// <param name="copy">Копия с последними изменениями</param> private void CopyChanges(ref CartoonVoiceOver original, CartoonVoiceOver copy) { original.Name = copy.Name; original.UrlParameter = copy.UrlParameter; original.Description = copy.Description; }