public IEnumerable<Articulo> GetAllArticulos(string key, int type)
        {
            string _key;
            Encriptador enc = new Encriptador();
            _key =enc.Desencriptar(key);

            return repository.GetAll(_key, type);
        }
        // para la autenticacion
        public void UserRepositoryAccess(string login, string password)
        {
            access = new Access();
            decimal user_id = 0;
            string user_email = "";
            int user_error = 1;
            string code_error = "";
            string user_nombre = "";

            string valor1 = "";
            string valor2 = "";
            string key = "";

            String _query = "exec sp_login '"+login+"','"+password+"' ";
            BaseDatos conexion = new BaseDatos("SQL");   //Creando objetos de la base de datos
            conexion.Conectar();
            conexion.CrearComando(_query); //Comando indica que quiero encontrar
            DbDataReader DRConexion = conexion.EjecutarConsulta();
            while (DRConexion.Read())
            {
                user_id = DRConexion.GetDecimal(0);
                user_email = DRConexion.GetString(1);
                user_error = DRConexion.GetInt32(2);
                user_nombre = DRConexion.GetString(3);
            }
            conexion.Desconectar();

            // procesamos token
            if (user_id > 0)
            {
                valor1 = "{\"personaid\":\""+user_id+"\", \"email\":\""+user_email+"\", \"error\":\""+user_error+"\", \"nombre\":\""+user_nombre+"\"}";
                valor2 = "enia2013";
                // encriptamos el valor
                Encriptador enc = new Encriptador();
                valor1 = enc.Encriptar(valor1);
                //valor2 = enc.Encriptar(valor2);
                key =  valor1+"_"+valor2;

            }

            if (user_error != 0)
            {
                code_error = "Invalid AccessToken";
                key = "";

            }
            else
            {
                code_error = "Valid AccessToken";
            }

            access = new Access
            {
                //userID = DRConexion.GetDecimal(0),
                token = key.Replace("+","%2B").Replace("/","%2F"),
                codigo = code_error
            };
        }
 public bool Get(string id, string token)
 {
     Encriptador enc = new Encriptador();
     try
     {
         string data_token = enc.Desencriptar(token);
         return UserActived(int.Parse(data_token));
     }
     catch
     {
         return false;
     }
 }
        public Item Add(string id, Item itemNew)
        {
            Encriptador enc = new Encriptador();

            try
            {
                id = enc.Desencriptar(id);

            }
            catch
            {
                var resp = new HttpResponseMessage(HttpStatusCode.NonAuthoritativeInformation)
                {
                    Content = new StringContent(string.Format("User invalid = {0}", id)),
                    ReasonPhrase = "User ID Not Found",
                    StatusCode = HttpStatusCode.NonAuthoritativeInformation
                };
                throw new HttpResponseException(resp);
            }

            ItemPost(id, itemNew);

            return item;
        }
        private decimal validaAccessToken(string token)
        {
            string data_token = "";
            string origen     = "_enia2013";

            token = token.Replace(origen, "");
            Encriptador enc = new Encriptador();

            data_token = enc.Desencriptar(token);
            bool    mailValido   = false;
            bool    token_valido = false;
            decimal personaid    = 0;

            StreamWriter writer = File.AppendText("D:\\electroniaLogs\\pruebasPostTokenDEcri.txt");

            writer.WriteLine("mi itme creado = " + data_token);
            writer.Close();

            User user = new User();

            try
            {
                JObject myJson = JObject.Parse(data_token);
                user.email  = (string)myJson["email"];
                user.userID = decimal.Parse((string)myJson["personaid"]);
                user.nombre = (string)myJson["nombre"];
                if ((string)myJson["error"] == "0")
                {
                    token_valido = true;
                }
            }
            catch (Exception e)
            {
                token_valido = false;
                writer       = File.AppendText("D:\\electroniaLogs\\pruebasPostTokenException.txt");
                writer.WriteLine("mi itme creado = " + e + " -mitkn=" + data_token);
                writer.Close();
            }



            if (token_valido)
            {
                // validamos el email
                String    _query   = "exec [sp_validaMail] '" + user.email + "'";
                BaseDatos conexion = new BaseDatos("SQL"); //Creando objetos de la base de datos
                conexion.Conectar();
                conexion.CrearComando(_query);             //Comando indica que quiero encontrar
                DbDataReader DRConexion = conexion.EjecutarConsulta();
                while (DRConexion.Read())
                {
                    if (DRConexion.GetInt32(0) == 0)
                    {
                        mailValido = true;
                    }
                }
                conexion.Desconectar();

                // si el mail es valido
                if (mailValido)
                {
                    //agregamos al item la persona id para que la procese
                    personaid = user.userID;
                }
            }



            //data_token = " {“personaid”:”valor”, “email”:”valor”, “error”:”valor”, “nombre”:”valor”}";

            /*
             *   List<Menu> menu = new List<Menu>();
             * HttpClient client = new HttpClient();
             * client.BaseAddress = new Uri("http://www.electronia.com.mx");
             *
             * // Add an Accept header for JSON format.
             * client.DefaultRequestHeaders.Accept.Add(
             *  new MediaTypeWithQualityHeaderValue("application/json"));
             *
             * // Send an HTTP GET request. Blocking!
             * HttpResponseMessage resp = client.GetAsync("/api/api/menu?type=" + typeMenu + "&clasificacion=" + clasificacion + "&aparato=" + aparato + "&marca=" + marca +
             *  "&modelo=" + modelo + "&estado=" + estado + "&tienda=" + tienda + "").Result;
             * if (resp.IsSuccessStatusCode)
             * {
             *  // Parse the response body. Blocking!
             *  var products = resp.Content.ReadAsAsync<IEnumerable<Menu>>().Result;
             *  //ViewData["listado"] = "";
             *  menu.Clear();
             *  foreach (var p in products)
             *  {
             *      menu.Add(
             *        new Menu
             *        {
             *            id = p.id,
             *            tipo = typeMenu,
             *            item = p.item,
             *            cantidad = p.cantidad,
             *            url = "http:electronia.mx/laurldefinir"
             *
             *        });
             *      // + p.articuloID + "-" + p.identificador + "-" + p.clasificacion + "-" + p.aparato + "-" + p.precio;
             *
             *  }
             * }
             * else
             * {
             *  // Response.Write((int)resp.StatusCode + resp.ReasonPhrase);
             * }
             *
             * return menu;
             */

            return(personaid);
        }
        private decimal validaAccessToken(string token)
        {
            string data_token = "";
            string origen = "_enia2013";
            token = token.Replace(origen, "");
            Encriptador enc = new Encriptador();
            data_token = enc.Desencriptar(token);
            bool mailValido = false;
            bool token_valido = false;
            decimal personaid = 0;

            StreamWriter writer = File.AppendText("D:\\electroniaLogs\\pruebasPostTokenDEcri.txt");
            writer.WriteLine("mi itme creado = " + data_token);
            writer.Close();

            User user = new User();
            try
            {
                JObject myJson = JObject.Parse(data_token);
                user.email = (string)myJson["email"];
                user.userID = decimal.Parse((string)myJson["personaid"]);
                user.nombre = (string)myJson["nombre"];
                if ((string)myJson["error"] == "0") { token_valido = true; }
            }
            catch (Exception e)
            {
                token_valido = false;
                writer = File.AppendText("D:\\electroniaLogs\\pruebasPostTokenException.txt");
                writer.WriteLine("mi itme creado = " + e + " -mitkn="+data_token);
                writer.Close();
            }

            if (token_valido)
            {
                // validamos el email
                String _query = "exec [sp_validaMail] '" + user.email + "'";
                BaseDatos conexion = new BaseDatos("SQL");   //Creando objetos de la base de datos
                conexion.Conectar();
                conexion.CrearComando(_query); //Comando indica que quiero encontrar
                DbDataReader DRConexion = conexion.EjecutarConsulta();
                while (DRConexion.Read())
                {

                    if (DRConexion.GetInt32(0) == 0) { mailValido = true; }

                }
                conexion.Desconectar();

                // si el mail es valido
                if (mailValido)
                {
                     //agregamos al item la persona id para que la procese
                    personaid = user.userID;
                }

            }

            //data_token = " {“personaid”:”valor”, “email”:”valor”, “error”:”valor”, “nombre”:”valor”}";
            /*
             *   List<Menu> menu = new List<Menu>();
            HttpClient client = new HttpClient();
            client.BaseAddress = new Uri("http://www.electronia.com.mx");

            // Add an Accept header for JSON format.
            client.DefaultRequestHeaders.Accept.Add(
                new MediaTypeWithQualityHeaderValue("application/json"));

            // Send an HTTP GET request. Blocking!
            HttpResponseMessage resp = client.GetAsync("/api/api/menu?type=" + typeMenu + "&clasificacion=" + clasificacion + "&aparato=" + aparato + "&marca=" + marca +
                "&modelo=" + modelo + "&estado=" + estado + "&tienda=" + tienda + "").Result;
            if (resp.IsSuccessStatusCode)
            {
                // Parse the response body. Blocking!
                var products = resp.Content.ReadAsAsync<IEnumerable<Menu>>().Result;
                //ViewData["listado"] = "";
                menu.Clear();
                foreach (var p in products)
                {
                    menu.Add(
                      new Menu
                      {
                          id = p.id,
                          tipo = typeMenu,
                          item = p.item,
                          cantidad = p.cantidad,
                          url = "http:electronia.mx/laurldefinir"

                      });
                    // + p.articuloID + "-" + p.identificador + "-" + p.clasificacion + "-" + p.aparato + "-" + p.precio;

                }
            }
            else
            {
                // Response.Write((int)resp.StatusCode + resp.ReasonPhrase);
            }

            return menu;
             */

            return personaid;
        }