public bool corrigir_questoes() { _erros.Clear(); string resp = ""; float peso_prova = 0; CadernoBO caderno = new CadernoBO(); CARTAO cartao; tb_resposta resposta; tb_questao questao; CandidatoBO candidatoBO = new CandidatoBO(); List <tb_resposta> respostasCandidatos = new List <tb_resposta>(); List <tb_questao_caderno> questoes_caderno = new List <tb_questao_caderno>(); try { for (int i = 0; i < cartoes.Count; i++) { cartao = (CARTAO)cartoes[i]; // TbCandidato candidato = new TbCandidato(cartao.inscricao); tb_candidato candidato = candidatoBO.buscarCandidato(cartao.inscricao).First <tb_candidato>(); candidatoBO.atribuir_falta(candidato, cartao.falta.Equals("F")); if (candidatoBO.apagar_respostas(candidato.cod_candidato)) { // caderno.pegar_no_banco(cartao.cod_caderno); questoes_caderno = caderno.get_questoes_caderno(cartao.inscricao); for (int j = 0; j < questoes_caderno.Count; j++) { questao = new QuestaoBO().getQuestao(((tb_questao_caderno)questoes_caderno[j]).cod_questao); //(((QUESTAO_CADERNO)questoes_caderno[j]).COD_QUESTAO); resp = cartao.respostas.Substring(j, 1); resposta = new tb_resposta(); // peso_prova = new PROVA_CONCURSO(questao.COD_PROVA_CONCURSO).peso_prova(); //if (new TIPO_QUESTAO(questao.COD_TIPO_QUESTAO).SUBJETIVO) //{ // if (resp.Equals("A")) // { // resp = "10"; // } // if (!cartao.falta.Equals("F")) // { // if (resp.Equals("?") || resp.Equals(" ")) // { // return false; // } // } // else // { // resp = "0"; // } // resposta.NOTA = int.Parse(resp) * questao.PESO; //} if (resp.Equals(questao.resposta_correta) || questao.resposta_correta.Equals("Z")) { resposta.nota = 1; } else { resposta.nota = 0; } resposta.resposta = resp; resposta.cod_questao = questoes_caderno[j].cod_questao; resposta.cod_candidato = candidato.cod_candidato; // new RespostaBO().Salvar(resposta); respostasCandidatos.Add(resposta); } } } for (int r = 0; r < respostasCandidatos.Count; r++) { new RespostaBO().Salvar((tb_resposta)respostasCandidatos[r]); } return(true); } catch (Exception e) { string teste = e.Message; teste = teste; return(false); } }
public bool trata_arquivo() { _erros.Clear(); string linha = ""; int n_linha = 0; bool ok = true; try { StreamReader arq = new StreamReader(_arquivo); CadernoBO caderno = new CadernoBO(); CandidatoBO candidato = new CandidatoBO(); cartoes = new ArrayList(); while ((linha = arq.ReadLine()) != null) { n_linha++; if (linha.Length >= tam_inscricao + 1) { CARTAO cartao = new CARTAO(); cartao.inscricao = linha.Substring(0, tam_inscricao); // cartao.id_caderno = linha.Substring(tam_inscricao, 1); cartao.falta = linha.Substring(tam_inscricao, 1); if (!existe_cartao_lido(cartao.inscricao)) { if (candidato.buscarCandidato(cartao.inscricao).Count > 0) { //cartao.grade = candidato.COD_GRADE.ToString(); if (linha.Length == TAMANHO_LINHA) { cartao.respostas = linha.Substring(INICIO_RESPOSTAS - 1, (FINAL_RESPOSTAS - INICIO_RESPOSTAS) + 1); cartoes.Add(cartao); } else { ok = false; _erros.Add(new ERRO(n_linha, "Tamanho da linha inválido - " + linha.Length.ToString() + " Caracteres", linha)); } } else { ok = false; _erros.Add(new ERRO(n_linha, "Inscrição do candidato não encontrada! - " + cartao.inscricao, linha)); } } else { ok = false; _erros.Add(new ERRO(n_linha, "Inscrição do candidato DUPLICADA! - " + cartao.inscricao, linha)); } } else { ok = false; _erros.Add(new ERRO(n_linha, "O formato da linha é inválido!", linha)); } } arq.Close(); } catch (System.Exception e) { _erros.Add(new ERRO(n_linha, "Erro ao tratar arquivo - " + e.Message, linha)); ok = false; } return(ok); }