cloutier--bird.makeup/src/BirdsiteLive/Controllers/AboutController.cs

59 lines
1.8 KiB
C#
Raw Normal View History

2021-02-22 23:28:24 -05:00
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
2021-02-24 00:27:16 -05:00
using BirdsiteLive.Domain.Repository;
using BirdsiteLive.Services;
2021-02-22 23:28:24 -05:00
namespace BirdsiteLive.Controllers
{
public class AboutController : Controller
{
2021-02-24 00:27:16 -05:00
private readonly IModerationRepository _moderationRepository;
private readonly ICachedStatisticsService _cachedStatisticsService;
#region Ctor
public AboutController(IModerationRepository moderationRepository, ICachedStatisticsService cachedStatisticsService)
2021-02-22 23:28:24 -05:00
{
2021-02-24 00:27:16 -05:00
_moderationRepository = moderationRepository;
_cachedStatisticsService = cachedStatisticsService;
}
#endregion
public async Task<IActionResult> Index()
{
var stats = await _cachedStatisticsService.GetStatisticsAsync();
return View(stats);
2021-02-22 23:28:24 -05:00
}
public IActionResult Blacklisting()
{
2021-02-24 00:27:16 -05:00
var status = GetModerationStatus();
return View("Blacklisting", status);
2021-02-22 23:28:24 -05:00
}
public IActionResult Whitelisting()
{
2021-02-24 00:27:16 -05:00
var status = GetModerationStatus();
return View("Whitelisting", status);
}
private ModerationStatus GetModerationStatus()
{
var status = new ModerationStatus
{
Followers = _moderationRepository.GetModerationType(ModerationEntityTypeEnum.Follower),
TwitterAccounts = _moderationRepository.GetModerationType(ModerationEntityTypeEnum.TwitterAccount)
};
return status;
2021-02-22 23:28:24 -05:00
}
}
2021-02-24 00:27:16 -05:00
public class ModerationStatus
{
public ModerationTypeEnum Followers { get; set; }
public ModerationTypeEnum TwitterAccounts { get; set; }
}
2021-02-22 23:28:24 -05:00
}