public HttpResponseMessage AgregarCliente(Cliente cliente)
        {
            if (cliente == null || !ProcesadorCliente.ProcesarCliente(cliente))
            {
                HttpResponseMessage responseError = Request.CreateResponse(HttpStatusCode.NotFound);
                return(responseError);
            }
            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK);

            return(response);
        }
        public HttpResponseMessage ActualizarContra(ObjGeneral obj)
        {
            if (!ProcesadorCliente.ProcesoCambiarContra(int.Parse(User.Identity.Name), obj.opcion, obj.opcion2))
            {//No se proceso bien la solicitud
                HttpResponseMessage responseError = Request.CreateResponse(HttpStatusCode.NotFound);
                return(responseError);
            }
            //Encontro la lista de clientes
            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK);

            return(response);
        }
        public HttpResponseMessage BorrarCliente([FromBody] string cedula)
        {
            if (!ProcesadorCliente.ProcesoBorrarCliente(int.Parse(cedula)))
            {//No se proceso bien la solicitud
                HttpResponseMessage responseError = Request.CreateResponse(HttpStatusCode.NotFound);
                return(responseError);
            }
            //Encontro la lista de clientes
            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK);

            return(response);
        }
        public HttpResponseMessage ActualizarCliente(Cliente cliente)
        {
            if (!ProcesadorCliente.ProcesoActualizarCliente(int.Parse(User.Identity.Name), cliente))
            {//No se proceso bien la solicitud
                HttpResponseMessage responseError = Request.CreateResponse(HttpStatusCode.NotFound);
                return(responseError);
            }
            //Encontro la lista de clientes
            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK);

            return(response);
        }
Beispiel #5
0
        /// <summary>
        /// Se valida la solicitud de logeo y si es correcta se envia a generar el token
        /// </summary>
        /// <param name="context">Informacion sobre la solicitud de logeo, tiene el
        /// password, nombre de usuario y tipo de solicitud(empleado o cliente)</param>
        /// <returns></returns>
        public override Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" });
            var identity = new ClaimsIdentity("JWT");

            //Cuando se está intentando logear un cliente
            if (context.ClientId == "cliente")
            {
                if (!ProcesadorCliente.ProcesoLogearCliente(int.Parse(context.UserName), context.Password))
                {
                    context.SetError("Login incorrecto", "Usuario y/o contraseña incorrecto");
                    return(Task.FromResult <object>(null));
                }
                else
                {
                    identity.AddClaim(new Claim(ClaimTypes.Name, context.UserName));
                    identity.AddClaim(new Claim(ClaimTypes.Role, "Cliente"));
                }
            }

            //Cuando se esta intentando logear un empleado
            else if (context.ClientId == "empleado")
            {
                List <string> roles = ProcesadorEmpleado.ProcesoLogearEmpleado(int.Parse(context.UserName), context.Password);
                if (roles == null)
                {
                    context.SetError("Login incorrecto", "Usuario y/o contraseña incorrecto");
                    return(Task.FromResult <object>(null));
                }
                else
                {
                    identity.AddClaim(new Claim(ClaimTypes.Name, context.UserName));
                    foreach (string rol in roles)
                    {
                        identity.AddClaim(new Claim(ClaimTypes.Role, rol));
                    }
                }
            }

            //Cuando es una solicitud incorrecta
            else
            {
                context.SetError("Login incorrecto", "Id de solicitud incorrecto");
                return(Task.FromResult <object>(null));
            }

            //Se genera el ticket del token si el logeo es correcto
            var ticket = new AuthenticationTicket(identity, null);

            context.Validated(ticket);
            return(Task.FromResult <object>(null));
        }
        public HttpResponseMessage ConsultarClientes()
        {
            List <Cliente> clientes = ProcesadorCliente.ProcesoConsultarClientes();

            if (clientes == null)  //No se proceso bien la solicitud
            {
                HttpResponseMessage responseError = Request.CreateResponse(HttpStatusCode.Unauthorized);
                return(responseError);
            }
            //Encontro la lista de clientes
            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, clientes);

            return(response);
        }