示例#1
0
        public Nota[] ObtenerCuadernoComunicaciones(int idPersona, UsuarioLogueado usuariologueado)
        {
            CrearArchivos();
            LeerNotas();
            LeerHijos();
            LeerPadres();

            List <Nota> notas = new List <Nota>();


            if (VerificarUsuarioLogeado(Roles.Directora, usuariologueado).EsValido | VerificarUsuarioLogeado(Roles.Padre, usuariologueado).EsValido | VerificarUsuarioLogeado(Roles.Docente, usuariologueado).EsValido)
            {
                //FALTA VALIDAR QUE SEA HIJO DEL PADRE, O QUE ESTE EN ALGUNA SALA DEL DOCENTE
                var alumno = ListaHijos.Single(x => x.Id == idPersona);

                if (alumno.Notas != null)
                {
                    foreach (var nota in alumno.Notas)
                    {
                        var notaenlista = ListaNotas.SingleOrDefault(x => x.Id == nota.Id);
                        notas.Add(notaenlista);
                    }
                }
            }

            GuardarHijos(ListaHijos);
            GuardarPadre(ListaPadres);
            GuardarNotas(ListaNotas);
            return(notas.ToArray());
        }
示例#2
0
        public Resultado EliminarAlumno(int id, Hijo hijo, UsuarioLogueado usuariologueado)
        {
            LeerHijos();

            var resultado = VerificarUsuarioLogeado(Roles.Directora, usuariologueado);

            if (resultado.EsValido)
            {
                var hijoeliminado = ObtenerAlumnoPorId(usuariologueado, id);
                ListaHijos.Remove(hijoeliminado);
            }
            GuardarHijos(ListaHijos);
            return(resultado);
        }
示例#3
0
        public Resultado AltaAlumno(Hijo hijo, UsuarioLogueado usuarioLogueado)
        {
            CrearArchivos();
            LeerHijos();
            var resultado = VerificarUsuarioLogeado(Roles.Directora, usuarioLogueado);

            if (resultado.EsValido)
            {
                hijo.Id = ListaHijos.Count() + 1;
                ListaHijos.Add(hijo);
            }
            GuardarHijos(ListaHijos);
            return(resultado);
        }
示例#4
0
        public Grilla <Hijo> ObtenerAlumnos(UsuarioLogueado usuarioLogueado, int paginaActual, int totalPorPagina, string busquedaGlobal)
        {
            CrearArchivos();
            LeerHijos();

            var listagrilla = ListaHijos
                              .Where(x => string.IsNullOrEmpty(busquedaGlobal) || x.Nombre.Contains(busquedaGlobal) || x.Apellido.Contains(busquedaGlobal))
                              .Skip(paginaActual * totalPorPagina).Take(totalPorPagina).ToArray();

            GuardarHijos(ListaHijos);
            return(new Grilla <Hijo>
            {
                Lista = listagrilla,
                CantidadRegistros = ListaHijos.Count(),
            });
        }
示例#5
0
        public Resultado EditarAlumno(int id, Hijo hijoeditado, UsuarioLogueado usuariologueado)
        {
            CrearArchivos();
            LeerHijos();

            var resultado = VerificarUsuarioLogeado(Roles.Directora, usuariologueado);

            if (resultado.EsValido)
            {
                var hijo = ObtenerAlumnoPorId(usuariologueado, id);
                ListaHijos.Remove(hijo);
                ListaHijos.Add(hijoeditado);
                GuardarHijos(ListaHijos);
            }

            return(resultado);
        }
示例#6
0
        public Hijo ObtenerAlumnoPorId(UsuarioLogueado usuarioLogueado, int id)
        {
            CrearArchivos();
            LeerHijos();
            var hijo = new Hijo();

            if (VerificarUsuarioLogeado(Roles.Directora, usuarioLogueado).EsValido)
            {
                hijo = ListaHijos.Single(x => x.Id == id);
            }
            else
            {
                hijo = null;
            }
            GuardarHijos(ListaHijos);
            return(hijo);
        }
示例#7
0
        public Hijo[] ObtenerPersonas(UsuarioLogueado usuarioLogueado)
        {
            CrearArchivos();
            LeerPadres();
            LeerHijos();
            var resultado = new Resultado();

            Hijo[] hijos = null;
            if (VerificarUsuarioLogeado(Roles.Directora, usuarioLogueado).EsValido)
            {
                hijos = ListaHijos.ToArray();
            }
            if (VerificarUsuarioLogeado(Roles.Padre, usuarioLogueado).EsValido)
            {
                var padre = ListaPadres.Single(x => x.Email == usuarioLogueado.Email && x.Apellido == usuarioLogueado.Apellido);

                if (padre.Hijos == null)
                {
                    resultado.Errores.Add("no hay hijos asignados");
                }
                hijos = padre.Hijos;
            }
            if (VerificarUsuarioLogeado(Roles.Docente, usuarioLogueado).EsValido)
            {
                var docente = ListaDocentes.Single(x => x.Email == usuarioLogueado.Email & x.Apellido == usuarioLogueado.Apellido);

                foreach (var sala in docente.Salas)
                {
                    var hijo = ListaHijos.Where(x => x.Sala.Id == sala.Id).ToList();

                    var listaconagregado = hijos == null ? new List <Hijo>() : hijos.ToList();

                    if (hijo != null)
                    {
                        listaconagregado.AddRange(hijo);
                    }

                    hijos = listaconagregado.ToArray();
                }
            }

            return(hijos);
        }
示例#8
0
        public ResponseListaHijosDto SetHijos(RequestListaHijosDto listaHijos)
        {
            bool personaTieneHijos = _query.PersonaTieneHijos(listaHijos.PadreDni);

            var hijosEntity = new ListaHijos
            {
                PadreDni = listaHijos.PadreDni,
                HijoDni  = listaHijos.HijoDni
            };

            _repository.Add <ListaHijos>(hijosEntity);


            if (personaTieneHijos == false)
            {
                _query.ModifyTieneHijos(listaHijos.PadreDni);
            }

            return(_query.GetHijosByPadreDni(listaHijos.PadreDni));
        }