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");
            }
        }
Example #2
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        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}");
            }
        }
Example #7
0
        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;
 }