Пример #1
0
        private async Task <stock_available> CreateStock(product product, Assort assort, combination combination)
        {
            var stock = new stock_available
            {
                id_product = product.id,
                quantity   = assort.Balance
            };

            if (combination != null)
            {
                stock.id_product_attribute = combination.id;
            }

            return((await _apiFactory.StockFactory.AddList(new List <stock_available> {
                stock
            })).First());
        }
Пример #2
0
        /// <summary>
        /// Procedimiento de Pedido: Actualizar Nro de Guia por Prestashop WebService
        /// </summary>
        /// <param name="id_orden">Id de Orden</param>
        /// <param name="serie_guia">Numero de Guia</param>
        /// <returns>Verdadero/Falso</returns>
        //public static bool ActualizarGuia(int id_orden, string serie_guia)
        //{
        //    bool result = false;
        //    try
        //    {
        //        OrderFactory of = new OrderFactory(BaseUrl, Account, Password);

        //        // Actualizar Orden
        //        order orden = of.Get(id_orden);
        //        orden.shipping_number = serie_guia;
        //        orden.current_state = 4; // Pedido Enviado (Shipped)
        //        of.Update(orden);

        //        // Actualizar Orden_Carrier
        //        // Filtro
        //        Dictionary<string, string> dtn = new Dictionary<string, string>();
        //        dtn.Add("id_order", id_orden.ToString());

        //        OrderCarrierFactory ocf = new OrderCarrierFactory(BaseUrl, Account, Password);
        //        order_carrier orden_trans = ocf.GetByFilter(dtn,null,null).FirstOrDefault();
        //        if (orden_trans != null)
        //        {
        //            orden_trans.tracking_number = serie_guia;
        //            ocf.Update(orden_trans);
        //            //Console.WriteLine(String.Format("{0}, {1}, {2}, {3}", orden_trans.id, orden_trans.id_carrier, orden_trans.id_order, orden_trans.id_order_invoice));
        //            //Console.ReadLine();
        //        }
        //        result = true;
        //    }
        //    catch (Exception)
        //    {
        //        result = false;
        //    }
        //    return result;
        //}



        public static bool ActualizarGuia(int id_orden, string serie_guia)
        {
            bool result           = false;
            int  ID_CLIENTE       = 20;
            int  ID_PRODUCTO_1    = 8092950;
            int  ID_PRODUCTO_2    = 8899998;
            int  STOCK_ACTUAL     = 10;
            int  CANTIDAD_COMPRA  = 2;
            int  DIRECCION_ENVIO  = 30;
            int  ID_TRANSPORTISTA = 16;

            for (int i = 1; i <= 200; i++)
            {
                try
                {
                    // Obtener los productos
                    Dictionary <string, string> dtn = new Dictionary <string, string>();
                    dtn.Add("id", ID_PRODUCTO_1.ToString());
                    product pro1 = pf.GetByFilter(dtn, null, null).FirstOrDefault();


                    // Agregar Stock a Producto = 10
                    dtn = new Dictionary <string, string>();
                    dtn.Add("id_product", pro1.id.ToString());
                    dtn.Add("id_product_attribute", pro1.associations.combinations.FirstOrDefault().id.ToString());
                    stock_available osa = sf.GetByFilter(dtn, null, null).FirstOrDefault();
                    osa.quantity = STOCK_ACTUAL;
                    sf.Update(osa);

                    dtn = new Dictionary <string, string>();
                    dtn.Add("id", ID_PRODUCTO_2.ToString());
                    product pro2 = pf.GetByFilter(dtn, null, null).FirstOrDefault();

                    dtn = new Dictionary <string, string>();
                    dtn.Add("id_product", pro2.id.ToString());
                    dtn.Add("id_product_attribute", pro2.associations.combinations.FirstOrDefault().id.ToString());
                    osa          = sf.GetByFilter(dtn, null, null).FirstOrDefault();
                    osa.quantity = STOCK_ACTUAL;
                    sf.Update(osa);

                    // Agregar Carrito
                    cart carrito = new cart();
                    carrito.id_shop_group       = 1;
                    carrito.id_shop             = 1;
                    carrito.id_carrier          = ID_TRANSPORTISTA;
                    carrito.delivery_option     = "a:1:{i:13;s:3:\"16,\";}";
                    carrito.id_lang             = 1;
                    carrito.id_address_delivery = 30;
                    carrito.id_address_invoice  = 30;
                    carrito.id_currency         = 1;
                    carrito.id_customer         = ID_CLIENTE;
                    carrito.id_guest            = 254;

                    // Agregar Detalle Carrito
                    cart_row cr = new cart_row();
                    cr.id_product           = ID_PRODUCTO_1;
                    cr.id_product_attribute = pro1.associations.combinations.FirstOrDefault().id;
                    cr.quantity             = CANTIDAD_COMPRA;
                    cr.id_address_delivery  = DIRECCION_ENVIO;
                    carrito.associations.cart_rows.Add(cr);

                    cr                      = new cart_row();
                    cr.id_product           = ID_PRODUCTO_2;
                    cr.id_product_attribute = pro2.associations.combinations.FirstOrDefault().id;
                    cr.quantity             = CANTIDAD_COMPRA;
                    cr.id_address_delivery  = DIRECCION_ENVIO;
                    carrito.associations.cart_rows.Add(cr);

                    carrito = oc.Add(carrito);

                    // Agregar Orden
                    order orden = new order();
                    orden.id_shop_group       = 1;
                    orden.id_shop             = 1;
                    orden.id_carrier          = ID_TRANSPORTISTA;
                    orden.id_lang             = 1;
                    orden.id_customer         = ID_CLIENTE;
                    orden.id_cart             = carrito.id;
                    orden.id_currency         = 1;
                    orden.id_address_delivery = DIRECCION_ENVIO;
                    orden.id_address_invoice  = DIRECCION_ENVIO;
                    orden.current_state       = 2;
                    orden.payment             = "Cash on delivery (COD)";
                    orden.conversion_rate     = 1.0M;
                    orden.module                   = "cashondelivery";
                    orden.recyclable               = 0;
                    orden.gift                     = 0;
                    orden.gift_message             = "";
                    orden.mobile_theme             = 0;
                    orden.shipping_number          = "";
                    orden.total_discounts          = 0M;
                    orden.total_discounts_tax_incl = 0M;
                    orden.total_discounts_tax_excl = 0M;
                    orden.total_paid               = 363.400M;
                    orden.total_paid_tax_incl      = 363.400M;
                    orden.total_paid_tax_excl      = 290.713M;
                    orden.total_paid_real          = 0M;
                    orden.total_products           = 284.413M;
                    orden.total_products_wt        = 115.900M;
                    orden.total_shipping           = 0M;
                    orden.total_shipping_tax_incl  = 0M;
                    orden.total_shipping_tax_excl  = 0M;
                    orden.carrier_tax_rate         = 18M;
                    orden.total_wrapping           = 0M;
                    orden.total_wrapping_tax_incl  = 0M;
                    orden.total_wrapping_tax_excl  = 0M;
                    orden.invoice_number           = 0;
                    orden.delivery_number          = 11;
                    orden.valid                    = 1;
                    orden.date_add                 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                    orden.date_upd                 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

                    order_row or = new order_row();
                    or.product_id           = pro1.id;
                    or.product_attribute_id = pro1.associations.combinations.FirstOrDefault().id;
                    or.product_ean13        = "";
                    or.product_name         = pro1.description.ToString();
                    or.product_quantity     = 1;
                    or.product_price        = 46.525424M;
                    or.product_reference    = pro1.reference;
                    or.product_upc          = "";
                    or.unit_price_tax_excl  = 37.203391M;
                    or.unit_price_tax_incl  = 43.900001M;
                    orden.associations.order_rows.Add(or);

                    or                      = new order_row();
                    or.product_id           = pro2.id;
                    or.product_attribute_id = pro2.associations.combinations.FirstOrDefault().id;
                    or.product_ean13        = "";
                    or.product_name         = pro2.description.ToString();
                    or.product_quantity     = 1;
                    or.product_price        = 76.186441M;
                    or.product_reference    = pro2.reference;
                    or.product_upc          = "";
                    or.unit_price_tax_excl  = 60.932204M;
                    or.unit_price_tax_incl  = 71.900001M;
                    orden.associations.order_rows.Add(or);

                    order ok = new order();
                    ok = of.Add(orden);

                    ok.current_state = 2;
                    of.Update(ok);

                    /*
                     * Dictionary<string, string> dtn = new Dictionary<string, string>();
                     * dtn.Add("id", id_orden.ToString());
                     *
                     * OrderFactory ocf = new OrderFactory(BaseUrl, Account, Password);
                     * order o = ocf.GetByFilter(dtn, null, null).FirstOrDefault();
                     *
                     * of.Add(o);
                     */

                    result = true;
                    Console.WriteLine(String.Format("Se agrego la Orden Nro {0}", ok.id));
                }
                catch (PrestaSharpException ex)
                {
                    result = false;
                    Console.Write(ex.Message);
                    Console.ReadKey();
                }
                catch (Exception ex)
                {
                    result = false;
                    Console.Write(ex.Message);
                    Console.ReadKey();
                }
            }



            return(result);
        }