private string GetItemDescricao(QuestionarioItem questionarioItem, FatorAssociadoQuestionarioRespostaEscolaDto dreDto)
 {
     if (string.IsNullOrWhiteSpace(dreDto.Resposta))
     {
         return("Não respondido.");
     }
     return(questionarioItem.Opcoes.First(z => z.Letra == dreDto.Resposta).Descricao);
 }
 private int GetItemId(QuestionarioItem questionarioItem, FatorAssociadoQuestionarioRespostaEscolaDto dreDto)
 {
     if (string.IsNullOrWhiteSpace(dreDto.Resposta))
     {
         return(questionarioItem.Opcoes.Count() + 1);
     }
     return(questionarioItem.Opcoes.First(z => z.Letra == dreDto.Resposta).Numero);
 }
        protected IEnumerable <QuestionarioItem> MontarQuestoes(ImportacaoDeQuestionariosDeFatoresAssociadosFamiliaDto dto)
        {
            var dtQuestionario = CsvManager.GetCsvFile(dto.CaminhoDaPlanilhaQuesitonarios);

            if (dtQuestionario.Rows.Count <= 0)
            {
                dto.AddErro("Não existem regitros na planilha para exportação.");
                return(null);
            }

            var result = new List <QuestionarioItem>();
            var indice = 0;

            while (indice < dtQuestionario.Rows.Count)
            {
                if (dtQuestionario.Rows[indice]["seq"].ToString() == "0")
                {
                    var questionarioItem = new QuestionarioItem
                    {
                        Enunciado = dtQuestionario.Rows[indice]["texto"].ToString(),
                        Numero    = int.Parse(dtQuestionario.Rows[indice]["num_questao"].ToString()),
                    };

                    indice++;
                    while (indice < dtQuestionario.Rows.Count &&
                           dtQuestionario.Rows[indice]["seq"].ToString() != "0")
                    {
                        var opcao = new Opcao
                        {
                            Descricao = dtQuestionario.Rows[indice]["texto"].ToString().ReplaceFirst("(", ""),
                            Letra     = dtQuestionario.Rows[indice]["alternativa"].ToString(),
                            Numero    = int.Parse(dtQuestionario.Rows[indice]["seq"].ToString())
                        };

                        questionarioItem.Opcoes.Add(opcao);
                        indice++;
                    }

                    result.Add(questionarioItem);
                }
                else
                {
                    indice++;
                }
            }

            return(result);
        }