async private void populateCalificacionCollection(string rubricaUid, string evaluacionUid) { IList <Estudiante> estudiantes = await FirebaseDB.getEstudiantesForAsignatura(asignaturaUid); Rubrica rubrica = await FirebaseDB.getRubricaForId(rubricaUid); List <Categoria> categorias = await FirebaseDB.getCategoriasForRubrica(rubricaUid); foreach (var estudiante in estudiantes) { System.Diagnostics.Debug.WriteLine(estudiante.Name); CalificacionEvaluacion calificacionEvaluacion = new CalificacionEvaluacion(estudiante); var calificacionItem = await firebase .Child(Utils.FireBase_Entity.ASIGNATURAS) .Child(asignaturaUid) .Child(Utils.FireBase_Entity.EVALUACIONES) .Child(evaluacionUid) .Child(Utils.FireBase_Entity.CALIFICACION) .PostAsync(calificacionEvaluacion); foreach (var categoria in categorias) { CalificacionCategoria calificacionCategoria = new CalificacionCategoria(categoria); var categoriaItem = await firebase .Child(Utils.FireBase_Entity.ASIGNATURAS) .Child(asignaturaUid) .Child(Utils.FireBase_Entity.EVALUACIONES) .Child(evaluacionUid) .Child(Utils.FireBase_Entity.CALIFICACION) .Child(calificacionItem.Key) .Child(Utils.FireBase_Entity.CATEGORIAS) .PostAsync(calificacionCategoria); List <Elemento> elementos = await FirebaseDB.getElementosForCategoria(rubricaUid, categoria.Uid); foreach (var elemento in elementos) { CalificacionElemento calificacionElemento = new CalificacionElemento(0, elemento); var elementoItem = await firebase .Child(Utils.FireBase_Entity.ASIGNATURAS) .Child(asignaturaUid) .Child(Utils.FireBase_Entity.EVALUACIONES) .Child(evaluacionUid) .Child(Utils.FireBase_Entity.CALIFICACION) .Child(calificacionItem.Key) .Child(Utils.FireBase_Entity.CATEGORIAS) .Child(categoriaItem.Key) .Child(Utils.FireBase_Entity.ELEMENTOS) .PostAsync(calificacionElemento); } } } }
public static async Task <List <CalificacionCategoria> > getCategoriasForCalificacion(string asignaturaUid, string evaluacionUid, string calificacionUid) { var calificacionCategorias = new List <CalificacionCategoria>(); var list = (await FIREBASE .Child(Utils.FireBase_Entity.ASIGNATURAS) .Child(asignaturaUid) .Child(Utils.FireBase_Entity.EVALUACIONES) .Child(evaluacionUid) .Child(Utils.FireBase_Entity.CALIFICACION) .Child(calificacionUid) .Child(Utils.FireBase_Entity.CATEGORIAS) .OnceAsync <CalificacionCategoria>()); foreach (var item in list) { CalificacionCategoria calificacionCategoria = item.Object as CalificacionCategoria; calificacionCategoria.Uid = item.Key; calificacionCategorias.Add(calificacionCategoria); } return(calificacionCategorias); }