コード例 #1
0
        //public IHttpActionResult Get(int id)
        //{
        //   if(id <= 0)
        //    {
        //        return BadRequest("Scenario Id is required");
        //    }
        //   var scenario = _scenarioService.Gets
        //}


        /// <summary>
        /// Posts the specified scenario.
        /// </summary>
        /// <param name="scenario">The scenario.</param>
        /// <response code="200"> Created</response>
        /// <response code="400"> parameter issue</response>
        /// <response code="500">Other issues, see message included</response>
        public IHttpActionResult Post([FromBody] ScenarioDto scenario)
        {
            if (scenario == null)
            {
                return(BadRequest("Scenario Id is required"));
            }

            try
            {
                ScenarioDto scenarioDto = _scenarioService.AddScenario(
                    new ScenarioDto
                {
                    Label    = scenario.Label,
                    Text     = scenario.Text,
                    GameOver = scenario.GameOver
                }
                    );

                return(Ok(scenarioDto));
            }
            catch (Exception e)
            {
                return(InternalServerError(e));
            }
        }
コード例 #2
0
 public ScenarioDto AddScenario(ScenarioDto scenario)
 {
     using (ScenarioRepository _scenarioRepo = new ScenarioRepository())
     {
         return(_scenarioRepo.AddScenario(scenario));
     }
 }
コード例 #3
0
        public ActionResult <ScenarioDto> GetScenario(int scenarioId)
        {
            IEnumerable <ScenarioDefinition> scenarioDefinitions = _scenarioRunner.GetScenarioDefinitions();
            IEnumerable <ScenarioSession>    scenarioSessions    = _dataAccessService.GetScenarioSessions(User.Identity.Name);

            ScenarioDefinition scenarioDefinition = scenarioDefinitions.FirstOrDefault(s => s.Id == scenarioId);

            if (scenarioDefinition != null)
            {
                var scenarioSession = scenarioSessions.FirstOrDefault(ss => ss.ScenarioId == scenarioDefinition.Id);
                var scenario        = new ScenarioDto
                {
                    Name        = scenarioDefinition.Name,
                    Id          = scenarioId.ToString(),
                    IsActive    = scenarioSession != null,
                    CurrentStep = scenarioSession?.CurrentStep ?? 0,
                    SessionId   = scenarioSession?.ScenarioSessionId ?? 0,
                    StartTime   = scenarioSession?.StartTime ?? DateTime.MinValue,
                    Steps       = scenarioDefinition.Steps.Select(s => new ScenarioStepDto {
                        Id = s.Id, Caption = s.Caption
                    }).ToArray()
                };

                return(Ok(scenario));
            }

            return(BadRequest());
        }
コード例 #4
0
        public ScenarioDto AddScenario(ScenarioDto scenario)
        {
            Scenario newScenario     = scenario.ToEntity();
            var      scenarioCreated = _dbcontext.Scenario.Add(newScenario);

            _dbcontext.SaveChanges();
            return(scenarioCreated.ToDto(scenario.Choices));
        }
コード例 #5
0
 public static Scenario ToEntity(this ScenarioDto dto)
 {
     return(new Scenario
     {
         Label = dto.Label,
         Text = dto.Text,
         GameOver = dto.GameOver
     });
 }
コード例 #6
0
 public void RecordScenario(FeatureContext featureContext, ScenarioContext scenarioContext)
 {
     if (featureContext.TryGetValue(out FeatureDto featureDto))
     {
         ScenarioDto scenario = new ScenarioDto
         {
             Title = GetScenarioTitle(scenarioContext),
             Steps = new List <StepDto>(),
             Tags  = scenarioContext.ScenarioInfo.Tags
         };
         featureDto.Scenarios.Add(scenario.Title, scenario);
     }
 }
コード例 #7
0
        public ScenarioDto GetScenario(int id)
        {
            try
            {
                List <Choice> choiceList = _dbcontext.Choice.ToList();

                //transform to DTO, and send to upper layer
                List <ChoiceDto> choices = choiceList.Where(x => x.CurrentScenarioId == id).
                                           Select(x => new ChoiceDto
                {
                    CurrentScenarioId = x.CurrentScenarioId,
                    NextScenarioId    = x.NextScenarioId,
                    Text = x.Text,
                }).ToList();

                ScenarioDto scenarioEntities = _dbcontext.Scenario.Find(id).ToDto(choices);
                return(scenarioEntities);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                throw;
            }
        }
コード例 #8
0
        public IHttpActionResult Get(int id)
        {
            ScenarioDto scenario = _scenarioService.GetScenario(id);

            return(Ok(scenario));
        }