public void FromIEnumerableAnswerViewModel_RetrieveAnswerModelParents_WithoutChildren() { // arrange var from = new AnswerViewModel(); // act var result = from.RetrieveAnswerModelChildren(); // assert Assert.Null(result); }
public void FromIEnumerableAnswerViewModel_RetrieveAnswerModelChildren_WithChildren() { // arrange var from = new AnswerViewModel { ChildrenInfo = new List <AnswerInfoViewModel>() { new AnswerInfoViewModel { EthnicityCode = 1, FirstName = "First Name Child", GenderCode = 2, LastName = "Last Name Child", RegionCode = 4, SchoolingCode = 5 }, new AnswerInfoViewModel { EthnicityCode = 6, FirstName = "First Name Child 2", GenderCode = 7, LastName = "Last Name Child 2", RegionCode = 8, SchoolingCode = 9 } } }; // act var result = from.RetrieveAnswerModelChildren(); // assert var childrenInfoOrigin = from.ChildrenInfo.ToList(); var childrenInfoDestiny = result.ToList(); for (var i = 0; i < from.ChildrenInfo.Count(); i++) { Assert.Equal(childrenInfoOrigin[i].EthnicityCode, childrenInfoDestiny[i].EthnicityId);; Assert.Equal(childrenInfoOrigin[i].FirstName, childrenInfoDestiny[i].FirstName); Assert.Equal(childrenInfoOrigin[i].GenderCode, childrenInfoDestiny[i].GenderId); Assert.Equal(childrenInfoOrigin[i].LastName, childrenInfoDestiny[i].LastName); Assert.Equal(childrenInfoOrigin[i].RegionCode, childrenInfoDestiny[i].RegionId); Assert.Equal(childrenInfoOrigin[i].SchoolingCode, childrenInfoDestiny[i].SchoolingId); } }
public async Task <ActionResult <AnswerViewModel> > Post([FromBody] AnswerViewModel value) { try { var census = value.ToAnswerModel(); var parents = value.RetrieveAnswerModelParents(); var children = value.RetrieveAnswerModelChildren(); var result = await _repository.CreateWithParentsAndChidrenAsync(census, parents, children); // updatnng information for dashboard var results = (await _repository.DashboardCount()).ToList(); await _dashboardHub.SendMessage(new { regions = results[0], genders = results[1], schoolings = results[2], ethnicities = results[3] }); return(CreatedAtAction(nameof(Get), new { id = result.Id }, result.ToAnswerViewModel())); } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message)); } }