public void Insert_SurveyAnswerDtoNull_ReturnSurveyAnswerDto() { int id = _fixture.Create<int>(); int surveyId = _fixture.Create<int>(); DateTime respondDate = _fixture.Create<DateTime>(); var surveyAnswer = new SurveyAnswer() { Id = id, SurveyId = surveyId, RespondDate = respondDate }; var expectedsurveyAnswerDto = new SurveyAnswerDto() { Id = id, SurveyId = surveyId, RespondDate = respondDate }; _surveyAnswerAppRepository.Setup(x => x.Create(It.IsAny<SurveyAnswer>())).Throws<ArgumentNullException>(); var actual = _sut.Insert(null); }
public void Insert_SurveyAnswerDtoNotNull_ReturnSurveyAnswerDto() { int id = _fixture.Create<int>(); int surveyId = _fixture.Create<int>(); DateTime respondDate = _fixture.Create<DateTime>(); var surveyAnswer = new SurveyAnswer() { Id = id, SurveyId = surveyId, RespondDate = respondDate}; var expectedsurveyAnswerDto = new SurveyAnswerDto() { Id = id, SurveyId = surveyId, RespondDate = respondDate }; _surveyAnswerAppRepository.Setup(x => x.Create(It.IsAny<SurveyAnswer>())).Returns(surveyAnswer).Verifiable(); var actual = _sut.Insert(expectedsurveyAnswerDto); actual.ShouldBeEquivalentTo(expectedsurveyAnswerDto); _surveyAnswerAppRepository.VerifyAll(); }
public ActionResult Index(CareTeamSurvey careTeamSurvey) { if (ModelState.IsValid) { var surveyDto = _serviceSurvey.GetBySurveyCode(careTeamSurvey.Survey.SurveyCode); bool isEscalationReport = false; if (surveyDto != null) { List<AnswerDto> answerList = new List<AnswerDto>(); var questions = _serviceQuestion.GetBySurveyType(surveyDto.SurveyType); var props = careTeamSurvey.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance).ToList(); var surveyAnswerDto = new SurveyAnswerDto() { SurveyId = careTeamSurvey.Survey.Id, RespondDate = DateTime.Today }; surveyAnswerDto = _serviceSurveyAnswer.Insert(surveyAnswerDto); props.ForEach(prop => { if (prop.PropertyType == typeof(Question)) { var attr = prop.GetCustomAttribute<QuestionKeyAttribute>(); var question = questions.First(d => d.Key.Equals(attr.QuestionKey)); var answer = new AnswerDto() { SurveyAnswerId = surveyAnswerDto.Id, QuestionId = question.Id, ResponseText = ((Question)prop.GetValue(careTeamSurvey, null)).Response, Note = ((Question)prop.GetValue(careTeamSurvey, null)).Note }; answerList.Add(answer); //To know if Disagre or Strongly Disagree was selected as an answer, for send an email if ((answer.ResponseText != null) && QuestionKey.CareTeamSurvey.ContainsKey(question.Key)) { if (answer.ResponseText.ToLower().Equals("disagree") || answer.ResponseText.ToLower().Equals("strongly disagree")) isEscalationReport = true; } } }); // Add answer _serviceAnswer.Insert(answerList); ViewBag.Message = Messages.GetMessage(Messages.MessageType.Succefully); //Send Email To Performance Management if (isEscalationReport) { HospitalDetailsDto hospitalDetails = _serviceSurvey.GetHospitalDetailsByName(careTeamSurvey.Survey.FacilityName); byte[] fileToSend = GetDataToExportCareTeamSurvey(careTeamSurvey, hospitalDetails); _serviceEmailSender.SendEmail(fileToSend, ConfigurationManager.AppSettings["PerformanceManagementEmail"].ToString()); } return View("../Message/Message"); } } return View(careTeamSurvey); }
public SurveyAnswerDto Insert(SurveyAnswerDto surveyAnswersDto) { var surveyAnswer = Mapper.Map<SurveyAnswer>(surveyAnswersDto); surveyAnswer = _repository.Create(surveyAnswer); return Mapper.Map<SurveyAnswerDto>(surveyAnswer); }