//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); }