public static void parseRespostas(string[] respostas, string token, int id) { string valor = ""; JObject dados = Inquerito.GetIDInqueritoFromToken(token); long[] lista = Questao.GetIdsQuestoesPorInquerito((long)dados["idInquerito"]); for (int i = 0; i < respostas.Length; i++) { valor = respostas[i]; registarResposta(lista[i], (long)dados["idInquerito"], (long)dados["idEvento"], valor, id); } }
public static long CriarInquerito(JObject json) { try { List <Questao> questoes = new List <Questao>(); foreach (var questao in json["questoes"]) { questoes.Add(Questao.CreateFromJobj(questao)); } List <ValoresIntervalos> intervalos = ValoresIntervalos.GetAllValores(); long idQuestao = -1; long idIntervalo = -1; long idInquerito = InstanciarInquerito(); foreach (Questao questao in questoes) { //Cria-se a a questão idQuestao = Questao.CriarQuestao(questao); if (questao.tipoVar.ToLower() == "intervalo") { foreach (var intervalo in questao.intervalo) { //Para cada intervalo fornecido, verificamos se a tabela responsavel ja tem esse valor registado(ex:Satisfeito) ValoresIntervalos encontrado = intervalos.Find(x => x.valor == intervalo.valor); //Se não for encontrado, tem de se criar um novo if (encontrado == null) { idIntervalo = ValoresIntervalos.CriarValor(intervalo.valor); } else { //Ja existe, aproveitamos o ID idIntervalo = encontrado.id; } //Nesta fase sabemos que existe(obrigatoriamente) o valor do intervalo na BD, então damos map na tabela da questão para o valor ValoresIntervalos.MapIntervaloQuestao(idIntervalo, idQuestao); } } //Já so falta dar map da questão ao inquerito Inquerito.MapQuestaoInquerito(idInquerito, idQuestao); } return(1); } catch (Exception e) { return(-1); } }
public static JObject GetInquerito(int id) { return(Inquerito.GetInquerito(id, 0, null, null, null, null)); }