/// <summary>
        /// Agrega un rol estudiante en la DB. Si el usuario no existe, tambien lo crea.
        /// </summary>
        /// <param name="dni">DNI del estudiante</param>
        /// <param name="nombre">Nombre del estudiante</param>
        /// <param name="email">Email del estudiante</param>
        /// <param name="director_id">ID del director asociado que crea al estudiante.</param>
        public void Nuevo(int dni, string nombre, string email, int director_id)
        {
            if (String.IsNullOrEmpty(nombre) || String.IsNullOrEmpty(email))
                throw new Exception("Debe completar todos los campos");

            TipoRol oTipo = _tipos.BuscarPorNombre("Estudiante");
            Usuario director = _usuarios.BuscarPorId(director_id),
                    oUser = _usuarios.BuscarPorDni(dni);

            director.ListaRoles = roles.TraerActivos(director_id);

            Establecimiento oEstablecimiento = director.ListaRoles.First(p => p.Tipo.Nombre == "Director").Establecimiento;
            NivelEducativo oNivel = director.ListaRoles.First(p => p.Tipo.Nombre == "Director").Nivel;

            if (oUser == null)
            {
                if (_usuarios.BuscarPorEmail(email) != null)
                    throw new Exception("Ya existe un estudiante con ese email");

                oUser = new Usuario(nombre, dni, email);
                oUser.Id = _usuarios.Nuevo(oUser);
            }

            if(roles.EsEstudiante(oUser.Id, _establecimientos_niveles.BuscarPorParametros(oEstablecimiento.Id, oNivel.Id)))
                throw new Exception("Este usuario ya tiene el rol estudiante en su institucion.");

            Rol oRol = new Rol(oTipo, oUser, oEstablecimiento, oNivel);
            roles.Nuevo(oRol);
        }
示例#2
0
 public Boleto(Urbano oUrbano, Rol oRol, DateTime dt, int id)
 {
     Linea = oUrbano;
     Rol = oRol;
     Fecha = dt;
     Id = id;
 }
示例#3
0
 public Boleto(Urbano oUrbano, Rol oRol)
 {
     Linea = oUrbano;
     Rol = oRol;
 }
示例#4
0
        /// <summary>
        /// Crea un nuevo objeto rol y lo guarda en la DB.
        /// </summary>
        /// <param name="usuario_id">ID del usuario asociado</param>
        /// <param name="tipoRol_id">ID del tipo de rol asociado</param>
        /// <param name="establecimiento_id">ID del establecimiento asociado</param>
        /// <param name="nivel_id">ID del nivel educativo asociado</param>
        public void Nuevo(int usuario_id, int tipo_id, int establecimiento_id, int nivel_id)
        {
            Rol oRol;
            NivelEducativo oNivel = niveles.BuscarPorId(nivel_id);
            Establecimiento oEstablecimiento = establecimientos.BuscarPorId(establecimiento_id);
            Usuario oUsuario = usuarios.BuscarPorId(usuario_id);
            TipoRol oTipo = tipo_roles.BuscarPorId(tipo_id);

            if (oUsuario == null)
                throw new Exception("No existe usuario con ese ID");

            if (oTipo == null)
                throw new Exception("No existe un tipo de rol con ese ID");

            if(oNivel == null)
                throw new Exception("El establecimiento no tiene asociado ese nivel educativo");

            if (oEstablecimiento == null)
                throw new Exception("No existe establecimiento con ese id");

            if (establecimientos_niveles.BuscarPorParametros(oEstablecimiento.Id, oNivel.Id) == 0)
                throw new Exception("No existe dupla Establecimiento/Nivel como la que elegiste");

            oRol = new Rol(oTipo, oUsuario, oEstablecimiento, oNivel);
            int _id = _roles.Nuevo(oRol);
            this.GenerarQr(_id);
        }
示例#5
0
 /// <summary>
 /// Guarda un objeto rol en la DB
 /// </summary>
 /// <param name="oRol">Objeto a persistir</param>
 public void Nuevo(Rol oRol)
 {
     int _id = _roles.Nuevo(oRol);
     this.GenerarQr(_id);
 }
示例#6
0
 public Boleto(Urbano oUrbano, Rol oRol)
 {
     Linea = oUrbano;
     Rol   = oRol;
 }