Example #1
0
        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();
            }
        }
Example #2
0
        /// <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();
        }
Example #3
0
        /// <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);
        }
Example #4
0
        /// <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));
            }
        }
Example #5
0
 /// <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;
 }