public Hijo[] ObtenerPersonas(UsuarioLogueado usuarioLogueado) { List <Hijo> ListaHijos = Archivos.Instancia.ObtenerHijos(); switch (usuarioLogueado.RolSeleccionado) { case Roles.Padre: Padre padre = Archivos.Instancia.ObtenerPadres().Find(x => x.Nombre == usuarioLogueado.Nombre && x.Apellido == usuarioLogueado.Apellido); return(padre.Hijos.Count() == 0 ? new Hijo[] { } :ListaHijos.Where(x => padre.Hijos.Where(y => y.Id == x.Id).Count() != 0).ToArray() ?? new Hijo[] { }); //Where().ToArray() nunca retorna null sino un array vacio asi que la pregunta es innecesaria case Roles.Directora: return(ListaHijos.ToArray()); case Roles.Docente: Docente docente = Archivos.Instancia.ObtenerDocentes().Find(x => x.Nombre == usuarioLogueado.Nombre && x.Apellido == usuarioLogueado.Apellido); return(ListaHijos.Where(x => docente.Salas.Where(y => y.Id == x.Sala.Id).Count() != 0).ToArray() ?? new Hijo[] { }); default: throw new Exception("Rol no implementado"); } }
public GuardarDocenteResponse Guardar(Docente docente) { try { var docenteBuscado = _context.Docentes.Find(docente.Identificacion); if (docenteBuscado != null) { return(new GuardarDocenteResponse("Error el docente ya se encuentra guardado")); } _context.Docentes.Add(docente); _context.SaveChanges(); return(new GuardarDocenteResponse(docente)); } catch (Exception e) { return(new GuardarDocenteResponse($"Error de la Aplicacion: {e.Message}")); } }
public Hijo[] ObtenerPersonas(UsuarioLogueado usuarioLogueado) { //Primero se comprueba que permiso tiene para saber a que hijo/alumno se puede acceder. El hijo no tiene autorizacion Hijo[] hijo = null; if (usuarioLogueado.RolSeleccionado == Roles.Directora) //Puede ver todos { hijo = ListaHijos.ToArray(); } if (usuarioLogueado.RolSeleccionado == Roles.Docente) //Puede ver los de su sala { Docente docente = ListaDocentes.Where(x => x.Email == usuarioLogueado.Email).FirstOrDefault(); List <Hijo> listado = new List <Hijo>(); foreach (var sala in docente.Salas) { foreach (var alumno in ListaHijos) { if (sala == alumno.Sala) { listado.Add(alumno); } } } hijo = listado.ToArray(); } if (usuarioLogueado.RolSeleccionado == Roles.Padre) //Puede ver los del hijo { Padre padre = ListaPadres.Where(x => x.Email == usuarioLogueado.Email).FirstOrDefault(); if (padre.Hijos != null) { hijo = padre.Hijos; } } return(hijo); }
public Resultado ModificarDocente(int id, Docente docente) { Resultado Controlador = new Resultado(); int indice = 0; List <UsuarioJson> listaDocentes = GetUsersJson(); UsuarioJson usuarioDocente = listaDocentes.Where(x => x.Id == id).FirstOrDefault(); //A ESTA ALTURA LOS INDICES YA NO SON NECESARIOS, BUSCAR LOS ELEMENTOS CON WHERE O FIND, OLVIDARSE LOS INDICES indice = listaDocentes.IndexOf(usuarioDocente); if (usuarioDocente == null) { Controlador.Errores.Add("No existe este docente."); return(Controlador); } else { usuarioDocente.Id = id; usuarioDocente.Nombre = docente.Nombre; usuarioDocente.Apellido = docente.Apellido; usuarioDocente.Email = docente.Email; } listaDocentes.RemoveAt(listaDocentes.IndexOf(usuarioDocente)); listaDocentes.Insert(indice, usuarioDocente); string outputDocentes = JsonConvert.SerializeObject(listaDocentes); using (StreamWriter strWriter = new System.IO.StreamWriter(path + "Usuarios.txt", false)) { strWriter.Write(outputDocentes); } return(Controlador); }
public Resultado AsignarDocenteSala(Docente docente, Sala sala, UsuarioLogueado usuariologueado) { var resultado = new Resultado(); if (VerificarUsuarioLogeado(Roles.Directora, usuariologueado).EsValido) { var salasdocente = docente.Salas != null?docente.Salas.ToList() : new List <Sala>(); if (salasdocente.Any(x => x.Id == sala.Id) == false) //Verifica que la sala agregar no este repetida { salasdocente.Add(sala); } else { resultado.Errores.Add("La sala ingresada ya está asignada al docente."); } docente.Salas = salasdocente.ToArray(); EditarDocente(docente.Id, docente, usuariologueado); //Modifica el docente asignandole las salas GuardarDocente(ListaDocentes); } return(resultado); }
public string Modificar(Docente docenteNuevo) { try { var docenteViejo = _context.Docentes.Find(docenteNuevo.Identificacion); if (docenteViejo != null) { docenteViejo.Identificacion = docenteNuevo.Identificacion; docenteViejo.Nombre = docenteNuevo.Nombre; docenteViejo.Descripcion = docenteNuevo.Descripcion; docenteViejo.Tipo = docenteNuevo.Tipo; docenteViejo.Asignaturas = docenteNuevo.Asignaturas; _context.Docentes.Update(docenteViejo); _context.SaveChanges(); return($"El registro {docenteNuevo.Identificacion} se ha modificado satisfactoriamente."); } else { return($"Lo sentimos, {docenteNuevo.Identificacion} no se encuentra registrado"); } } catch (Exception e) { return($"Error de la Aplicación: {e.Message}"); } }
public Resultado AltaDocente(Docente docente) { Resultado Controlador = new Resultado(); int Id; List <UsuarioJson> users = GetUsersJson(); UsuarioJson user = users.Where(x => x.Email == docente.Email).FirstOrDefault(); if (user != null) { if (user.Roles.Contains(Roles.Docente)) { Controlador.Errores.Add("Docente cargada anteriormente."); return(Controlador); } else { List <Roles> list = (user.Roles.ToList()); list.Add(Roles.Docente); user.Roles = list.ToArray(); Id = user.Id; string outputUsers = JsonConvert.SerializeObject(users); using (StreamWriter strWriter = new System.IO.StreamWriter(path + "Usuarios.txt", false)) { strWriter.Write(outputUsers); } } docente.Id = user.Id; } else { Id = GuardarUserJson(new UsuarioJson() { Apellido = docente.Apellido, Nombre = docente.Nombre, Email = docente.Email, Password = new Random().Next(0, 999999).ToString("D6"), Roles = new Roles[] { Roles.Docente } }); docente.Id = Id; } List <DocenteJson> listaDocentes = GetDocentesJson(); listaDocentes.Add(new DocenteJson() { IdUser = docente.Id, idSalas = docente.Salas != null? docente.Salas.Select(x => x.Id).ToArray() : new int[] {}, //Institucion = directora.Institucion.Id, }); string outputDirectoras = JsonConvert.SerializeObject(listaDocentes); using (StreamWriter strWriter = new System.IO.StreamWriter(path + "Docentes.txt", false)) { strWriter.Write(outputDirectoras); } return(Controlador); }
}//Todo : Terminar El modificar De Director //AGM Docente public void Agregar(string identificadorDeLaInstitucion, string numeroDeLaSala, Docente docente) { BuscarInstitucionEnLista(identificadorDeLaInstitucion).BuscarSala(numeroDeLaSala).DocenteACargo = docente; // Busca la institucion y la sala por medio de los identificadores y luego agrrega al docente. }
public Docente BuscarxIdentificacion(string identificacion) { Docente docente = _context.Docentes.Find(identificacion); return(docente); }
public GuardarDocenteResponse(Docente docente) { Error = false; Docente = docente; }