コード例 #1
0
    public static void MainOrders(string[] args)
    {
        MNC_Product_Sync.Navision_SalesOrder_Service.SalesOrder_PortClient client = new MNC_Product_Sync.Navision_SalesOrder_Service.SalesOrder_PortClient();



        client.ClientCredentials.Windows.ClientCredential.UserName = "******";

        client.ClientCredentials.Windows.ClientCredential.Password = "******";

        client.ClientCredentials.Windows.ClientCredential.Domain = "122.166.222.116";

        DBConnect db = new DBConnect();

        MNC_Product_Sync.MagentoConnectService.PortTypeClient mage_client = new MNC_Product_Sync.MagentoConnectService.PortTypeClient();

        string token_id = null;


        try
        {
            ServicePointManager.ServerCertificateValidationCallback = ((sender, certificate, chain, sslPolicyErrors) => true);

            token_id    = mage_client.login("webserviceuser", "apikey");
            _stateCodes = mage_client.directoryRegionList(token_id, "US");

            filters filtres = new filters();

            filtres.complex_filter = new complexFilter[]
            {
                new complexFilter()
                {
                    //key = "created_at",
                    //value = new associativeEntity
                    //{
                    //    key = "gt",
                    //    value = "2015-07-28 08:00:00"
                    //}

                    key   = "status",
                    value = new associativeEntity
                    {
                        key   = "eq",
                        value = "pending"
                    }
                }
            };

            salesOrderListEntity[] salesOrders = mage_client.salesOrderList(token_id, filtres);

            Hashtable hsc = db.fetch_Customer1Mapping();


            foreach (salesOrderListEntity orderHeader in salesOrders)
            {
                if (!db.fetch_Order(orderHeader.increment_id.ToString(), "1"))
                {
                    MNC_Product_Sync.Navision_SalesOrder_Service.SalesOrder so = new MNC_Product_Sync.Navision_SalesOrder_Service.SalesOrder();

                    MNC_Product_Sync.Navision_SalesOrder_Service.Sales_Order_Line[] sls = new MNC_Product_Sync.Navision_SalesOrder_Service.Sales_Order_Line[50];
                    salesOrderEntity        orderDetail   = mage_client.salesOrderInfo(token_id, orderHeader.increment_id);
                    salesOrderAddressEntity billToAddress = orderDetail.billing_address;
                    salesOrderAddressEntity shipToAddress = orderDetail.shipping_address;
                    so.Bill_to_Address       = billToAddress.street + " " + billToAddress.region + " " + billToAddress.postcode;
                    so.Ship_to_Address       = billToAddress.street + " " + billToAddress.region + " " + billToAddress.postcode;
                    so.Bill_to_Name          = billToAddress.firstname + " " + billToAddress.lastname + " ";
                    so.Ship_to_Name          = shipToAddress.firstname + " " + shipToAddress.lastname;
                    so.Bill_to_Contact       = billToAddress.telephone;
                    so.Sell_to_Customer_No   = hsc[orderDetail.customer_id].ToString();
                    so.Ship_to_Contact       = billToAddress.telephone;
                    so.External_Document_No  = orderHeader.increment_id;
                    so.Bill_to_Customer_No   = hsc[orderDetail.customer_id].ToString();
                    so.Sell_to_Customer_Name = orderHeader.customer_firstname + " " + orderHeader.customer_lastname;
                    so.Order_Date            = DateTime.Parse(orderHeader.created_at);
                    so.VAT_Bus_Posting_Group = "FOREIGN";



                    int i = 0;

                    foreach (salesOrderItemEntity li in orderDetail.items)
                    {
                        if (!db.fetch_Order(orderHeader.increment_id.ToString(), (i + 1).ToString()))
                        {
                            MNC_Product_Sync.Navision_SalesOrder_Service.Sales_Order_Line sl = new MNC_Product_Sync.Navision_SalesOrder_Service.Sales_Order_Line();
                            sl.Quantity = decimal.Parse(li.qty_ordered);
                            sl.VAT_Prod_Posting_Group = "DOMESTIC";
                            sl.No                = li.sku;
                            sl.Description       = li.name;
                            sl.Unit_Price        = decimal.Parse(li.base_price);
                            sl.Line_Amount       = decimal.Parse(li.base_row_total);
                            sl.TypeSpecified     = true;
                            sl.Sales_Header_Repl = decimal.Parse(li.base_price).ToString();
                            sl.QuantitySpecified = true;
                            sl.Type              = MNC_Product_Sync.Navision_SalesOrder_Service.Type.Item;
                            sl.Line_No           = i + 1;
                            sls[i]               = sl;


                            i = i + 1;
                            db.InsertOrderMapping(so.No, sl.Line_No.ToString(), orderHeader.increment_id, sl.Line_No.ToString(), orderHeader.customer_id);
                        }
                    }
                    if (!db.fetch_Order(orderHeader.increment_id.ToString(), (i + 1).ToString()))
                    {
                        try {
                            so.SalesLines = sls;
                            client.Create(ref so);
                            if (so.No != null)
                            {
                                db.UpdateOrder(orderHeader.increment_id, so.No);
                                db.InsertLog("Order", so.No, "Navision Order Number", "SUCCESS");
                            }
                        }
                        catch (Exception ex)
                        {
                            db.deleteOrder(orderHeader.increment_id);
                            db.InsertLog("Order", orderHeader.increment_id, ex.Message, "FAILED");
                        }
                    }
                }
            }
        }
        catch (Exception ex)
        {
            db.InsertLog("Order", "", ex.Message.ToString(), "FAILED");
            MNC_Product_Sync.ErrorLog errLog = new MNC_Product_Sync.ErrorLog();

            errLog.LogError("C:\\MNC_Logs", "Order : " + ex.Message);
        }
        finally
        {
            mage_client.endSession(token_id);
        }
    }
