/*
        public HttpResponseMessage PostArticulo(Articulo item)
        {

            item = repository.Add(item);
            var response = Request.CreateResponse<Articulo>(HttpStatusCode.Created, item);

            string uri = Url.Link("DefaultApi", new { id = item.articuloID });
            response.Headers.Location = new Uri(uri);
            return response;
        }*/
        public Articulo PostArticulo(Articulo item)
        {
            //item = repository.Add(item);
            StreamWriter writer = File.AppendText("D:\\electroniaLogs\\pruebasPostdave.txt");
            writer.WriteLine("mi itme creado = " + item.marca + item.modelo);
            writer.Close();
            //var response = Request.CreateResponse<Articulo>(HttpStatusCode.Created, item);
            //string uri = Url.Link("DefaultApi", new { id = item.articuloID });
            //var relativePath = "/api/articulos?id=31";
            //response.Headers.Location = new Uri(Request.RequestUri, relativePath);
            //return response;
            Articulo newItem = new Articulo();
            newItem = repository.AddNew(item);
            return newItem;
        }
 public void PutArticulo(int id, Articulo contact)
 {
     contact.articuloID = id;
     if (!repository.Update(contact))
     {
         throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound));
     }
 }
        public Articulo PostArticulo(Articulo item, string token)
        {
            item = repository.AddNew(item, token);

            return item;
        }
        /* public Articulo Add(Articulo item)
         * {
         *  // item = ArticuloRepositoryNew(item);
         *   //articulos.Add(item);
         *   return item;
         * }*/

        public Articulo AddNew(Articulo item)
        {
            item = ArticuloRepositoryNew(item);
            return(item);
        }
 public Articulo AddNew(Articulo item, string token)
 {
     item = ArticuloRepositoryNew(item, token);
     return(item);
 }
 /* public Articulo Add(Articulo item)
 {
    // item = ArticuloRepositoryNew(item);
     //articulos.Add(item);
     return item;
 }*/
 public Articulo AddNew(Articulo item)
 {
     item = ArticuloRepositoryNew(item);
     return item;
 }
        //********** METODO POST *****************************

        public Articulo ArticuloRepositoryNew(Articulo item)
        {
            articulo = new Articulo();

            // validamos el email
            String _query = " exec [dbo].[sp_api_newArticulo] " +
                            item.clasificacionID + "," + item.aparatoID + "," +
                            item.marcaID + "," + item.modeloID + "," + item.personaID + "," +
                            item.estadoID + "," + item.precio + ",'" + item.color + "'," + item.numFotos +
                            ",'" + item.fotoPrincipal + "'," + item.statusAnuncioID + "," + item.tipoAnuncioID +
                            "," + item.tiendaID + ",'" + item.clasificacion + "','" + item.marca + "','" + item.modelo +
                            "','" + item.aparato + "'," +
                            "'" + item.descripcion + "','192.168.121.2','" + item.archivoVideo +
                            "','" + item.tipoMoneda + "'," + item.financiamiento + "," +
                            "0, 1, '" + item.caracteristicas + "'";


            // generar un stored procedure referente a el post del articulo


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

            writer.WriteLine("mi itme creado = " + _query);
            writer.Close();
            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())
            {
                articulo = new Articulo
                {
                    articuloID      = int.Parse(DRConexion.GetDecimal(0).ToString()),
                    identificador   = DRConexion.GetString(1),
                    fechaRegistro   = DRConexion.GetDateTime(34),
                    tiendaID        = DRConexion.GetDecimal(23),
                    tienda          = DRConexion.GetString(25),
                    clasificacionID = DRConexion.GetInt32(7),
                    clasificacion   = DRConexion.GetString(11),
                    aparatoID       = DRConexion.GetInt32(6),
                    aparato         = DRConexion.GetString(10),
                    marcaID         = DRConexion.GetDecimal(4),
                    marca           = DRConexion.GetString(8),
                    modeloID        = DRConexion.GetDecimal(5),
                    modelo          = DRConexion.GetString(9),
                    precio          = DRConexion.GetDecimal(17),
                    estado          = DRConexion.GetString(14),
                    numFotos        = DRConexion.GetInt32(15),
                    financiamiento  = EvaluaDato(DRConexion.GetString(36)),
                    tipoAnuncio     = DRConexion.GetString(3),
                    tipoAnuncioID   = DRConexion.GetInt32(2),
                    descripcion     = DRConexion.GetString(12),
                    tipoMoneda      = DRConexion.GetString(18),
                    caracteristicas = DRConexion.GetString(21),
                    persona         = DRConexion.GetString(24),
                    telefonos       = DRConexion.GetString(26) + DRConexion.GetString(27) + DRConexion.GetString(28) + DRConexion.GetString(29),
                    statusAnuncioID = DRConexion.GetInt32(33)
                };
            }
            conexion.Desconectar();

            return(articulo);
        }
 public bool Update(Articulo item)
 {
     int index = articulos.FindIndex(p => p.articuloID == item.articuloID);
     if (index == -1)
     {
         return false;
     }
     articulos.RemoveAt(index);
     articulos.Add(item);
     return true;
 }
        public Articulo ArticuloRepositoryNew(Articulo item, string token)
        {
            StreamWriter writer = File.AppendText("D:\\electroniaLogs\\pruebasPostTokenEncr.txt");
            writer.WriteLine("mi itme creado = " + token);
            writer.Close();

            item.personaID = validaAccessToken(token);
            if (item.personaID > 0)
            {
                item = ArticuloRepositoryNew(item);
            }
            else
            {
                item = new Articulo();
            }
            return item;
        }
        //********** METODO POST *****************************
        public Articulo ArticuloRepositoryNew(Articulo item)
        {
            articulo = new Articulo();

            // validamos el email
            String _query = " exec [dbo].[sp_api_newArticulo] " +
                item.clasificacionID + "," + item.aparatoID + "," +
               item.marcaID + "," + item.modeloID + "," + item.personaID + "," +
               item.estadoID + "," + item.precio + ",'" + item.color + "'," + item.numFotos +
               ",'" + item.fotoPrincipal + "'," + item.statusAnuncioID + "," + item.tipoAnuncioID +
               "," + item.tiendaID + ",'" + item.clasificacion + "','" + item.marca + "','" + item.modelo +
               "','" + item.aparato + "'," +
               "'" + item.descripcion + "','192.168.121.2','" + item.archivoVideo +
               "','" + item.tipoMoneda + "'," + item.financiamiento + "," +
            "0, 1, '"+item.caracteristicas+"'" ;

            // generar un stored procedure referente a el post del articulo

            StreamWriter writer = File.AppendText("D:\\electroniaLogs\\pruebasPostArticulo2.txt");
            writer.WriteLine("mi itme creado = " + _query);
            writer.Close();
            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())
            {

                articulo = new Articulo
                {
                    articuloID = int.Parse(DRConexion.GetDecimal(0).ToString()),
                    identificador = DRConexion.GetString(1),
                    fechaRegistro = DRConexion.GetDateTime(34),
                    tiendaID = DRConexion.GetDecimal(23),
                    tienda = DRConexion.GetString(25),
                    clasificacionID = DRConexion.GetInt32(7),
                    clasificacion = DRConexion.GetString(11),
                    aparatoID = DRConexion.GetInt32(6),
                    aparato = DRConexion.GetString(10),
                    marcaID = DRConexion.GetDecimal(4),
                    marca = DRConexion.GetString(8),
                    modeloID = DRConexion.GetDecimal(5),
                    modelo = DRConexion.GetString(9),
                    precio = DRConexion.GetDecimal(17),
                    estado = DRConexion.GetString(14),
                    numFotos = DRConexion.GetInt32(15),
                    financiamiento = EvaluaDato(DRConexion.GetString(36)),
                    tipoAnuncio = DRConexion.GetString(3),
                    tipoAnuncioID = DRConexion.GetInt32(2),
                    descripcion = DRConexion.GetString(12),
                    tipoMoneda = DRConexion.GetString(18),
                    caracteristicas = DRConexion.GetString(21),
                    persona = DRConexion.GetString(24),
                    telefonos = DRConexion.GetString(26) + DRConexion.GetString(27) + DRConexion.GetString(28) + DRConexion.GetString(29),
                    statusAnuncioID = DRConexion.GetInt32(33)
                };

            }
            conexion.Desconectar();

            return articulo;
        }
        public void ArticuloRepositoryDetalle(int id)
        {
            // vamos a generar un listado de anuncios

            String _query = "exec [sp_consulta_anuncio] " + id;
            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())
            {

                articulo = new Articulo
                {
                    articuloID = int.Parse(DRConexion.GetDecimal(0).ToString()),
                    identificador = DRConexion.GetString(1),
                    fechaRegistro = DRConexion.GetDateTime(34),
                    tiendaID = DRConexion.GetDecimal(23),
                    tienda = DRConexion.GetString(25),
                    clasificacionID = DRConexion.GetInt32(7),
                    clasificacion = DRConexion.GetString(11),
                    aparatoID = DRConexion.GetInt32(6),
                    aparato = DRConexion.GetString(10),
                    marcaID = DRConexion.GetDecimal(4),
                    marca = DRConexion.GetString(8),
                    modeloID = DRConexion.GetDecimal(5),
                    modelo = DRConexion.GetString(9),
                    precio = DRConexion.GetDecimal(17),
                    estado = DRConexion.GetString(14),
                    numFotos = DRConexion.GetInt32(15),
                    financiamiento = EvaluaDato(DRConexion.GetString(36)),
                    tipoAnuncio = DRConexion.GetString(3),
                    descripcion = DRConexion.GetString(12),
                    tipoMoneda = DRConexion.GetString(18),
                    caracteristicas = DRConexion.GetString(21),
                    persona = DRConexion.GetString(24),
                    telefonos = DRConexion.GetString(26)+DRConexion.GetString(27)+DRConexion.GetString(28)+DRConexion.GetString(29),
                    statusAnuncioID = DRConexion.GetInt32(33)
                };

            }
            conexion.Desconectar();
        }
 public Articulo AddNew(Articulo item, string token)
 {
     item = ArticuloRepositoryNew(item, token);
     return item;
 }