using System.Linq; using Microsoft.AspNet.Identity.EntityFramework; using Sevomin.Models; using Sevomin.Models.Helpers; using System.Threading.Tasks; using System.Web.Mvc; using Sevomin.Models.Repositories; namespace Sevomin.WebFrontend.Controllers { public class HomeController : BaseController { IAdRepository _adRepository; public HomeController() : this(AdRepository.Current, new SevominUserManager(new UserStore(SevominDbContext.Current))) { } public HomeController(IAdRepository adRepositry, SevominUserManager userManager) { _adRepository = adRepositry; UserManager = userManager; } public SevominUserManager UserManager { get; private set; } public async Task Index() { if (!Request.IsAuthenticated) return View("Intro"); User user = await UserManager.FindByNameAsync(User.Identity.Name); if (user is Avalin) return View("AvalinIndex"); if (user is Dovomin) return View("DovominIndex"); return RedirectToAction("Index", "God"); } public ActionResult Ads(int id) { var ad = _adRepository.ListAll().SingleOrDefault(m => m.Id == id); if (ad == null) { return HttpNotFound(); } ad.ClickCount++; _adRepository.Save(); return Redirect(ad.Link); } } }