public IActionResult PaybackCalculator([FromServices] ExecutionContextKeyHelper keyHelper) { // Ending existing game if there is any keyHelper.ClearExecutionContextId(); // Starting new game var executionContextId = Guid.NewGuid(); keyHelper.SetExecutionContextId(executionContextId); var defaultGame = new CreateProjectInputViewModel() { Name = DateTime.Now.ToString(), Budget = 100000 }; var project = Mapper.Map <Project>(defaultGame); project.Id = executionContextId; Framework.Projects.Create(project); var model = new CreatePaybackCalculationWebshopInputViewModel() { Name = "Payback calculation example", ProductCostPercentage = 80, OfflineServiceCostPercentage = 2, OnlineServiceCostPercentage = 1 }; return(View(model)); }
public IActionResult PaybackCalculator(CreatePaybackCalculationWebshopInputViewModel model) { if (!ModelState.IsValid || !IsFeaturesSelectionValid(model.Features)) { return(View(model)); } if (model.Features == null) { model.Features = new List <Guid>(); } model.Features = model.Features.Concat(new[] { BusinessConstants.WebshopFeatureId.Standard }); model.IterationNumber = Framework.Context.IterationNumber; model.OfflineUsersCount = model.GetOfflineUsersCount(); model.OfflineAverageOrderAmount = model.AverageOrderValue; var webshop = Mapper.Map <Webshop>(model); webshop.ProjectId = Framework.Context.ProjectId.Value; Framework.Webshops.Create(webshop); return(RedirectToAction("Index")); }