public async Task Predecir(IDialogContext context, LuisResult result) { if (string.IsNullOrWhiteSpace(alumno.TiempoViaje) || string.IsNullOrWhiteSpace(alumno.TiempoEstudio) || string.IsNullOrWhiteSpace(alumno.Internet) || string.IsNullOrWhiteSpace(alumno.G1) || string.IsNullOrWhiteSpace(alumno.G2)) { await context.PostAsync($"Para predecir tu calificación final necesito los siguientes datos faltantes: " + (string.IsNullOrWhiteSpace(alumno.TiempoViaje) ? "\n\nCategoría de tiempo de viaje" : "") + (string.IsNullOrWhiteSpace(alumno.TiempoEstudio) ? "\n\nCategoría de tiempo de estudio" : "") + (string.IsNullOrWhiteSpace(alumno.Internet) ? "\n\nSi cuentas o no con servicio de internet" : "") + (string.IsNullOrWhiteSpace(alumno.G1) ? "\n\nCalificación del primer periodo" : "") + (string.IsNullOrWhiteSpace(alumno.G2) ? "\n\nCalificación del segundo periodo." : "") + "\n\nEnvía estos datos indicando el tipo y el valor e intenta la predicción de nuevo"); } else { await context.PostAsync($"Enviando datos..."); var calificacionFinal = await ServicioPrediccion.PredecirCalificacion(alumno); await context.PostAsync($"Tu calificación esperada es: {calificacionFinal}"); } }
async void btnPredecir_Clicked(object sender, EventArgs e) { Loading(true); var id = txtID.Text; var nombre = txtNombre.Text; var logTime = txtLogTime.Text; var ingles = swtIngles.IsToggled ? "Yes" : "No"; var graduadoC = swtGraduadoC.IsToggled ? "Yes" : "No"; var gpa = txtGPA.Text; var diferencia = txtDiferencia.Text; var graduadoB = swtGraduadoB.IsToggled ? "Y" : "N"; var cursoA = txtCursoA.Text; var califA = pckCalifA.SelectedItem.ToString(); var passFailA = pckPassFailA.SelectedItem.ToString(); var semestreA = pckSemestreA.SelectedItem.ToString(); var añosA = txtAñosA.Text; var instructorA = txtInstructorA.Text; var cursoB = txtCursoB.Text; var semestreB = pckSemestreB.SelectedItem.ToString(); var instructorB = txtInstructorB.Text; var transicion = $"{cursoA} TO {cursoB}"; var instructor = (instructorA == instructorB ? "Same" : "Different") + " Instructor"; var datos = new { Inputs = new Dictionary <string, StringTable>() { { "input1", new StringTable() { ColumnNames = new string[] { "CollegeGraduate", "CourseA.CourseID", "CourseA.GradeID", "CourseA.PassFailGrade", "CourseA.Semester", "CourseA.YearsSinceHighSchool", "CourseB.CourseID", "CourseB.OverallGPA", "CourseB.PassFailGrade", "CourseB.Semester", "GPADifferenceFromCourseAtoB", "HighSchoolGraduate", "LogTimeBetweenClasses", "NativeEnglishSpeaker", "SameInstructor", "Transition", "CourseA.Instructor", "CourseB.Instructor", "SID", "Student Name" }, Values = new string[, ] { { graduadoC, cursoA, califA, passFailA, semestreA, añosA, cursoB, gpa, "NULL", semestreB, diferencia, graduadoB, logTime, ingles, instructor, transicion, instructorA, instructorB, id, nombre }, } } }, }, GlobalParameters = new Dictionary <string, string>() { } }; var json = Newtonsoft.Json.JsonConvert.SerializeObject(datos); var resultado = await ServicioPrediccion.PredecirCalificacion(json); await DisplayAlert("¿Aprobado o En Riesgo?", resultado, "OK"); Loading(false); }