Esempio n. 1
0
        //HACIENDO PRIMERO LO DE SALAS SE EVITA DUPLICIDAD DE CODIGO
        public Resultado AltaNota(Nota nota, Sala[] salas, Hijo[] hijos, UsuarioLogueado usuariologueado)
        {
            CrearArchivos();

            var resultado = new Resultado();

            if (hijos == null)
            {
                foreach (var sala in salas)
                {
                    LeerHijos();
                    foreach (var buscador in ListaHijos)
                    {
                        if (buscador.Sala.Id == sala.Id)
                        {
                            LeerNotas();
                            var notasxhijo = buscador.Notas == null ? new List <Nota>() : buscador.Notas.ToList();

                            if (notasxhijo.Any(x => x.Id == nota.Id))
                            {
                                resultado.Errores.Add("la nota esta agregada");
                            }
                            else
                            {
                                nota.Id = ListaNotas.Count() + 1;
                            }
                            ListaNotas.Add(nota);
                            notasxhijo.Add(nota);

                            buscador.Notas = notasxhijo.ToArray();

                            GuardarNotas(ListaNotas);
                        }
                    }
                    GuardarHijos(ListaHijos);
                }
            }//si selecciona salas
            else
            {
                resultado.Errores.Add("no se seleccionaron salas");
            }

            if (salas != null)
            {
                foreach (var hijo in hijos)
                {
                    LeerHijos();
                    foreach (var buscador in ListaHijos)
                    {
                        if (hijo.Id == buscador.Id)
                        {
                            LeerNotas();
                            var notasxhijo = buscador.Notas == null ? new List <Nota>() : buscador.Notas.ToList();

                            if (notasxhijo.Any(x => x.Id == nota.Id))
                            {
                                resultado.Errores.Add("la nota esta agregada");
                            }
                            else
                            {
                                nota.Id = ListaNotas.Count() + 1;
                            }
                            ListaNotas.Add(nota);
                            notasxhijo.Add(nota);

                            buscador.Notas = notasxhijo.ToArray();
                            GuardarNotas(ListaNotas);
                        }
                    }
                    GuardarHijos(ListaHijos);
                }
            }//si selecciona hijos
            else
            {
                resultado.Errores.Add("no se seleccionaron ningun hijo");
            }

            return(resultado);
        }