public salesOrderEntity RetrieveOrderInformation(string _orderID) { try { salesOrderEntity order = _mageService.salesOrderDetail(_sessionKey, _orderID); return(order); } catch (Exception ex) { MessageBox.Show("Error retieving items for order #" + _orderID + ":\r\n\r\n" + ex.Message); return(null); } }
private string GetWeight(string strOrderNo) { try { if (!string.IsNullOrEmpty(mage_session)) { salesOrderEntity soEntity = mservice.salesOrderInfo(mage_session, strOrderNo); return(soEntity.weight); } } catch { } return("1.00"); }
static void Main(string[] args) { Mage_Api_Model_Server_Wsi_HandlerPortTypeClient client = new Mage_Api_Model_Server_Wsi_HandlerPortTypeClient(); //log in Magento API to get the session_id loginResponse session = client.loginAsync("userAPI", "keyAPI").Result; string sessionId = session.result; Console.WriteLine("Session ID: " + sessionId); //Let's get the info from Order "100000010" var response = client.salesOrderInfoAsync(sessionId, "100000010").Result; salesOrderEntity order = response.result; Console.WriteLine("Status in Order: " + order.status); }
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]; _orderToInvoice = 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 { salesOrderEntity orderDetail = mageService.salesOrderInfo(mageSession, _orderToInvoice); List <orderItemIdQty> invoiceInfo = new List <orderItemIdQty>(); foreach (salesOrderItemEntity li in orderDetail.items) { Console.WriteLine("Item:" + li.item_id + " Qty:" + li.qty_ordered + " (" + li.name + ")"); orderItemIdQty invoiceLineItem = new orderItemIdQty(); invoiceLineItem.order_item_id = Convert.ToInt32(li.item_id); invoiceLineItem.qty = Convert.ToDouble(li.qty_ordered); invoiceInfo.Add(invoiceLineItem); if (_wantXml) { System.Xml.Serialization.XmlSerializer xmlLineItemDetail = new System.Xml.Serialization.XmlSerializer(li.GetType()); xmlLineItemDetail.Serialize(Console.Out, li); Console.WriteLine(); } } orderItemIdQty[] invoiceQtys = invoiceInfo.ToArray(); /* Create an invoice, and then capture it. Although we are reporting errors, * we don't do anything about them, Nor do we stop processing. */ try { string invoiceIncrementId = mageService.salesOrderInvoiceCreate(mageSession, _orderToInvoice, invoiceQtys, "Invoiced via API", "1", "1"); try { mageService.salesOrderInvoiceCapture(mageSession, invoiceIncrementId); } catch (Exception ex) { Console.WriteLine("Invoice Capture Error: \"" + ex.Message + "\""); } } catch (Exception ex) { Console.WriteLine("Invoice Create Error: \"" + ex.Message + "\""); } // Create the shipment, and add tracking for it. Similar to invoicing, we don't stop for errors. try { string shipmentIncrementId = mageService.salesOrderShipmentCreate(mageSession, _orderToInvoice, invoiceQtys, "Shipment via API", 1, 1); associativeEntity[] validCarriers = mageService.salesOrderShipmentGetCarriers(mageSession, _orderToInvoice); if (_wantXml) { System.Xml.Serialization.XmlSerializer xmlValidCarriers = new System.Xml.Serialization.XmlSerializer(validCarriers.GetType()); xmlValidCarriers.Serialize(Console.Out, validCarriers); Console.WriteLine(); } try { mageService.salesOrderShipmentAddTrack(mageSession, shipmentIncrementId, "ups", "Schiff UPS Shipping", "1Z9999999999999999"); } catch (Exception ex) { Console.WriteLine("Add Shipment Tracking Error: \"" + ex.Message + "\""); } } catch (Exception ex) { Console.WriteLine("Shipment Create Error: \"" + ex.Message + "\""); } /* Assuming everything went well (which we do ASSume), this order has been Imported into ERP, Invoiced, * Captured, and Shipped Complete. */ mageService.salesOrderAddComment(mageSession, _orderToInvoice, "complete", "Order Completed via API", "0"); mageService.endSession(mageSession); } catch (Exception ex) { Console.WriteLine("Error: \"" + ex.Message + "\"\n"); } }
public Order(salesOrderEntity order) { this.Addresses = new List <Tuple <AddressTypeEnum, Address> > { Tuple.Create(AddressTypeEnum.Billing, new Address { AddressType = order.billing_address.address_type, City = order.billing_address.city, Company = order.billing_address.company, CountryId = order.billing_address.country_id, Firstname = order.billing_address.firstname, Lastname = order.billing_address.lastname, Postcode = order.billing_address.postcode, Region = order.billing_address.region, Street = order.billing_address.street, Telephone = order.billing_address.telephone, }), Tuple.Create(AddressTypeEnum.Shipping, new Address { AddressType = order.shipping_address.address_type, City = order.shipping_address.city, Company = order.shipping_address.company, CountryId = order.shipping_address.country_id, Firstname = order.shipping_address.firstname, Lastname = order.shipping_address.lastname, Postcode = order.shipping_address.postcode, Region = order.shipping_address.region, Street = order.shipping_address.street, Telephone = order.shipping_address.telephone, }), }; this.BaseCurrencyCode = order.base_currency_code; this.BaseDiscount = order.base_discount_amount.ToDoubleOrDefault(); this.BaseGrandTotal = order.base_grand_total.ToDecimalOrDefault(); this.BaseShippingAmount = order.base_shipping_amount.ToDecimalOrDefault(); this.BaseSubtotal = order.base_subtotal.ToDecimalOrDefault(); this.BaseTaxAmount = order.base_tax_amount.ToDecimalOrDefault(); this.BaseTotalPaid = order.base_total_paid.ToDecimalOrDefault(); this.BaseTotalRefunded = order.base_total_refunded.ToDecimalOrDefault(); this.CreatedAt = order.created_at.ToDateTimeOrDefault(); this.Customer = order.customer_id; this.DiscountAmount = order.discount_amount.ToDoubleOrDefault(); this.GrandTotal = order.grand_total.ToDecimalOrDefault(); this.OrderIncrementalId = order.increment_id; this.OrderId = order.order_id; this.Items = order.items.Select(x => new Item { BaseDiscountAmount = x.base_discount_amount.ToDecimalOrDefault(), BaseOriginalPrice = x.base_original_price.ToDecimalOrDefault(), Sku = x.sku, Name = x.name, BaseTaxAmount = x.base_tax_amount.ToDecimalOrDefault(), ItemId = x.item_id, BasePrice = x.base_price.ToDecimalOrDefault(), BaseRowTotal = x.base_row_total.ToDecimalOrDefault(), DscountAmount = x.discount_amount.ToDecimalOrDefault(), OriginalPrice = x.original_price.ToDecimalOrDefault(), Price = x.price.ToDecimalOrDefault(), ProductType = x.product_type, QtyCanceled = x.qty_canceled.ToDecimalOrDefault(), QtyInvoiced = x.qty_invoiced.ToDecimalOrDefault(), QtyOrdered = x.qty_ordered.ToDecimalOrDefault(), QtyShipped = x.qty_shipped.ToDecimalOrDefault(), QtyRefunded = x.qty_refunded.ToDecimalOrDefault(), RowTotal = x.row_total.ToDecimalOrDefault(), TaxAmount = x.tax_amount.ToDecimalOrDefault(), TaxPercent = x.tax_percent.ToDecimalOrDefault(), } ).ToList(); this.PaymentMethod = order.payment.method; this.ShippingAmount = order.shipping_amount.ToDecimalOrDefault(); this.StoreName = order.store_name; this.Subtotal = order.subtotal.ToDecimalOrDefault(); this.TaxAmount = order.tax_amount.ToDecimalOrDefault(); this.TotalPaid = order.total_paid.ToDecimalOrDefault(); this.TotalRefunded = order.total_refunded.ToDecimalOrDefault(); this.ShippingAddressId = order.shipping_address_id; this.ShippingAmount = order.shipping_amount.ToDecimalOrDefault(); this.ShippingDescription = order.shipping_description; this.ShippingFirstname = order.shipping_firstname; this.ShippingLastname = order.shipping_lastname; this.ShippingMethod = order.shipping_method; this.ShippingName = order.shipping_name; OrderStatusesEnum tempstatus; OrderStateEnum tempstate; this.Status = Enum.TryParse(order.status, true, out tempstatus) ? tempstatus : OrderStatusesEnum.unknown; this.State = Enum.TryParse(order.state, true, out tempstate) ? tempstate : OrderStateEnum.unknown; }
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"); } }
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); } }
public static void MainInv(string[] args) { MNC_Product_Sync.Navision_Invoice.PostedSalesInvoice_PortClient client1 = new MNC_Product_Sync.Navision_Invoice.PostedSalesInvoice_PortClient(); client1.ClientCredentials.Windows.ClientCredential.UserName = "******"; client1.ClientCredentials.Windows.ClientCredential.Password = "******"; client1.ClientCredentials.Windows.ClientCredential.Domain = "122.166.222.116"; Navision_Invoice.PostedSalesInvoice_Filter f1 = new Navision_Invoice.PostedSalesInvoice_Filter(); Navision_Invoice.PostedSalesInvoice[] nv_PostedInvoices; nv_PostedInvoices = client1.ReadMultiple(new Navision_Invoice.PostedSalesInvoice_Filter[] { f1 }, null, 10000); DBConnect db = new DBConnect(); MNC_Product_Sync.MagentoConnectService.PortTypeClient mage_client = new MNC_Product_Sync.MagentoConnectService.PortTypeClient(); string token_id = null; try { Hashtable hso = db.fetch_PendingInvoices(); token_id = mage_client.login("webserviceuser", "apikey"); orderItemIdQty[] invoiceQtys = null; for (int i = 0; i < nv_PostedInvoices.Length; i++) { if (db.fetch_OnlineOrder(nv_PostedInvoices[i].Order_No)) { string magorder = (string)hso[nv_PostedInvoices[i].Order_No + "/" + 1]; string[] mageorders = magorder.Split('/'); salesOrderEntity orderDetail = mage_client.salesOrderInfo(token_id, mageorders[0]); List <orderItemIdQty> invoiceInfo = new List <orderItemIdQty>(); foreach (salesOrderItemEntity li in orderDetail.items) { orderItemIdQty invoiceLineItem = new orderItemIdQty(); invoiceLineItem.order_item_id = Convert.ToInt32(li.item_id); invoiceLineItem.qty = Convert.ToDouble(li.qty_ordered); invoiceInfo.Add(invoiceLineItem); } invoiceQtys = invoiceInfo.ToArray(); /* Create an invoice, and then capture it. Although we are reporting errors, * we don't do anything about them, Nor do we stop processing. */ try { string invoiceIncrementId = mage_client.salesOrderInvoiceCreate(token_id, mageorders[0], invoiceQtys, "Invoiced via API", "1", "1"); try { // mage_client.salesOrderInvoiceCapture(token_id, invoiceIncrementId); mage_client.salesOrderAddComment(token_id, mageorders[0], "invoiced", "Order Invoiced via API", "0"); db.UpdateInvoice(magorder, invoiceIncrementId + "/" + nv_PostedInvoices[i].No); } catch (Exception ex) { } } catch (Exception ex) { } } } /* Assuming everything went well (which we do ASSume), this order has been Imported into ERP, Invoiced, * Captured, and Shipped Complete. */ mage_client.endSession(token_id); } catch (Exception ex) { } }
private void bbImportar_Click(object sender, EventArgs e) { //071.548.686-19 if (bsPedLoja.Current != null) { if ((bsPedLoja.Current as TRegistro_Pedido).Nr_pedido.ToString().Trim() != "0") { MessageBox.Show("Não é permitido IMPORTAR pedido novamente.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if ((bsPedLoja.Current as TRegistro_Pedido).StatusMagento.Trim().ToUpper().Equals("CANCELADO")) { MessageBox.Show("Não é permitido IMPORTAR pedido CANCELADO.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (rCfg == null) { MessageBox.Show("Não existe configuração E-commerce para loja selecionada.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } MagentoService api = new MagentoService(); string sessao = string.Empty; try { sessao = api.login((cbLoja.SelectedItem as TRegistro_LojaVirtual).UserName, (cbLoja.SelectedItem as TRegistro_LojaVirtual).ApiKey); salesOrderEntity ePed = api.salesOrderInfo(sessao, (bsPedLoja.Current as TRegistro_Pedido).Nr_PedidoOrigem); if (ePed != null) { TRegistro_Pedido rPedido = new TRegistro_Pedido(); //Buscar Cliente customerCustomerEntity eCliente = api.customerCustomerInfo(sessao, int.Parse(ePed.customer_id), null); //Verificar se cliente existe no Aliance TList_CadClifor lCliente = new TCD_CadClifor().Select( new TpBusca[] { new TpBusca() { vNM_Campo = string.Empty, vOperador = string.Empty, vVL_Busca = "dbo.FVALIDA_NUMEROS(a.nr_cgc) = '" + eCliente.taxvat.Trim() + "' " + "or dbo.FVALIDA_NUMEROS(a.nr_cpf) = '" + eCliente.taxvat.Trim() + "'" } }, 1, string.Empty); if (lCliente.Count > 0) { rPedido.CD_Clifor = lCliente[0].Cd_clifor; rPedido.NM_Clifor = lCliente[0].Nm_clifor; //Buscar endereco cliente TList_CadEndereco lEnd = new TCD_CadEndereco().Select( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_clifor", vOperador = "=", vVL_Busca = "'" + lCliente[0].Cd_clifor.Trim() + "'" } }, 1, string.Empty); if (lEnd.Count > 0) { rPedido.CD_Endereco = lEnd[0].Cd_endereco; rPedido.DS_Endereco = lEnd[0].Ds_endereco; numero.Text = lEnd[0].Numero; bairro.Text = lEnd[0].Bairro; ds_cidade.Text = lEnd[0].DS_Cidade; uf.Text = lEnd[0].UF; } } else { TRegistro_CadClifor rClifor = new TRegistro_CadClifor(); rClifor.Nm_clifor = eCliente.firstname.Trim().ToUpper() + " " + eCliente.lastname.Trim().ToUpper(); rClifor.Email = eCliente.email.Trim(); rClifor.Tp_pessoa = eCliente.taxvat.Trim().Length.Equals(14) ? "J" : "F"; rClifor.Nr_cgc = eCliente.taxvat.Trim().Length.Equals(14) ? eCliente.taxvat.Trim() : string.Empty; rClifor.Nr_cpf = !eCliente.taxvat.Trim().Length.Equals(14) ? eCliente.taxvat.Trim() : string.Empty; rClifor.Id_categoriaclifor = rCfg.Id_categoriaclifor; rClifor.Cd_condfiscal_clifor = rCfg.Cd_condfiscal_clifor; TRegistro_CadEndereco rEndereco = new TRegistro_CadEndereco(); rEndereco.Cep = ePed.billing_address.postcode; //Buscar Endereco Rest TEndereco_CEPRest eRest = ServiceRest.DataService.BuscarEndCEPRest(rEndereco.Cep); if (eRest != null) { rEndereco.Ds_endereco = eRest.logradouro; rEndereco.Ds_complemento = eRest.complemento; rEndereco.Bairro = eRest.bairro; rEndereco.Cd_cidade = eRest.ibge; string[] str = ePed.billing_address.street.Split(new char[] { '\n' }); if (str.Length >= 2) { rEndereco.Numero = str[1]; } } else { string[] str = ePed.billing_address.street.Split(new char[] { '\n' }); if (str.Length >= 4) { rEndereco.Ds_endereco = str[0]; rEndereco.Bairro = str[3]; rEndereco.Numero = str[1]; } } rClifor.lEndereco.Add(rEndereco); using (Financeiro.Cadastros.TFCadCliforResumido fClifor = new Financeiro.Cadastros.TFCadCliforResumido()) { fClifor.rClifor = rClifor; if (fClifor.ShowDialog() == DialogResult.OK) { try { TCN_CadClifor.Gravar(fClifor.rClifor, null); MessageBox.Show("Cliente cadastrado com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); rPedido.CD_Clifor = fClifor.rClifor.Cd_clifor; rPedido.NM_Clifor = fClifor.rClifor.Nm_clifor; rPedido.CD_Endereco = fClifor.rClifor.lEndereco[0].Cd_endereco; rPedido.DS_Endereco = fClifor.rClifor.lEndereco[0].Ds_endereco; numero.Text = fClifor.rClifor.lEndereco[0].Numero; bairro.Text = fClifor.rClifor.lEndereco[0].Bairro; ds_cidade.Text = fClifor.rClifor.lEndereco[0].DS_Cidade; uf.Text = fClifor.rClifor.lEndereco[0].UF; } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } else { MessageBox.Show("Obrigatório cadastrar cliente para importar pedido.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } } rPedido.cd_empresa = (cbLoja.SelectedItem as TRegistro_LojaVirtual).Cd_empresa; rPedido.Nm_Empresa = (cbLoja.SelectedItem as TRegistro_LojaVirtual).Nm_empresa; rPedido.Nr_PedidoOrigem = (bsPedLoja.Current as TRegistro_Pedido).Nr_PedidoOrigem; rPedido.CFG_Pedido = rCfg.Cfg_pedido; rPedido.TP_Movimento = "S";//Venda rPedido.DT_Pedido = CamadaDados.UtilData.Data_Servidor(); rPedido.ST_Pedido = "F"; rPedido.St_registro = "F"; rPedido.Cd_moeda = rCfg.Cd_moeda; rPedido.Tp_frete = decimal.Divide(decimal.Parse(ePed.shipping_amount.SoNumero()), 10000) > 0 ? "1" : "9"; rPedido.QUANTIDADENF = decimal.Divide(decimal.Parse(ePed.total_qty_ordered.SoNumero()), 10000); //Endereco Entrega TEndereco_CEPRest endRest = ServiceRest.DataService.BuscarEndCEPRest(ePed.shipping_address.postcode.Trim()); if (endRest != null) { rPedido.Logradouroent = endRest.logradouro; rPedido.Complementoent = endRest.complemento; rPedido.Bairroent = endRest.bairro; rPedido.Cd_cidadeent = endRest.ibge; } string[] eEnt = ePed.shipping_address.street.Split(new char[] { '\n' }); if (eEnt.Length >= 4) { rPedido.Logradouroent = eEnt[0]; rPedido.Numeroent = eEnt[1]; rPedido.Complementoent = eEnt[2]; rPedido.Bairroent = eEnt[3]; } //Itens do pedido foreach (salesOrderItemEntity item in ePed.items) { foreach (salesOrderItemEntity nitem in ePed.items) { if (item.sku.ToString().Equals(nitem.sku.ToString()) && decimal.Divide(decimal.Parse(nitem.price.SoNumero()), 10000) == decimal.Zero) { item.name = nitem.name; item.product_id = nitem.product_id; break; } } if (decimal.Divide(decimal.Parse(item.price.SoNumero()), 10000) > decimal.Zero) { TRegistro_LanPedido_Item rItem = new TRegistro_LanPedido_Item(); rItem.Cd_referencia = item.product_id; //Buscar Produto CamadaDados.Estoque.Cadastros.TList_CadProduto lProd = new CamadaDados.Estoque.Cadastros.TCD_CadProduto().Select( new TpBusca[] { new TpBusca() { vNM_Campo = "a.codigo_alternativo", vOperador = "=", vVL_Busca = "'" + item.product_id.Trim() + "'" }, new TpBusca() { vNM_Campo = "isnull(a.st_registro, 'A')", vOperador = "<>", vVL_Busca = "'C'" } }, 1, string.Empty, string.Empty, string.Empty); if (lProd.Count > 0) { rItem.Cd_produto = lProd[0].CD_Produto; rItem.Ds_produto = lProd[0].DS_Produto; rItem.Cd_unidade_est = lProd[0].CD_Unidade; rItem.Ds_unidade_est = lProd[0].DS_Unidade; rItem.Sg_unidade_est = lProd[0].Sigla_unidade; rItem.Cd_unidade_valor = lProd[0].CD_Unidade; rItem.Ds_unidade_valor = lProd[0].DS_Unidade; rItem.Sg_unidade_valor = lProd[0].Sigla_unidade; } else { rItem.Ds_produto = item.name.Trim().ToUpper(); } rItem.Quantidade = decimal.Divide(decimal.Parse(item.qty_ordered.SoNumero()), 10000); rItem.Vl_unitario = decimal.Divide(decimal.Parse(item.price.SoNumero()), 10000); rItem.Vl_subtotal = decimal.Divide(decimal.Parse(item.row_total.SoNumero()), 10000); rItem.Vl_desc = decimal.Divide(decimal.Parse(item.discount_amount.SoNumero()), 10000); rItem.Cd_local = rCfg.Cd_local; rPedido.Pedido_Itens.Add(rItem); } //Ratear Frete rPedido.Vl_frete = decimal.Divide(decimal.Parse(ePed.shipping_amount.SoNumero()), 10000); if (rPedido.Vl_frete > decimal.Zero) { CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Rateia_Frete(rPedido); } bsPedido.DataSource = new TList_Pedido { rPedido }; } } gPedido.Enabled = false; bbImportar.Enabled = false; tlpPedido.ColumnStyles[1].Width = 623; } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { api.endSession(sessao); } } }