public Nota[] ObtenerCuadernoComunicaciones(int idPersona, UsuarioLogueado usuarioLogueado) { //Primero se comprueba que permiso tiene para saber si puede tener acceso al cuadreno deseado. El hijo no tiene autorizacion if (usuarioLogueado.RolSeleccionado == Roles.Directora) //Puede ver todos { Nota cuaderno = ListaNotas.Where(x => x.Id == idPersona).FirstOrDefault(); } if (usuarioLogueado.RolSeleccionado == Roles.Docente) //Puede ver los de su sala { Docente docente = ListaDocentes.Where(x => x.Email == usuarioLogueado.Email).FirstOrDefault(); foreach (var sala in docente.Salas) { if (sala.Id == idPersona) { Nota cuaderno = ListaNotas.Where(x => x.Id == idPersona).FirstOrDefault(); } } } if (usuarioLogueado.RolSeleccionado == Roles.Padre) //Puede ver los del hijo { Padre padre = ListaPadres.Where(x => x.Email == usuarioLogueado.Email).FirstOrDefault(); foreach (var hijo in padre.Hijos) { if (hijo.Id == idPersona) { Nota cuaderno = ListaNotas.Where(x => x.Id == idPersona).FirstOrDefault(); } } } return(new Nota[0]); }
public Resultado DesasignarHijoPadre(Hijo hijo, Padre padre, UsuarioLogueado usuariologueado) { CrearArchivos(); LeerPadres(); var resultado = new Resultado(); if (VerificarUsuarioLogeado(Roles.Directora, usuariologueado).EsValido) { var listahijos = padre.Hijos != null?padre.Hijos.ToList() : new List <Hijo>(); if (listahijos.Any(x => x.Id == hijo.Id) == false) //Verifica que el hijo a agregar no este repetido { listahijos.Add(hijo); } else { resultado.Errores.Add("El hijo ya esta asignado"); } padre.Hijos = listahijos.ToArray(); EditarPadre(padre.Id, padre, usuariologueado); //Modifica el padre asignandole los hijos GuardarPadre(ListaPadres); } return(resultado); }
public Resultado DesasignarHijoPadre(Hijo hijo, Padre padre, UsuarioLogueado usuarioLogueado) { Resultado NuevoResultado = new Resultado(); if (usuarioLogueado.RolSeleccionado == Roles.Directora) { var hijosPadre = padre.Hijos != null?padre.Hijos.ToList() : new List <Hijo>(); if (hijosPadre.Any(x => x.Id == hijo.Id) == true) { hijosPadre.Remove(hijo); } else { NuevoResultado.Errores.Add("No se encontro el hijo"); } padre.Hijos = hijosPadre.ToArray(); LeerPadres(); ListaPadres.Find(x => x.Id == padre.Id).Hijos = padre.Hijos; //obtiene el padre y le asigna los hijos que tenga GuardarPadres(ListaPadres); } else { NuevoResultado.Errores.Add("No tiene permiso para desasignar"); } return(NuevoResultado); }
public Resultado BajaPadre(int id, Padre padre) { Resultado Controlador = new Resultado(); int indice = 0; List <UsuarioJson> listaPadres = GetUsersJson(); UsuarioJson usuarioPadre = listaPadres.Where(x => x.Id == id && x.Roles.Contains(Roles.Padre)).FirstOrDefault(); indice = listaPadres.IndexOf(usuarioPadre); if (usuarioPadre == null) { Controlador.Errores.Add("No existe este padre."); return(Controlador); } else { usuarioPadre.Nombre = padre.Nombre; usuarioPadre.Apellido = padre.Apellido; usuarioPadre.Email = padre.Email; } listaPadres.RemoveAt(listaPadres.IndexOf(usuarioPadre)); string outputPadres = JsonConvert.SerializeObject(listaPadres); using (StreamWriter strWriter = new System.IO.StreamWriter(path + "Usuarios.txt", false)) { strWriter.Write(outputPadres); } return(Controlador); }
public Resultado AltaPadre(Padre padre, UsuarioLogueado usuariologueado) { CrearArchivos(); LeerPadres(); LeerClaves(); Resultado verificacion = VerificarUsuarioLogeado(Roles.Directora, usuariologueado); if (verificacion.EsValido) { padre.Id = ListaPadres.Count() + 1; Random rnd = new Random(); var pswrd = rnd.Next(100000, 999999).ToString(); ListaPadres.Add(padre); Clave pass = new Clave() { Email = padre.Email, Password = pswrd, Rol = Roles.Padre }; ListaClaves.Add(pass); GuardarPadre(ListaPadres); GuardarClaves(ListaClaves); } return(verificacion); }
public Resultado AsignarDesasignarHijo(int idHijo, Padre padre, bool Asignar) { Resultado Controlador = new Resultado(); List <PadreJson> padresJson = GetPadresJson(); if (Asignar) { if (padresJson.Where(x => x.IdUser == padre.Id).FirstOrDefault().idHijos.Contains(idHijo)) { Controlador.Errores.Add("Ya tiene este hijo asignado"); return(Controlador); } padresJson.Where(x => x.IdUser == padre.Id).FirstOrDefault().idHijos = padresJson.Where(x => x.IdUser == padre.Id).FirstOrDefault().idHijos.AddInt(idHijo); } else { if (!padresJson.Where(x => x.IdUser == padre.Id).FirstOrDefault().idHijos.Contains(idHijo)) { Controlador.Errores.Add("No tiene este hijo asignado"); return(Controlador); } padresJson.Where(x => x.IdUser == padre.Id).FirstOrDefault().idHijos = padresJson.Where(x => x.IdUser == padre.Id).FirstOrDefault().idHijos.RemoveInt(idHijo); } string outpuDocentes = JsonConvert.SerializeObject(padresJson); using (StreamWriter strWriter = new System.IO.StreamWriter(path + "Padres.txt", false)) { strWriter.Write(outpuDocentes); } return(Controlador); }
public void AgregarPadre(Padre padre, AlumnoHijo hijo) { if (ListaDePadres.Exists(x => x.NumeroDeDocumento == padre.NumeroDeDocumento) == false) { padre.AgregarHijo(hijo); ListaDePadres.Add(padre); } else { ListaDePadres.Find(x => x.NumeroDeDocumento == padre.NumeroDeDocumento).AgregarHijo(hijo); } }
public Resultado DesasignarHijoPadre(Hijo hijo, Padre padre) { List <Padre> padres = Archivos.Instancia.ObtenerPadres(); Padre PadreHijos = Archivos.Instancia.ObtenerPadres().Find(x => x.Id == padre.Id); List <Hijo> hijos = PadreHijos.Hijos.ToList(); hijos.RemoveAll(x => x.Id == hijo.Id); PadreHijos.Hijos = hijos.ToArray(); Archivos.Instancia.ModificarArchivoPadres(padres); return(new Resultado()); }
public Resultado EliminarPadre(int id, Padre padreeliminado, UsuarioLogueado usuariologueado) { CrearArchivos(); LeerPadres(); Resultado verificacion = VerificarUsuarioLogeado(Roles.Directora, usuariologueado); if (verificacion.EsValido) { var padre = ObtenerPadrePorId(usuariologueado, id); ListaPadres.Remove(padre); GuardarPadre(ListaPadres); } return(verificacion); }
public Resultado AsignarHijoPadre(Hijo hijo, Padre padre) { List <Padre> padres = Archivos.Instancia.ObtenerPadres().ToList(); Padre PadreHijos = padres.Find(x => x.Id == padre.Id); List <Hijo> Hijos = PadreHijos.Hijos is null ? new List <Hijo>() : PadreHijos.Hijos.ToList(); if (!Hijos.Any(x => x.Id == hijo.Id)) { Hijos.Add(hijo); } PadreHijos.Hijos = Hijos.ToArray(); Archivos.Instancia.ModificarArchivoPadres(padres); return(new Resultado()); }
//---------------------------ABM Padres--------------------------------------------- public Resultado AltaPadreMadre(Padre padre, UsuarioLogueado usuarioLogueado) { Resultado NuevoResultado = new Resultado(); Usuario nuevousuario = null; padre.Id = LeerUsuarios().Count + 1; //Pregunto si tiene el Roll de Directora if (usuarioLogueado.RolSeleccionado == Roles.Directora) { if (LeerUsuarios() != null) //Busco si existe el Padre { nuevousuario = LeerUsuarios().Where(x => x.Email == padre.Email).FirstOrDefault(); } if (nuevousuario == null)//No existe, cargo uno nuevo { Clave NuevaClave = new Clave(); NuevaClave.Id = padre.Id; NuevaClave.Email = padre.Email; NuevaClave.Roles = new Roles[] { Roles.Padre }; LeerClaves(); ListaClaves.Add(NuevaClave); //Cargo la nueva clave generada GuardarClaves(ListaClaves); LeerUsuarios(); ListaUsuarios.Add(padre); //Cargo un nuevo usuario GuardarUsuarios(ListaUsuarios); LeerPadres(); ListaPadres.Add(padre); //Cargo un nuevo padre GuardarPadres(ListaPadres); } else { NuevoResultado.Errores.Add("El usuario ya existe"); } } else { NuevoResultado.Errores.Add("No tiene permiso"); } return(NuevoResultado); }
public Padre ObtenerPadrePorId(UsuarioLogueado usuarioLogueado, int id) { CrearArchivos(); LeerPadres(); var padre = new Padre(); if (VerificarUsuarioLogeado(Roles.Directora, usuarioLogueado).EsValido) { padre = ListaPadres.Where(x => x.Id == id).FirstOrDefault(); } else { padre = null; } GuardarPadre(ListaPadres); return(padre); }
public Resultado EditarPadreMadre(int id, Padre padre, UsuarioLogueado usuarioLogueado) { Resultado NuevoResultado = new Resultado(); if (usuarioLogueado.RolSeleccionado == Roles.Docente) { Padre NuevoPadre = ObtenerPadrePorId(usuarioLogueado, id); NuevoPadre = padre; Clave NuevaClave = LeerClaves().Where(x => x.Id == id).FirstOrDefault(); NuevaClave.Email = padre.Email; Usuario nuevoUsuario = new Usuario() { Id = id, Nombre = padre.Nombre, Apellido = padre.Apellido, Email = padre.Email }; // Busca el padre y lo borra de los archivos LeerPadres().RemoveAll(x => x.Id == padre.Id); LeerUsuarios().RemoveAll(x => x.Id == padre.Id); LeerClaves().RemoveAll(x => x.Id == padre.Id); // Busca el padre y lo guarda en los archivos LeerPadres(); LeerUsuarios(); LeerClaves(); ListaPadres.Add(NuevoPadre); ListaUsuarios.Add(nuevoUsuario); ListaClaves.Add(NuevaClave); GuardarPadres(ListaPadres); GuardarUsuarios(ListaUsuarios); GuardarClaves(ListaClaves); } else { NuevoResultado.Errores.Add("No tiene permisos para editar"); } return(NuevoResultado); }
public Resultado EditarPadre(int id, Padre padre) { var res = new Resultado(); if (ComprobarString(padre.Apellido, false) && ComprobarString(padre.Nombre, false) && ComprobarString(padre.Email, true)) { List <Padre> Padres = Archivos.Instancia.ObtenerPadres().ToList(); EditarUsuario((Usuario)padre, Padres.Find(x => x.Id == id).Email, Roles.Padre); Padres.RemoveAll(x => x.Id == id); Padres.Add(padre); Archivos.Instancia.ModificarArchivoPadres(Padres); } else { res.Errores.Add("Nombre, Apellido o Email incorrecto"); } return(res); }
public Resultado EliminarPadreMadre(int id, Padre padre, UsuarioLogueado usuarioLogueado) { Resultado NuevoResultado = new Resultado(); if (usuarioLogueado.RolSeleccionado == Roles.Directora) { // Busca el padre y lo borra de los archivos LeerPadres().RemoveAll(x => x.Id == padre.Id); LeerUsuarios().RemoveAll(x => x.Id == padre.Id); GuardarUsuarios(ListaUsuarios); GuardarPadres(ListaPadres); } else { NuevoResultado.Errores.Add("No tiene permiso para eliminar"); } return(NuevoResultado); }
public Resultado AltaPadre(Padre padre) { var res = new Resultado(); if (ComprobarString(padre.Apellido, false) && ComprobarString(padre.Nombre, false) && ComprobarString(padre.Email, true)) { List <Padre> Padres = Archivos.Instancia.ObtenerPadres().ToList(); padre.Id = (Padres.Count == 0 ? 0 : Padres.Max(x => x.Id)) + 1; padre.Hijos = new Hijo[] { }; Padres.Add(padre); Archivos.Instancia.ModificarArchivoPadres(Padres); UsuarioLogin usuario = ConvercionDeUsuario((Usuario)padre, Roles.Padre); AltaUsuario(usuario); } else { res.Errores.Add("Nombre, Apellido o Email incorrecto"); //Estaria bueno indicar especificamente cual da error y que error tiene asi el usuario sabe y lo corrige mas facil. } return(res); }
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 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 AltaPadre(Padre padre) { Resultado Controlador = new Resultado(); int Id; List <UsuarioJson> users = GetUsersJson(); UsuarioJson user = users.Where(x => x.Email == padre.Email).FirstOrDefault(); if (user != null) { if (user.Roles.Contains(Roles.Padre)) { Controlador.Errores.Add("Padre cargado anteriormente."); return(Controlador); } else { List <Roles> list = (user.Roles.ToList()); list.Add(Roles.Padre); 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); } } padre.Id = user.Id; } else { Id = GuardarUserJson(new UsuarioJson() { Apellido = padre.Apellido, Nombre = padre.Nombre, Email = padre.Email, Password = new Random().Next(0, 999999).ToString("D6"), Roles = new Roles[] { Roles.Padre } }); padre.Id = Id; } List <PadreJson> listaPadres = GetPadresJson(); listaPadres.Add(new PadreJson() { IdUser = padre.Id, idHijos = padre.Hijos != null ? padre.Hijos.Select(x => x.Id).ToArray() : new int[] { }, }); string outputPadres = JsonConvert.SerializeObject(listaPadres); using (StreamWriter strWriter = new System.IO.StreamWriter(path + "Padres.txt", false)) { strWriter.Write(outputPadres); } return(Controlador); }
}//Todo : Terminar El modificar De Docente //AGM Alumno public void Agregar(string identificadorDeLaInstitucion, string numeroDeLaSala, AlumnoHijo almuno, Padre padre) { BuscarInstitucionEnLista(identificadorDeLaInstitucion).AgregarPadre(padre, almuno); //Agrega El padre con su hijo a la lista BuscarInstitucionEnLista(identificadorDeLaInstitucion).BuscarSala(numeroDeLaSala).AgrregarAlumno(almuno); // Agrega el alumno a la sala }