コード例 #2
0
    public static void Main(string [] args)
    {
        mIgnoreInvalidCertificates = new System.Net.Security.RemoteCertificateValidationCallback(delegate { return(true); });
        MagentoService mageService = new MagentoService();
        string         mageSession = null;

        if (args.Length < 3)
        {
            Console.WriteLine("Usage; ListOrders apiUser apiKey status [processing|complete|pending]");
            return;
        }

        try {
            _apiUser = args[0];
            _apiKey  = args[1];
            _status  = args[2];
            Console.WriteLine("Connecting to " + mageService.Url);
            if (_beSecure)                  //require secure communications
            {
                System.Net.ServicePointManager.ServerCertificateValidationCallback -= mIgnoreInvalidCertificates;
                Console.WriteLine("Requiring Valid Certificates from Remote Sites");
            }
            else                 /// Allow connections to SSL sites that have unsafe certificates.
            {
                System.Net.ServicePointManager.ServerCertificateValidationCallback += mIgnoreInvalidCertificates;
                Console.WriteLine("Ignoring Invalid Certificates from Remote Sites");
            }
            mageSession = mageService.login(_apiUser, _apiKey);
        }
        catch (Exception ex) {
            Console.WriteLine("Login failed: \"" + ex.Message + "\"\n");
            return;
        }

        try {
            _stateCodes = mageService.directoryRegionList(mageSession, "US");

            salesOrderListEntity[] salesOrders = mageService.salesOrderList(mageSession, tanMageFilter("status", "eq", _status, "10"));

            if (_wantXml)
            {
                System.Xml.Serialization.XmlSerializer xml = new System.Xml.Serialization.XmlSerializer(salesOrders.GetType());
                xml.Serialize(Console.Out, salesOrders);
                Console.WriteLine();
            }

            foreach (salesOrderListEntity orderHeader in salesOrders)
            {
                salesOrderEntity orderDetail = mageService.salesOrderInfo(mageSession, orderHeader.increment_id);

                mageService.salesOrderAddComment(mageSession, orderHeader.increment_id, orderHeader.status, "Examined by remote API II", "0");

                if (_wantXml)
                {
                    System.Xml.Serialization.XmlSerializer xmlDetail = new System.Xml.Serialization.XmlSerializer(orderDetail.GetType());
                    xmlDetail.Serialize(Console.Out, orderDetail);
                    Console.WriteLine();
                }
                if (_wantHumanReadable)
                {
                    Console.WriteLine(
                        "OrderID  " + orderHeader.increment_id + "\n"
                        + "OrderDate " + orderHeader.created_at + "\n"
                        + "Status    " + orderHeader.status + "\n"
                        + "SoldTo    " + orderHeader.billing_firstname + " " + orderHeader.billing_lastname + "\n"
                        + "Total     " + orderHeader.grand_total
                        );

                    salesOrderAddressEntity billToAddress = orderDetail.billing_address;
                    Console.WriteLine(
                        "BillTo\n"
                        + "\t" + orderHeader.billing_firstname + " " + orderHeader.billing_lastname + "\n"
                        + "\t" + billToAddress.street + "\n"
                        + "\t" + billToAddress.city + ", " + getStateAbbreviation(billToAddress.region_id) + " " + billToAddress.postcode
                        );

                    salesOrderAddressEntity shipToAddress = orderDetail.shipping_address;
                    Console.WriteLine(
                        "ShipTo\n"
                        + "\t" + orderHeader.shipping_firstname + " " + orderHeader.shipping_lastname + "\n"
                        + "\t" + shipToAddress.street + "\n"
                        + "\t" + shipToAddress.city + ", " + getStateAbbreviation(shipToAddress.region_id) + " " + shipToAddress.postcode
                        );

                    foreach (salesOrderItemEntity li in orderDetail.items)
                    {
                        Console.WriteLine(li.sku + " " + li.name);
                        phpDeserializer(li.product_options);
                    }
                    Console.WriteLine(sep);
                }
            }
            mageService.endSession(mageSession);
        }
        catch (Exception ex) {
            Console.WriteLine("I was hoping for better than this. Error: \"" + ex.Message + "\"\n");
        }
    }
コード例 #3
0
 public BillingAddress(salesOrderAddressEntity resultBillingAddress)
 {
     Mapper.Map <TsZoey_v_1_9_0_1_CE.salesOrderAddressEntity, BillingAddress>(resultBillingAddress, this);
 }