Exemplo n.º 1
0
        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 UsuarioLogueado ObtenerUsuario(string email, string clave)
        {
            //Comprueba que exista el usuario
            Usuario usuario = ListaUsuarios.Where(x => x.Email == email).FirstOrDefault();

            if (usuario != null)
            {
                Clave cclave = ListaClaves.Where(x => x.Email == email).FirstOrDefault();
                if (cclave != null)
                {
                    if (cclave.ClaveIngreso == clave)
                    {
                        UsuarioLogueado logeado = new UsuarioLogueado();
                        logeado.Apellido = usuario.Apellido;
                        logeado.Email    = email;
                        logeado.Nombre   = usuario.Nombre;
                        logeado.Roles    = cclave.Roles;

                        //Pregunta que tipo de rol cumple para poder asignarlo
                        if (logeado.Roles.Contains(Roles.Directora))
                        {
                            logeado.RolSeleccionado = Roles.Directora;
                        }
                        if (logeado.Roles.Contains(Roles.Docente))
                        {
                            logeado.RolSeleccionado = Roles.Docente;
                        }
                        if (logeado.Roles.Contains(Roles.Padre))
                        {
                            logeado.RolSeleccionado = Roles.Padre;
                        }

                        return(logeado);
                    }
                    else
                    {
                        return(null);
                    }
                }
                else
                {
                    return(null);
                }
            }
            else
            {
                return(null);
            }
        }
        //---------------------------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 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 EditarDirectora(int id, Directora directora, UsuarioLogueado usuarioLogueado)
        {
            Resultado NuevoResultado = new Resultado();

            if (usuarioLogueado.RolSeleccionado == Roles.Directora)
            {
                Directora NuevaDirectora = ObtenerDirectoraPorId(usuarioLogueado, id);
                NuevaDirectora = directora;

                Clave NuevaClave = LeerClaves().Where(x => x.Id == id).FirstOrDefault();
                NuevaClave.Email = directora.Email;

                Usuario nuevoUsuario = new Usuario()
                {
                    Id       = id,
                    Nombre   = directora.Nombre,
                    Apellido = directora.Apellido,
                    Email    = directora.Email
                };

                // Busca el director y lo borra de los archivos
                LeerDirectores().RemoveAll(x => x.Id == directora.Id);
                LeerUsuarios().RemoveAll(x => x.Id == directora.Id);
                LeerClaves().RemoveAll(x => x.Id == directora.Id);

                // Busca el director y lo guarda en los archivos
                LeerDirectores();
                LeerUsuarios();
                LeerClaves();

                ListaDirectores.Add(NuevaDirectora);
                ListaUsuarios.Add(nuevoUsuario);
                ListaClaves.Add(NuevaClave);

                GuardarDirectores(ListaDirectores);
                GuardarUsuarios(ListaUsuarios);
                GuardarClaves(ListaClaves);
            }
            else
            {
                NuevoResultado.Errores.Add("No tiene permiso para editar");
            }
            return(NuevoResultado);
        }