Example #1
0
        public void Controller_Game_Post_GetResults_Invalid_Model_Should_Return_Error()
        {
            // Arrange
            var controller = new GameController();

            // Make ModelState Invalid
            controller.ModelState.AddModelError("test", "test");

            var data        = DataSourceBackend.Instance.StudentBackend.GetDefault();
            var studentData = new StudentInputModel
            {
                Id = data.Id
            };

            // Act
            var result     = (JsonResult)controller.GetResults(studentData);
            var dataResult = result.Data.GetType().GetProperty("Error", BindingFlags.Instance | BindingFlags.Public);
            var dataVal    = dataResult.GetValue(result.Data, null);

            // Reset
            DataSourceBackend.Instance.Reset();

            // Assert
            Assert.AreEqual(true, dataVal, TestContext.TestName);
        }
Example #2
0
        public IHttpActionResult Update(int id, StudentInputModel student)
        {
            if (!this.ModelState.IsValid)
            {
                return(BadRequest(this.ModelState));
            }

            var studentFromDatabase = this.data.Students
                                      .All()
                                      .FirstOrDefault(s => s.Id == id);

            if (studentFromDatabase == null)
            {
                return(BadRequest("Student not exist!"));
            }

            studentFromDatabase.FirstName = student.FirstName;
            studentFromDatabase.LastName  = student.LastName;
            studentFromDatabase.Age       = student.Age;
            studentFromDatabase.Email     = student.Email;
            studentFromDatabase.Number    = student.Number;
            studentFromDatabase.Status    = (StudentStatus)Enum.Parse(typeof(StudentStatus), student.Status);

            this.data.Students.SaveChanges();

            return(Ok(student));
        }
Example #3
0
        public ActionResult GetResults([Bind(Include =
                                                 "Id," +
                                                 "")] StudentInputModel data)
        {
            if (!ModelState.IsValid)
            {
                // Send back for edit
                return(Json(new
                {
                    Error = true,
                    Msg = "Invalid State",
                    Data = string.Empty,
                }));
            }

            //var DataResult = DataSourceBackend.Instance.GameBackend.Simulation();
            var result = DataSourceBackend.Instance.GameBackend.GetResult(data.Id);

            return(Json(new
            {
                Error = false,
                Msg = "OK",
                Data = result,
            }));
        }
Example #4
0
        public void Models_StudentInputModel_Default_Instantiate_Should_Pass()
        {
            // Act
            var result = new StudentInputModel();

            // Assert
            Assert.IsNotNull(result, TestContext.TestName);
        }
Example #5
0
        public void Models_StudentInputModel_Default_Get_Set_Should_Pass()
        {
            // Act
            var result = new StudentInputModel();
            var expect = "id";

            result.Id = expect;

            // Assert
            Assert.AreEqual(expect, result.Id, TestContext.TestName);
        }
Example #6
0
        public IActionResult Add(StudentInputModel input)
        {
            if (!ModelState.IsValid)
            {
                return(View(input));
            }

            var student = _mapper.Map <Student>(input);

            _studentService.AddStudent(student);
            _studentService.SaveChanges();

            _logger.LogInformation("{user} added student {student}", User.Identity.Name, student.Id);

            return(RedirectToAction("View", new { id = student.Id }));
        }
Example #7
0
        public IHttpActionResult Create(StudentInputModel student)
        {
            if (!this.ModelState.IsValid)
            {
                return(BadRequest(this.ModelState));
            }

            var newStudent = new Student
            {
                FirstName = student.FirstName,
                LastName  = student.LastName,
                Number    = student.Number,
                Age       = student.Age,
                Status    = (StudentStatus)Enum.Parse(typeof(StudentStatus), student.Status)
            };

            this.data.Students.Add(newStudent);
            this.data.Students.SaveChanges();

            return(Ok(newStudent));
        }
        public IHttpActionResult Create(StudentInputModel student)
        {
            if (!this.ModelState.IsValid)
            {
                return BadRequest(this.ModelState);
            }

            var newStudent = new Student
            {
                FirstName = student.FirstName,
                LastName = student.LastName,
                Number = student.Number,
                Age = student.Age,
                Status = (StudentStatus)Enum.Parse(typeof(StudentStatus), student.Status)
            };

            this.data.Students.Add(newStudent);
            this.data.Students.SaveChanges();

            return Ok(newStudent);
        }
Example #9
0
        public async Task <T> CreateStudent <T>(StudentInputModel inputModel)
        {
            var schoolId = int.Parse(inputModel.SchoolId);
            var school   = _schoolsRepository.All().FirstOrDefault(s => s.Id == schoolId);

            if (school != null)
            {
                var classId = int.Parse(inputModel.ClassId);
                if (school.Classes.Any(c => c.Id == classId))
                {
                    var student = new Student
                    {
                        FirstName = inputModel.FirstName,
                        LastName  = inputModel.LastName,
                        BirthDate = inputModel.BirthDate,
                        PersonalIdentificationNumber = inputModel.PersonalIdentificationNumber,
                        School   = school,
                        Class    = school.Classes.FirstOrDefault(c => c.Id == classId),
                        UniqueId = _idGeneratorService.GenerateStudentId()
                    };

                    await _studentsRepository.AddAsync(student);

                    await _studentsRepository.SaveChangesAsync();

                    BasePersonModel baseModel = _studentsRepository.All().FirstOrDefault(p =>
                                                                                         p.FirstName == inputModel.FirstName && p.LastName == inputModel.LastName && p.PersonalIdentificationNumber == inputModel.PersonalIdentificationNumber); //ToDo: Just change to uniqueId from student above

                    return(AutoMapperConfig.MapperInstance.Map <T>(baseModel));
                }

                throw new ArgumentException($"Sorry, school with id {schoolId} doesn't contain class with id {classId}");
            }

            throw new ArgumentException($"Sorry, we couldn't find school with id {schoolId}");
        }
Example #10
0
        public IActionResult Edit(int id, StudentInputModel input)
        {
            if (!ModelState.IsValid)
            {
                return(View(input));
            }

            var student = _studentService.GetStudent(id);

            if (student == null)
            {
                return(View("Error", new ErrorViewModel
                {
                    Message = "This student does not exist."
                }));
            }

            _mapper.Map(input, student);
            _studentService.SaveChanges();

            _logger.LogInformation("{user} edited student {student}", User.Identity.Name, id);

            return(RedirectToAction("View", new { id = student.Id }));
        }
Example #11
0
 public IActionResult Set(StudentInputModel input)
 {
     return(new JsonResult(input));
 }
        public IHttpActionResult Update(int id, StudentInputModel student)
        {
            if (!this.ModelState.IsValid)
            {
                return BadRequest(this.ModelState);
            }

            var studentFromDatabase = this.data.Students
                .All()
                .FirstOrDefault(s => s.Id == id);

            if(studentFromDatabase == null)
            {
                return BadRequest("Student not exist!");
            }

            studentFromDatabase.FirstName = student.FirstName;
            studentFromDatabase.LastName = student.LastName;
            studentFromDatabase.Age = student.Age;
            studentFromDatabase.Email = student.Email;
            studentFromDatabase.Number = student.Number;
            studentFromDatabase.Status = (StudentStatus)Enum.Parse(typeof(StudentStatus), student.Status);

            this.data.Students.SaveChanges();

            return Ok(student);
        }