public void FromIEnumerableAnswerViewModel_RetrieveAnswerModelParents_WithParents() { // arrange var from = new AnswerViewModel { ParentsInfo = new List <AnswerInfoViewModel>() { new AnswerInfoViewModel { EthnicityCode = 1, FirstName = "First Name Parent", GenderCode = 2, LastName = "Last Name Parent", RegionCode = 4, SchoolingCode = 5 }, new AnswerInfoViewModel { EthnicityCode = 6, FirstName = "First Name Parent 2", GenderCode = 7, LastName = "Last Name Parent 2", RegionCode = 8, SchoolingCode = 9 } } }; // act var result = from.RetrieveAnswerModelParents(); // assert var parentsInfoOrigin = from.ParentsInfo.ToList(); var parentsInfoDestiny = result.ToList(); for (var i = 0; i < from.ParentsInfo.Count(); i++) { Assert.Equal(parentsInfoOrigin[i].EthnicityCode, parentsInfoDestiny[i].EthnicityId);; Assert.Equal(parentsInfoOrigin[i].FirstName, parentsInfoDestiny[i].FirstName); Assert.Equal(parentsInfoOrigin[i].GenderCode, parentsInfoDestiny[i].GenderId); Assert.Equal(parentsInfoOrigin[i].LastName, parentsInfoDestiny[i].LastName); Assert.Equal(parentsInfoOrigin[i].RegionCode, parentsInfoDestiny[i].RegionId); Assert.Equal(parentsInfoOrigin[i].SchoolingCode, parentsInfoDestiny[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)); } }