// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
using System.Linq;
using System.Web.Mvc;
using Tools.CrashReporter.CrashReportWebSite.DataModels;
using Tools.CrashReporter.CrashReportWebSite.DataModels.Repositories;
using Tools.CrashReporter.CrashReportWebSite.ViewModels;
namespace Tools.CrashReporter.CrashReportWebSite.Controllers
{
/// Controls the start page.
public class HomeController : Controller
{
///
///
///
public HomeController(IUnitOfWork unitOfWork)
{
}
///
/// The main view of the home page.
///
public ActionResult Index()
{
using (var logTimer = new FAutoScopedLogTimer( this.GetType().ToString(), bCreateNewLog: true ))
{
var result = new CrashesViewModel();
using (var entitile = new CrashReportEntities())
{
var unitOfWork = new UnitOfWork(entitile);
result.BranchNames = unitOfWork.CrashRepository.GetBranchesAsListItems();
result.BranchNames.ForEach(data => data.Selected = false);
result.VersionNames = unitOfWork.CrashRepository.GetVersionsAsListItems();
result.VersionNames.ForEach(data => data.Selected = false);
result.PlatformNames = unitOfWork.CrashRepository.GetPlatformsAsListItems();
result.PlatformNames.ForEach(data => data.Selected = false);
result.EngineModes = unitOfWork.CrashRepository.GetEngineModesAsListItems();
result.EngineModes.ForEach(data => data.Selected = false);
result.EngineVersions = unitOfWork.CrashRepository.GetEngineVersionsAsListItems();
result.EngineVersions.ForEach(data => data.Selected = false);
result.IsVanilla = null;
result.GenerationTime = logTimer.GetElapsedSeconds().ToString("F2");
}
return View( "Index", result );
}
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
}
}
}