Ejemplo n.º 1
0
        public async Task UserEpisodeView(string webtoonTitleNumber, string episodeNumber, string userId)
        {
            var episodeId = this.episodesService.GetEpisodeId(webtoonTitleNumber, episodeNumber);

            var userEpisodeView = this.episodesViewsRepository.All().FirstOrDefault(ev => ev.ApplicationUserId == userId & ev.EpisodeId == episodeId);

            if (userEpisodeView == null)
            {
                userEpisodeView = new EpisodeView
                {
                    ApplicationUserId = userId,
                    EpisodeId         = episodeId,
                    LastViewedOn      = DateTime.UtcNow,
                    ViewCount         = 1,
                };

                await this.episodesViewsRepository.AddAsync(userEpisodeView);
            }
            else
            {
                var dateTimeDiff = DateTime.UtcNow.Subtract(userEpisodeView.LastViewedOn);
                if (dateTimeDiff.TotalHours > 24)
                {
                    userEpisodeView.ViewCount++;
                    userEpisodeView.LastViewedOn = DateTime.UtcNow;
                }
            }

            await this.episodesViewsRepository.SaveChangesAsync();
        }
Ejemplo n.º 2
0
        public EpisodePresenter(SeriesRepository repository, EpisodeView view)
        {
            ContentView = view;
            ContentView.SetCommands(
                new RelayCommand(Previous, () => repository.CanChangeFlow),
                new RelayCommand(Next, () => repository.CanChangeFlow),
                new RelayCommand(Bookmark, () => false),
                new RelayCommand(Download, () => false));

            Repository = repository;
        }