public string ModificarCarrera(Estructuras.Carrera carrera, Estructuras.Adminstrador administrador)
 {
     string mensaje = "";
     Logica.Metodos.CarreraCl oCarreraCl = new Logica.Metodos.CarreraCl();
     Logica.Metodos.AdministrativoCL oAdministrativoCl = new Logica.Metodos.AdministrativoCL();
     if (oAdministrativoCl.ValidarSession(administrador.Username, administrador.password))
     {
         if (oCarreraCl.CarreraRepetida(carrera.ID_Carrera))
         {
             oCarreraCl.ModificarCarrera(carrera.ID_Carrera, carrera.Nombre_Carrera, carrera.Estado);
             if (oCarreraCl.IsError)
             {
                 mensaje = oCarreraCl.ErrorDescripcion;
             }
             else
             {
                 mensaje = "Carrera Modificada correctamente";
             }
         }
         else
         {
             mensaje = "No se encontro el codigo de carrera digitado";
         }
     }
     else
     {
         mensaje = "Fallo al inicio del usuario";
     }
     return mensaje;
 }
        public string EliminarAdministrador(string username)
        {
            string mensaje = "";
            Logica.Metodos.AdministrativoCL oAdministradorSql = new Logica.Metodos.AdministrativoCL();
            Administrador_Persona oAdministrador_Persona = new Administrador_Persona();
            Logica.Metodos.PersonaCl oPersonaCl = new Logica.Metodos.PersonaCl();

            if (oAdministradorSql.UsernameRepetido(username))
            {
                var data = oAdministradorSql.ObtenerAdministrador(username);
                oAdministrador_Persona.Cedula = Convert.ToInt32(data.Tables[0].Rows[0]["cedula"]);
                oAdministradorSql.EliminarAdministrador(username);
                if (oAdministradorSql.IsError)
                {
                    mensaje = oAdministradorSql.ErrorDescripcion;
                }
                oPersonaCl.EliminarPersona(oAdministrador_Persona.Cedula);
                if (oPersonaCl.IsError)
                {
                    mensaje = mensaje + oPersonaCl.ErrorDescripcion;
                }

            }
            else
            {
                mensaje = "El usuario dijitado o marcado no existe";
            }

            return mensaje;
        }
 public string InsertarCarrera(Estructuras.Carrera carrera, Estructuras.Adminstrador administrador)
 {
     string mensaje = "";
     Logica.Metodos.CarreraCl oCarreraCl = new Logica.Metodos.CarreraCl();
     Logica.Metodos.AdministrativoCL oAdministrativoCl = new Logica.Metodos.AdministrativoCL();
     if (oAdministrativoCl.ValidarSession(administrador.Username, administrador.password))
     {
         if (oCarreraCl.CarreraRepetida(carrera.ID_Carrera))
         {
             mensaje = "El codigo digitado ya esta reservado para una carrera";
         }
         else
         {
             oCarreraCl.InsertarCarrera(carrera.ID_Carrera, carrera.Nombre_Carrera, carrera.Estado);
             if (oCarreraCl.IsError)
             {
                 mensaje = oCarreraCl.ErrorDescripcion;
             }
             mensaje = mensaje+" Carrera agregada correctamente";
         }
     }
     else
     {
         mensaje = "Fallo al inicio del usuario";
     }
     return mensaje;
 }
 public string EliminarCarrera(int id_carrera, Estructuras.Adminstrador administrador)
 {
     string mensaje = "";
     Logica.Metodos.CarreraCl oCarreraCl = new Logica.Metodos.CarreraCl();
     Logica.Metodos.AdministrativoCL oAdministrativoCl = new Logica.Metodos.AdministrativoCL();
     if (oAdministrativoCl.ValidarSession(administrador.Username, administrador.password))
     {
         if (oCarreraCl.CarreraRepetida(id_carrera))
         {
             oCarreraCl.EliminarCarrera(id_carrera);
             mensaje = "Carrera Modificada correctamente";
         }
         else
         {
             mensaje = "No se encontro el codigo de carrera digitado";
         }
     }
     else
     {
          mensaje = "Fallo al inicio del usuario";
     }
     return mensaje;
 }
 public string CambiarClave(string Username, string ContraseñaActual, string NuevaContraseña, string RepetirContraseña)
 {
     string mensaje = "";
     if (Username == "" || Username == " " || ContraseñaActual == "" || ContraseñaActual == " " || NuevaContraseña == "" || NuevaContraseña == " "
         || RepetirContraseña == "" || RepetirContraseña == " ")
     {
         mensaje = "Todos los datos deben estar llenados verifica que esten completos";
     }
     else
     {
         Logica.Metodos.AdministrativoCL oAdministradorSql = new Logica.Metodos.AdministrativoCL();
         if (oAdministradorSql.UsernameRepetido(Username))
         {
             if (oAdministradorSql.ValidarSession(Username, ContraseñaActual))
             {
                 if (NuevaContraseña.Equals(RepetirContraseña))
                 {
                     oAdministradorSql.CambiarClave(Username, NuevaContraseña);
                     mensaje = "Contraseña modificada correctamente";
                 }
                 else
                 {
                     mensaje = "Las contraseñas no coinciden en los espacios de nueva contraseña y repetir contraseña";
                 }
             }
             else
             {
                 mensaje = "La contraseña actual no corresponde a la contraseña de inicio";
             }
         }
         else
         {
             mensaje = "Ese nombre de usuario no existe";
         }
     }
     return mensaje;
 }
 public bool ValidarSesion(string username, string password)
 {
     Logica.Metodos.AdministrativoCL oAdministradorSql = new Logica.Metodos.AdministrativoCL();
      bool conexion = oAdministradorSql.ValidarSession(username, password);
      return conexion;
 }
 public IEnumerable<Estructuras.Administrador_Persona> TraerAdministradores(string filtro)
 {
     List<Estructuras.Administrador_Persona> Administradores = new List<Estructuras.Administrador_Persona>();
     Logica.Metodos.AdministrativoCL oAdministradorSql = new Logica.Metodos.AdministrativoCL();
     var data = oAdministradorSql.CargarAdministrativos(filtro);
     if (oAdministradorSql.IsError)
     {
         return null;
     }
     foreach (DataRow item in data.Tables[0].Rows)
     {
         Administradores.Add(new Administrador_Persona()
         {
             Cedula = Convert.ToInt32(item["cedula"]),
             Nombre = item["nombre"].ToString(),
             Apellidos = item["apellidos"].ToString(),
             Username=item["username"].ToString(),
         });
     }
     return Administradores;
 }
        public Estructuras.Administrador_Persona ObtenerAdministrador(string username)
        {
            Logica.Metodos.AdministrativoCL oAdministradorSql = new Logica.Metodos.AdministrativoCL();
            Administrador_Persona oAdministrador_Persona = new Administrador_Persona();
            if (oAdministradorSql.UsernameRepetido(username))
            {
                var data = oAdministradorSql.ObtenerAdministrador(username);
                oAdministrador_Persona.Cedula = Convert.ToInt32(data.Tables[0].Rows[0]["cedula"]);
                oAdministrador_Persona.Nombre = data.Tables[0].Rows[0]["nombre"].ToString();
                oAdministrador_Persona.Apellidos = data.Tables[0].Rows[0]["apellidos"].ToString();
                oAdministrador_Persona.Username = data.Tables[0].Rows[0]["username"].ToString();
            }
            else
            {

            }
            return oAdministrador_Persona;
        }
 public string InsertarAdministrador(Estructuras.Persona persona, Estructuras.Adminstrador administrador)
 {
     string mensaje = "";
     if (persona.Nombre == "" || persona.Nombre == " " || persona.Apellidos == "" || persona.Apellidos == " " ||
         administrador.Username == " " || administrador.Username == "" || administrador.password == "" || administrador.password == " ")
     {
         mensaje = "Todos los espacios en los datos a la hora de ingresar deben ir completos";
     }
     else
     {
         Logica.Metodos.AdministrativoCL oAdministradorSql = new Logica.Metodos.AdministrativoCL();
         Logica.Metodos.PersonaCl oPersonaCl = new Logica.Metodos.PersonaCl();
         if (oPersonaCl.CedulaRepetida(persona.Cedula))
         {
             mensaje = "La cedula ya esta registrada para una administrados,profesor o estudiante";
         }
         else
         {
             if (oAdministradorSql.UsernameRepetido(administrador.Username))
             {
                 mensaje = "Ese nombre de usuario no esta disponible";
             }
             else
             {
                 oPersonaCl.InsertarPersona(persona.Cedula, persona.Nombre, persona.Apellidos);
                 if (oPersonaCl.IsError)
                 {
                     mensaje = "Error " + oPersonaCl.ErrorDescripcion;
                 }
                 else { mensaje = "Persona agregada correctamene"; }
                 oAdministradorSql.InsertarAdministrador(administrador.Username, administrador.password, persona.Cedula);
                 if (oAdministradorSql.IsError)
                 {
                     mensaje = "Error " + oAdministradorSql.ErrorDescripcion;
                 }
                 else { mensaje = mensaje + " y username agregada correctamene"; }
             }
         }
     }
     return mensaje;
 }