public IActionResult LoginEmpresaAdmin([FromQuery] int _idEmpresa, [FromBody] Usuario usuario)
        {
            bl.EmpresaController controlador = new bl.EmpresaController();
            var buscarUsuario = controlador.LoginAdministradorInicial(_idEmpresa, usuario.Email, usuario.Password);

            if (buscarUsuario == false)
            {
                buscarUsuario = controlador.LoginAdministradorEmpresa(_idEmpresa, usuario.Email, usuario.Password);
            }

            if (buscarUsuario == false)
            {
                return(Unauthorized());
            }

            var tokenHandler    = new JwtSecurityTokenHandler();
            var key             = Encoding.ASCII.GetBytes(_appSettings.Secret);
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.Role, Enum.GetName(typeof(RolUsuario), RolUsuario.Admin))
                }),
                Expires            = DateTime.UtcNow.AddDays(7),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };
            var token       = tokenHandler.CreateToken(tokenDescriptor);
            var returnToken = tokenHandler.WriteToken(token);

            return(Ok(new { usuario.Email, token = returnToken }));
        }
        public IActionResult ListarEmpresasActivas()
        {
            bl.EmpresaController controladorEmpresa = new bl.EmpresaController();
            var companies = controladorEmpresa.ListarEmpresasActivas();

            return(Ok(companies));
        }
        public IActionResult List([FromQuery] int idEmpresa)
        {
            bl.EmpresaController controladorEmpresa = new bl.EmpresaController();

            var _administradores = controladorEmpresa.ListarAdministradores(idEmpresa);

            return(Ok(_administradores));
        }
 public IActionResult Post([FromQuery] int idEmpresa, [FromBody] UsuarioAdministrador usuario)
 {
     try
     {
         bl.EmpresaController controlador = new bl.EmpresaController();
         controlador.AgregarAdministrador(idEmpresa, usuario);
         return(Ok(new { result = true, message = "Administrador creado correctamente" }));
     }
     catch (Exception ex)
     {
         return(Ok(new { result = false, message = ex.Message }));
     }
 }
 public IActionResult Post([FromBody] NuevaEmpresaModel model)
 {
     try
     {
         bl.EmpresaController controladorEmpresa = new bl.EmpresaController();
         controladorEmpresa.AgregarEmpresa(model.Empresa, model.Administrador);
         return(Ok(new { result = true, message = "Formulario enviado correctamente, falta la aprobación por parte de un administrador." }));
     }
     catch (Exception e)
     {
         return(Ok(new { result = false, message = e.ToString() }));
     }
 }
 public IActionResult Update(int id, [FromBody] Empresa empresa)
 {
     bl.EmpresaController controladorEmpresa = new bl.EmpresaController();
     try
     {
         controladorEmpresa.ModificarEmpresa(id, empresa);
         return(Ok());
     }
     catch (Exception ex)
     {
         return(NotFound(ex.Message));
     }
 }
 public IActionResult Delete(int id)
 {
     bl.EmpresaController controladorEmpresa = new bl.EmpresaController();
     try
     {
         controladorEmpresa.EliminarEmpresa(id);
         return(Ok());
     }
     catch (Exception)
     {
         return(NotFound("No existe la empresa."));
     }
 }
 public IActionResult CambiarColores([FromQuery] int id, string colorPrimario, string colorSecundario)
 {
     bl.EmpresaController controladorEmpresa = new bl.EmpresaController();
     try
     {
         controladorEmpresa.ModificarColores(id, colorPrimario, colorSecundario);
         return(Ok());
     }
     catch (Exception ex)
     {
         return(NotFound(ex.Message));
     }
 }
        public IActionResult AprobarEmpresa([FromQuery] int id, int comision)
        {
            try
            {
                bl.EmpresaController controladorEmpresa = new bl.EmpresaController();
                var empresa = controladorEmpresa.ObtenerEmpresa(id);
                empresa.Comision = comision;
                controladorEmpresa.AprobarEmpresa(empresa);

                return(Ok(new { result = true, message = "Se aprobó la empresa" }));
            }
            catch (Exception e)
            {
                return(Ok(new { result = false, message = e.ToString() }));
            }
        }
        public IActionResult GetEmpresaPorNombre([FromQuery] string urlEmpresa)
        {
            bl.EmpresaController controladorEmpresa = new bl.EmpresaController();
            var empresa = controladorEmpresa.ObtenerEmpresaPorUrl(urlEmpresa);

            if (empresa == null)
            {
                return(NotFound("No existe la empresa."));
            }
            else
            {
                return(Ok(new { empresa.ID, empresa.Conexion, empresa.Nombre, empresa.Direccion,
                                empresa.Telefono, empresa.RUT, empresa.URL, empresa.UrlImagenPerfil, empresa.UrlImagenPortada,
                                empresa.ColorPrimario, empresa.ColorSecundario }));
            }
        }
        public IActionResult Get(int id)
        {
            bl.EmpresaController controladorEmpresa = new bl.EmpresaController();
            var empresa = controladorEmpresa.ObtenerEmpresa(id);

            if (empresa == null)
            {
                return(NotFound("No existe la empresa."));
            }
            else
            {
                return(Ok(new { empresa.ID, empresa.Conexion, empresa.Nombre, empresa.Direccion,
                                empresa.Telefono, empresa.RUT, empresa.AdministradorInicial,
                                empresa.UrlImagenPerfil,
                                empresa.UrlImagenPortada, empresa.ColorPrimario, empresa.ColorSecundario }));
            }
        }
 public IActionResult ModificarAdministrador(int idEmpresa, [FromBody] UsuarioAdministrador usuario)
 {
     bl.EmpresaController controladorEmpresa = new bl.EmpresaController();
     try
     {
         var mensaje = controladorEmpresa.ModificarAdministrador(idEmpresa, usuario);
         if (mensaje == "OK")
         {
             return(Ok(new { result = true, message = "Se modifico correctamente." }));
         }
         else
         {
             return(Ok(new { result = false, message = mensaje }));
         }
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.StackTrace));
     }
 }
 public IActionResult EliminarAdministrador(int idEmpresa, int idAdmin)
 {
     bl.EmpresaController controladorEmpresa = new bl.EmpresaController();
     try
     {
         var mensaje = controladorEmpresa.EliminarAdministrador(idEmpresa, idAdmin);
         if (mensaje == "OK")
         {
             return(Ok(new { result = true, message = "Se elimino correctamente." }));
         }
         else
         {
             return(Ok(new { result = false, message = "La Empresa no existe." }));
         }
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.StackTrace));
     }
 }
        public IActionResult DesactivarEmpresa([FromQuery] int id)
        {
            try
            {
                bl.EmpresaController controladorEmpresa = new bl.EmpresaController();
                var mensaje = controladorEmpresa.DesactivarEmpresa(id);

                if (mensaje == "OK")
                {
                    return(Ok(new { result = true, message = "Se desactivo la empresa correctamente." }));
                }
                else
                {
                    return(Ok(new { result = false, message = "La empresa no existe." }));
                }
            }
            catch (Exception e)
            {
                return(Ok(new { result = false, message = e.ToString() }));
            }
        }