public ViewResult Index()
{
var experiments = _experimentQueries
.FindAllExperiments()
.Select(exp => new DashboardIndexViewModel.ExperimentViewModel
{
Name = exp.Name,
Results = new ABingoStyleFormatter(new ABsoluteMaybeStatistics(exp)).ToString(),
Started = exp.DateStarted,
Ended = exp.DateEnded,
IsEnded = exp.DateEnded != null,
TotalParticipants = exp.Options.Sum(o => o.Participants),
TotalConversions = exp.Options.Sum(o => o.Conversions),
Options = exp.Options.Select(o =>
new DashboardIndexViewModel.ExperimentViewModel.OptionViewModel
{
Name = o.Name,
IsAlwaysUseOption = o.Name == exp.AlwaysUseOption,
Participants = o.Participants,
Conversions = o.Conversions,
ConversionRate = o.Participants > 0
? (double)o.Conversions / o.Participants
: (double?)null
}
)
});
return View(new DashboardIndexViewModel
{
Experiments = experiments
});
}