public Rol(TipoRol tipo, Usuario usuario, Establecimiento establecimiento, NivelEducativo nivel) { Tipo = tipo; Usuario = usuario; Establecimiento = establecimiento; Nivel = nivel; }
public Rol(int id, TipoRol tipo, Usuario usuario, Establecimiento establecimiento, NivelEducativo nivel, DateTime borrado) { Id = id; Tipo = tipo; Usuario = usuario; Establecimiento = establecimiento; Nivel = nivel; Borrado = borrado; }
/// <summary> /// Crea un nuevo objeto establecimiento y lo guarda en la DB. /// </summary> /// <param name="nombre">Nombre del establecimiento</param> /// <param name="ciudad_id">ID de la ciudad a la que pertenece el establecimiento</param> /// <param name="listaNiveles">Lista de IDs de nivees asociados al establecimiento</param> public void Nuevo(string nombre, int ciudad_id, List<int> listaNiveles) { if (string.IsNullOrEmpty(nombre)) throw new Exception("El nombre del establecimiento no puede estar vacío"); NivelEducativo oNivel; Establecimiento previo = _establecimientos.BuscarPorNombre(nombre).Find(p => p.Ciudad.Id == ciudad_id); Ciudad oCiudad = ciudades.BuscarPorId(ciudad_id); List<NivelEducativo> nivelesDb = new List<NivelEducativo>(); if (previo != null) throw new Exception("Ya existe establecimiento en esa ciudad con ese nombre"); if (oCiudad == null) throw new Exception("No existe ciudad con ese ID"); foreach (int id in listaNiveles) { oNivel = niveles.BuscarPorId(id); if (oNivel == null) throw new Exception("No existe nivel con ese ID"); if (DateTime.Compare(oNivel.Borrado, DateTime.Now) < 0) throw new Exception("El nivel está desactivado, no se puede asociar"); nivelesDb.Add(niveles.BuscarPorId(id)); } Establecimiento oEstablecimiento = new Establecimiento(nombre, oCiudad, nivelesDb); _establecimientos.Agregar(oEstablecimiento); }