· 5 years ago · Feb 18, 2020, 06:50 PM
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Web;
5using System.Web.UI;
6using System.Web.UI.WebControls;
7using System.Web.Services;
8using System.IO;
9using System.Net;
10using System.Web.Script.Serialization;
11using System.Text;
12using Newtonsoft.Json;
13using System.Data;
14using System.Data.SqlClient;
15using System.Configuration;
16using System.Web.Services;
17using HtmlAgilityPack;
18using Emissary.Services;
19using WooCommerceNET;
20using WooCommerceNET.WooCommerce.Legacy;
21using RestSharp;
22using ShopifySharp;
23
24namespace Emissary.Aplicacion
25{
26 public partial class Integraciones : System.Web.UI.Page
27 {
28 // Variables Cuenta Partner
29 public static string apiKey = "ccee62c2bdbd4b77c3ebdd1ecc9a5929";
30 public static string secretKey = "fec8ebfebfc5d177d7de2ce330ec8cb2";
31 //public static string appUrl = "emissary.mx";
32 //public static string appUrl = "emissary.mx";
33
34 public static string appUrl = "emissary.mx";
35
36 public static string direccionIdShopify = "";
37
38
39
40 public static string urlShopify = "";
41 public static string userIntegracionId = "";
42
43
44
45
46 //4ce2b533.ngrok.io
47 // Token obtenido en Auth
48 public static string access_token = null;
49
50 protected void Page_Load(object sender, EventArgs e)
51 {
52 // Instalar APP
53
54 if (!string.IsNullOrEmpty(Request.QueryString["shop"]) && !string.IsNullOrEmpty(Request.QueryString["timestamp"]) && Request.QueryString["v"].Equals("install"))
55 {
56 InstalarAPP(Request.Params["shop"], Request.Params["timestamp"]);
57 }
58
59 // Auth
60 if (!string.IsNullOrEmpty(Request.QueryString["shop"]) && !string.IsNullOrEmpty(Request.QueryString["code"]) && Request.QueryString["v"].Equals("auth"))
61 {
62 Auth(Request.QueryString["shop"], Request.QueryString["code"]);
63 }
64
65 // Obtener Ordenes mediante Token Shopify
66 string shop = Request.QueryString["shop"];
67 if (!string.IsNullOrEmpty(shop))
68 {
69 ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; //TLS 1.2
70 string url = string.Format("https://{0}/admin/orders.json?", shop);
71 #region Metodo 1 Obtener Ordenes
72 var cliente = new RestClient(url);
73 var solicitud = new RestRequest(Method.GET);
74 solicitud.RequestFormat = DataFormat.Json;
75 solicitud.AddHeader("Content-Type", "application/json");
76 solicitud.AddHeader("X-Shopify-Access-Token", access_token);
77 var respuesta = cliente.ExecuteAsGet(solicitud, "GET");
78 var json = JsonConvert.DeserializeObject<dynamic>(respuesta.Content);
79 string direccionId = direccionIdShopify;
80 //string cboDireccionShopify = HttpContext.Current.Session["cboDireccionShopify"].ToString();
81
82 //var orders = json.Result.ToDataTable();
83 //string tabla = "<table id='example' class='display' style='width:100%'><thead><tr><th>noOrden</th><th>nombre</th><th>correoDestinatario</th> <th>telefonoDestinatario</th><th>direccionDestinatario</th><th>referenciaDestinatario</th><th>coloniaDestinatario</th><th>codigoPostalDestinatario</th><th>ciudadDestinatario</th> <th>estadoDestinatario</th> </tr></thead><tbody>";
84
85 DataTable dt = new DataTable();
86 dt.Clear();
87 //dt.Columns.Add("plataforma_id");
88 dt.Columns.Add("numOrden");
89 dt.Columns.Add("nombreDestinatario");
90 dt.Columns.Add("correoDestinatario");
91 dt.Columns.Add("telefonoDestinatario");
92 dt.Columns.Add("direccionDestinatario");
93 dt.Columns.Add("referenciaDestinatario");
94 dt.Columns.Add("coloniaDestinatario");
95 dt.Columns.Add("codigoPostalDestinatario");
96 dt.Columns.Add("ciudadDestinatario");
97 dt.Columns.Add("estadoDestinatario");
98 dt.Columns.Add("estatusOrden");
99 dt.Columns.Add("estatusEnvio");
100 dt.Columns.Add("infoEnvio");
101 dt.Columns.Add("productos");
102
103
104
105
106
107
108
109 DataRow dr = dt.NewRow();
110 //string nombreDestinatario;
111 //string apellidoDestinatario;
112 //string nombreDest;
113 //string correoDestinatario;
114 //string telefonoDestinatario;
115 //string direccionDestinatario;
116 //string referenciaDestinatario ;
117 //string coloniaDestinatario;
118 //string codigoPostalDestinatario;
119 //string ciudadDestinatario;
120 //string estadoDestinatario;
121
122
123 foreach (var order in json.orders)
124 {
125 string numOrden = "";
126 string nombreDestinatario = "";
127 string correoDestinatario = "";
128 string telefonoDestinatario = "";
129 string direccionDestinatario = "";
130 string coloniaDestinatario = "";
131 string referenciaDestinatario = "";
132 string codigoPostalDestinatario = "";
133 string ciudadDestinatario = "";
134 string estadoDestinatario = "";
135 string estatusOrden = "";
136 string estatusEnvio = "";
137
138
139
140 //if ((string)order.fulfillments != null)
141 //{
142 // dr["numOrden"] = (string)order.order_number;
143 //}
144
145 if ((string)order.order_number != null)
146 {
147 dr["numOrden"] = (string)order.order_number;
148 }
149
150
151 if (order.shipping_address !=null)
152 {
153
154 if ((string)order.shipping_address.phone != null || (string)order.shipping_address.phone != "")
155 {
156 telefonoDestinatario = (string)order.shipping_address.phone;
157 dr["telefonoDestinatario"] = (string)order.shipping_address.phone;
158 }
159
160
161 else if (order.phone != null || order.phone != "")
162 {
163 telefonoDestinatario = order.phone;
164
165 dr["telefonoDestinatario"] = telefonoDestinatario;
166 }
167 else
168 {
169 telefonoDestinatario = "8181818181";
170
171 dr["telefonoDestinatario"] = telefonoDestinatario;
172
173 }
174
175 direccionDestinatario = (string)order.shipping_address.address1;
176 dr["nombreDestinatario"] = (string)order.shipping_address.name;
177 dr["direccionDestinatario"] = (string)order.shipping_address.address1;
178 dr["coloniaDestinatario"] = (string)order.shipping_address.address2;
179 dr["referenciaDestinatario"] = (string)order.shipping_address.company;
180 dr["codigoPostalDestinatario"] = (string)order.shipping_address.zip;
181 dr["ciudadDestinatario"] = (string)order.shipping_address.city;
182 dr["estadoDestinatario"] = (string)order.shipping_address.province;
183 }
184
185 else if (order.billing_address != null)
186 {
187
188 if (order.phone != null || order.phone != "")
189 {
190 telefonoDestinatario = order.phone;
191
192 dr["telefonoDestinatario"] = telefonoDestinatario;
193 }
194 else
195 {
196 telefonoDestinatario = (string)order.shipping_address.phone;
197 dr["telefonoDestinatario"] = (string)order.billing_address.phone;
198 }
199 direccionDestinatario = (string)order.billing_address.address1;
200
201
202 dr["nombreDestinatario"] = (string)order.billing_address.name;
203
204 dr["direccionDestinatario"] = (string)order.billing_address.address1;
205 dr["coloniaDestinatario"] = (string)order.billing_address.address2;
206 dr["referenciaDestinatario"] = (string)order.billing_address.company;
207 dr["codigoPostalDestinatario"] = (string)order.billing_address.zip;
208 dr["ciudadDestinatario"] = (string)order.billing_address.city;
209 dr["estadoDestinatario"] = (string)order.billing_address.province;
210 }
211
212
213 int digitos = direccionDestinatario.Length;
214
215 if (telefonoDestinatario == null || telefonoDestinatario == "")
216 {
217 telefonoDestinatario = order.phone;
218
219
220 dr["telefonoDestinatario"] = telefonoDestinatario;
221 }
222
223 if (telefonoDestinatario ==null)
224 {
225 telefonoDestinatario = "8181818181";
226
227 dr["telefonoDestinatario"] = telefonoDestinatario;
228 }
229
230
231
232
233 if (telefonoDestinatario.ToLower().Contains('+')) {
234
235
236 telefonoDestinatario = telefonoDestinatario.Substring(3, telefonoDestinatario.Length - 3);
237
238
239
240 dr["telefonoDestinatario"] = telefonoDestinatario;
241
242 }
243
244
245
246
247 if ((string)order.email != null)
248 {
249
250 correoDestinatario = (string)order.email;
251 dr["correoDestinatario"] = (string)order.email;
252 }
253 else if ((string)order.customer.email != null)
254 {
255 correoDestinatario = (string)order.customer.email;
256
257 dr["correoDestinatario"] = (string)order.customer.email;
258 }
259 else
260 {
261 dr["correoDestinatario"] = "";
262 }
263 if (correoDestinatario == null || correoDestinatario == "")
264 {
265 dr["correoDestinatario"] = "sin@correo.com";
266
267 }
268 if ((string)order.financial_status != null)
269 {
270 dr["estatusOrden"] = (string)order.financial_status;
271 }
272
273 if (order.shipping_lines.Count != 0)
274 {
275 dr["infoEnvio"] = order.shipping_lines[0].title;
276 }
277 dr["productos"] = order.line_items;
278
279 dt.Rows.Add(dr);
280 dr = dt.NewRow();
281 }
282
283
284
285
286
287 DataTable tblOrdenes = dt;
288
289 guardarOrdenesShopify(dt, direccionIdShopify);
290
291
292
293 //Label1.Text = tabla;
294 #endregion
295
296
297 }
298 }
299
300
301
302 public static string guardarOrdenesShopify(DataTable tabla, string direccionId)
303 {
304 DataTable DataTable = new DataTable();
305 DataTable DataTable2 = new DataTable();
306 dbo.BaseDatos db = null;
307 dbo.BaseDatos db2 = null;
308 db = new dbo.BaseDatos(ConfigurationManager.ConnectionStrings["cnn"].ToString());
309 db2 = new dbo.BaseDatos(ConfigurationManager.ConnectionStrings["cnn"].ToString());
310 string mensaje = "";
311
312 try
313 {
314
315
316
317
318
319
320
321 SqlParameter prmUrlTienda, prmKey, prmKeySecret, prmUserId,prmUsuarioId, prmPlataformaId,prmPlataformaOrdenId, prmNumOrden, prmDireccionId, prmDireccionIdA, prmOrdenes, prmDireccionShopify,
322 prmNombreRemitente, prmCorreoRemitente, prmTelefonoRemitente, prmDireccionRemitente, prmReferenciaRemitente, prmColoniaRemitente, prmCodigoPostalRemitente, prmCiudadRemitente, prmEstadoRemitente,
323 prmNombreDestinatario, prmCorreoDestinatario, prmTelefonoDestinatario, prmDireccionDestinatario, prmReferenciaDestinatario, prmColoniaDestinatario, prmCodigoPostalDestinatario, prmCiudadDestinatario, prmEstadoDestinatario,
324 prmEstatusOrden, prmEnvio;
325
326
327
328 prmDireccionId = new SqlParameter("@IdDireccion", SqlDbType.SmallInt);
329 prmDireccionId.Value = direccionId;
330 prmDireccionShopify = new SqlParameter("@IdDireccion", SqlDbType.SmallInt);
331 prmDireccionShopify.Value = direccionId;
332
333
334
335
336
337
338 DataTable = db.ObtenerDatosComoDataTable("spq_Emissary_DatosDireccion", prmDireccionId);
339 DataTable.TableName = "Ordenes";
340
341
342
343 mensaje = JsonConvert.SerializeObject(DataTable);
344
345 DataRow renglon = DataTable.Rows[0];
346
347 //DatosRemitente
348
349 string nombreRemitente = renglon["nombre"].ToString();
350 string correoRemitente = renglon["correo"].ToString();
351 string telefonoRemitente = renglon["telefono"].ToString();
352 string direccionRemitente = renglon["direccion"].ToString();
353 string referenciaRemitente = renglon["referencia"].ToString();
354 string coloniaRemitente = renglon["colonia"].ToString();
355 string codigoPostalRemitente = renglon["codigoPostal"].ToString();
356 //string ciudadRemitente = row["ciudad"].ToString();
357 string estadoRemitente = renglon["estado"].ToString();
358
359
360
361 foreach (DataRow row in tabla.Rows)
362 {
363
364 //int plataformaId = 2;
365
366 string numOrden = row["numOrden"].ToString();
367 string nombreDestinatario = row["nombreDestinatario"].ToString();
368 string correoDestinatario = row["correoDestinatario"].ToString();
369 string telefonoDestinatario = row["telefonoDestinatario"].ToString();
370 string direccionDestinatario = row["direccionDestinatario"].ToString();
371 string referenciaDestinatario = row["referenciaDestinatario"].ToString();
372 string coloniaDestinatario = row["coloniaDestinatario"].ToString();
373 string codigoPostalDestinatario = row["codigoPostalDestinatario"].ToString();
374 string ciudadDestinatario = row["ciudadDestinatario"].ToString();
375 string estadoDestinatario = row["estadoDestinatario"].ToString();
376 string estatusOrden = row["estatusOrden"].ToString();
377 string infoEnvio = row["infoEnvio"].ToString();
378
379
380
381
382 int guiaRealizada = 0;
383
384 //Datos Envío Destinatario
385 //Datos Usuario
386 prmUserId = new SqlParameter("@userId", SqlDbType.NVarChar, 50);
387 prmUserId.Value = userIntegracionId;
388 //Datos Envío Destinatario
389 prmPlataformaId = new SqlParameter("@plataformaId", SqlDbType.NVarChar, 50);
390 prmPlataformaId.Value = 2;
391 prmNumOrden = new SqlParameter("@numOrden", SqlDbType.NVarChar, 50);
392 prmNumOrden.Value = numOrden;
393
394
395 //Datos Envío Remitente
396 prmNombreRemitente = new SqlParameter("@nombreRemitente", SqlDbType.NVarChar, 50);
397 prmNombreRemitente.Value = nombreRemitente;
398 prmCorreoRemitente = new SqlParameter("@correoRemitente", SqlDbType.NVarChar, 50);
399 prmCorreoRemitente.Value = correoRemitente;
400 prmTelefonoRemitente = new SqlParameter("@telefonoRemitente", SqlDbType.NVarChar, 50);
401 prmTelefonoRemitente.Value = telefonoRemitente;
402 prmDireccionRemitente = new SqlParameter("@direccionRemitente", SqlDbType.NVarChar, 50);
403 prmDireccionRemitente.Value = direccionRemitente;
404 prmReferenciaRemitente = new SqlParameter("@referenciaRemitente", SqlDbType.NVarChar, 50);
405 prmReferenciaRemitente.Value = referenciaRemitente;
406 prmColoniaRemitente = new SqlParameter("@coloniaRemitente", SqlDbType.NVarChar, 50);
407 prmColoniaRemitente.Value = coloniaRemitente;
408 prmCodigoPostalRemitente = new SqlParameter("@codigoPostalRemitente", SqlDbType.NVarChar, 50);
409 prmCodigoPostalRemitente.Value = codigoPostalRemitente;
410 prmEstadoRemitente = new SqlParameter("@estadoRemitente", SqlDbType.NVarChar, 50);
411 prmEstadoRemitente.Value = estadoRemitente;
412
413
414 //Datos Envío Destinatario
415 prmNombreDestinatario = new SqlParameter("@nombreDestinatario", SqlDbType.NVarChar, 50);
416 prmNombreDestinatario.Value = nombreDestinatario;
417 prmCorreoDestinatario = new SqlParameter("@correoDestinatario", SqlDbType.NVarChar, 50);
418 prmCorreoDestinatario.Value = correoDestinatario;
419 prmTelefonoDestinatario = new SqlParameter("@telefonoDestinatario", SqlDbType.NVarChar, 50);
420 prmTelefonoDestinatario.Value = telefonoDestinatario;
421 prmDireccionDestinatario = new SqlParameter("@direccionDestinatario", SqlDbType.NVarChar, 50);
422 prmDireccionDestinatario.Value = direccionDestinatario;
423 prmReferenciaDestinatario = new SqlParameter("@referenciaDestinatario", SqlDbType.NVarChar, 50);
424 prmReferenciaDestinatario.Value = referenciaDestinatario;
425 prmColoniaDestinatario = new SqlParameter("@coloniaDestinatario", SqlDbType.NVarChar, 50);
426 prmColoniaDestinatario.Value = coloniaDestinatario;
427 prmCodigoPostalDestinatario = new SqlParameter("@CodigoPostalDestinatario", SqlDbType.NVarChar, 50);
428 prmCodigoPostalDestinatario.Value = codigoPostalDestinatario;
429 prmCiudadDestinatario = new SqlParameter("@ciudadDestinatario", SqlDbType.NVarChar, 50);
430 prmCiudadDestinatario.Value = ciudadDestinatario;
431 prmEstadoDestinatario = new SqlParameter("@estadoDestinatario", SqlDbType.NVarChar, 50);
432 prmEstadoDestinatario.Value = estadoDestinatario;
433 //Datos Orden
434 prmEstatusOrden = new SqlParameter("@estatusOrden", SqlDbType.NVarChar, 50);
435 prmEstatusOrden.Value = estatusOrden;
436
437 prmEnvio = new SqlParameter("@infoEnvio", SqlDbType.NVarChar, 50);
438 prmEnvio.Value = infoEnvio;
439 //prmDireccionId = new SqlParameter("@direccionId", SqlDbType.NVarChar, 50);
440 //prmDireccionId.Value = direccionId;
441 //prmEstatus = new SqlParameter("@Estatus", SqlDbType.NVarChar, 50);
442 //prmEstatus.Value = 0;
443
444
445
446
447
448 DataTable = db.ObtenerDatosComoDataTable("spac_Emissary_Orden2", prmUserId, prmPlataformaId, prmNumOrden,
449 prmNombreRemitente, prmCorreoRemitente, prmTelefonoRemitente, prmDireccionRemitente, prmReferenciaRemitente, prmColoniaRemitente, prmCodigoPostalRemitente, prmEstadoRemitente,
450 prmNombreDestinatario, prmCorreoDestinatario, prmTelefonoDestinatario, prmDireccionDestinatario, prmReferenciaDestinatario, prmColoniaDestinatario, prmCodigoPostalDestinatario, prmCiudadDestinatario, prmEstadoDestinatario, prmEstatusOrden, prmEnvio);
451 dynamic Data = JsonConvert.DeserializeObject(row["productos"].ToString());
452 SqlParameter prmNumOrden2, prmProducto, prmCantidad, prmPrecio, prmPrecioTotal, prmPeso, prmProductoId;
453 for (var i = 0; i < Data.Count; i++)
454 {
455
456 var id = Data[i].id;
457
458 string producto = Data[i].title;
459 prmNumOrden2 = new SqlParameter("@numOrden", SqlDbType.Int);
460 prmNumOrden2.Value = numOrden;
461 prmProducto = new SqlParameter("@producto", SqlDbType.NVarChar, 100);
462 prmProducto.Value = producto;
463 prmCantidad = new SqlParameter("@cantidad", SqlDbType.Int);
464 prmCantidad.Value = Data[i].quantity;
465 prmPrecio = new SqlParameter("@precio", SqlDbType.Decimal, 10);
466 prmPrecio.Value = (decimal)Data[i].price;
467 prmPrecioTotal = new SqlParameter("@precioTotal", SqlDbType.Decimal, 10);
468 prmPrecioTotal.Value = (decimal)Data[i].price * (decimal)Data[i].quantity;
469
470 prmProductoId = new SqlParameter("@productoId", SqlDbType.NVarChar, 100);
471 prmProductoId.Value = Data[i].id;
472 prmPeso = new SqlParameter("@peso", SqlDbType.Decimal, 10);
473 prmPeso.Value = (decimal)Data[i].grams;
474 DataTable2 = db2.ObtenerDatosComoDataTable("askerick.spa_agregarProductosOrden", prmNumOrden2, prmProducto, prmCantidad, prmPrecio, prmPrecioTotal, prmPeso, prmProductoId);
475
476 }
477 mensaje = JsonConvert.SerializeObject(DataTable);
478
479 }
480
481
482
483
484
485 //Datos datos de integración
486 prmUserId = new SqlParameter("@userId", SqlDbType.NVarChar, 50);
487 prmUserId.Value = userIntegracionId;
488 prmPlataformaId = new SqlParameter("@plataformaId", SqlDbType.NVarChar, 50);
489 prmPlataformaId.Value = 2;
490 prmUrlTienda = new SqlParameter("@url", SqlDbType.NVarChar, 50);
491 prmUrlTienda.Value = urlShopify;
492 prmKey = new SqlParameter("@key", SqlDbType.NVarChar, 100);
493 prmKey.Value = "";
494 prmKeySecret = new SqlParameter("@keySecret", SqlDbType.NVarChar, 50);
495 prmKeySecret.Value = "";
496 prmDireccionIdA = new SqlParameter("@direccionId", SqlDbType.NVarChar, 50);
497 prmDireccionIdA.Value = direccionId;
498
499
500
501 //DataTable = db.ObtenerDatosComoDataTable("spa_Emissary_Integracion", prmUserId, prmPlataformaId, prmUrlTienda, prmKey, prmKeySecret, prmDireccionId);
502 db.EjecutarInstruccion(dbo.BaseDatos.TipoEjecucion.NonQuery, "spa_Emissary_Integracion", prmUserId, prmPlataformaId, prmUrlTienda, prmKey, prmKeySecret, prmDireccionIdA);
503 mensaje = JsonConvert.SerializeObject(DataTable);
504
505
506
507
508 }
509
510 catch (Exception ex)
511 {
512 mensaje = "error|" + ex.Message.ToString();
513 }
514
515
516
517 finally
518 {
519 db.Finalizar();
520 }
521 return mensaje;
522
523
524 }
525
526
527 public static void InstalarAPP(string shop, string timestamp)
528 {
529 string url = string.Format("https://{0}/admin/oauth/authorize?client_id={1}&scope=read_orders,read_fulfillments,write_fulfillments&redirect_uri=http://{2}/Aplicacion/Integraciones.aspx?v=auth", shop, apiKey, appUrl);
530 // Response.Redirect(url);
531 }
532
533 public void Auth(string shop, string code)
534 {
535 ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; //TLS 1.2
536 String credenciales = "Basic " + Base64Encode(string.Format("{0}:{1}", apiKey, secretKey));
537 string u = string.Format("https://{0}/admin/oauth/access_token", shop);
538 var client = new RestClient(u);
539 var request = new RestRequest(Method.POST);
540 request.RequestFormat = DataFormat.Json;
541 request.AddHeader("content-type", "application/x-www-form-urlencoded");
542 request.AddHeader("Authorization", credenciales);
543 request.AddParameter("application/x-www-form-urlencoded", "client_id=" + apiKey + "&client_secret=" + secretKey + "&code=" + code, ParameterType.RequestBody);
544 var response = client.Execute(request);
545 var r = JsonConvert.DeserializeObject<dynamic>(response.Content);
546 access_token = r.access_token;
547 }
548
549 public static string Base64Encode(string plainText)
550 {
551 var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
552 return System.Convert.ToBase64String(plainTextBytes);
553 }
554
555
556 [WebMethod(EnableSession = true)]
557 public static string retrieveOrdersShopify()
558 {
559 WebRequest request = WebRequest.Create("https://1cac44ae60e4f6735c76b7132019be9a:36854a8f54827b196d29b8f0e7a5cc53@ericktovar.myshopify.com/admin/orders.json?status=any&fulfillment_status=unshipped");
560
561 // Set the credentials.
562
563 request.Credentials = new NetworkCredential("1cac44ae60e4f6735c76b7132019be9a", "36854a8f54827b196d29b8f0e7a5cc53");
564
565 // Get the response.
566 HttpWebResponse response = null;
567 try
568 {
569 // This is where the HTTP GET actually occurs.
570 response = (HttpWebResponse)request.GetResponse();
571 }
572 catch (Exception a)
573 {
574 Console.WriteLine(a.ToString());
575 }
576 // Display the status. You want to see "OK" here.
577 Console.WriteLine(response.StatusDescription);
578 // Get the stream containing content returned by the server.
579 Stream dataStream = response.GetResponseStream();
580 // Open the stream using a StreamReader for easy access.
581 StreamReader reader = new StreamReader(dataStream);
582 // Read the content. This is the XML that represents all the products for the shop.
583 string responseFromServer = reader.ReadToEnd();
584
585 //JavaScriptSerializer serializer = new JavaScriptSerializer();
586 //var jsonObject = serializer.Deserialize<dynamic>(responseFromServer);
587
588 // Display the content.
589 Console.WriteLine(responseFromServer);
590 // Cleanup the streams and the response.
591 reader.Close();
592 dataStream.Close();
593 response.Close();
594
595 return responseFromServer;
596 }
597
598
599 [WebMethod(EnableSession = true)]
600 public static string cargarIntegraciones(Int32 userId)
601
602
603 {
604 string mensaje = "";
605 DataTable DataTable = new DataTable();
606 dbo.BaseDatos db = null;
607
608 db = new dbo.BaseDatos(ConfigurationManager.ConnectionStrings["cnn"].ToString());
609 SqlParameter prmUserId;
610
611 try
612 {
613 prmUserId = new SqlParameter("@UsuarioId", SqlDbType.BigInt);
614 prmUserId.Value = userId;
615
616
617 DataTable = db.ObtenerDatosComoDataTable("spq_Emissary_Integraciones", prmUserId);
618 DataTable.TableName = "Integraciones";
619
620 mensaje = JsonConvert.SerializeObject(DataTable);
621 }
622 catch (Exception ex)
623 {
624 mensaje = ex.Message;
625 }
626 finally
627 {
628 db.Finalizar();
629 }
630 return mensaje;
631 }
632
633
634
635
636 [WebMethod(EnableSession = true)]
637 public static string actualizarOrdenes(Int32 userId)
638
639
640 {
641 string mensaje = "";
642 DataTable DataTable = new DataTable();
643 dbo.BaseDatos db = null;
644
645 db = new dbo.BaseDatos(ConfigurationManager.ConnectionStrings["cnn"].ToString());
646 SqlParameter prmUserId;
647
648 try
649 {
650 prmUserId = new SqlParameter("@UsuarioId", SqlDbType.SmallInt);
651 prmUserId.Value = userId;
652
653
654 DataTable = db.ObtenerDatosComoDataTable("spq_Emissary_ActualizarOrdenes", prmUserId);
655 DataTable.TableName = "Integraciones";
656
657 mensaje = JsonConvert.SerializeObject(DataTable);
658
659 DataRow row = DataTable.Rows[0];
660 var plataformaId = row["plataforma_id"].ToString();
661 var url = row["url"].ToString();
662 var apikey = row["apiKey"].ToString();
663 var secretKey = row["secretKey"].ToString();
664 var direccion_id = row["direccion_id"].ToString();
665
666 direccionIdShopify = direccion_id;
667
668
669 if (plataformaId == "1")
670 {
671 mensaje = actualizarWoo(url, apikey, secretKey, direccion_id);
672 }
673
674
675
676 if (plataformaId == "2")
677 {
678 userIntegracionId = HttpContext.Current.Session["usuario_id"].ToString();
679
680
681 string install = string.Format("https://{0}/admin/oauth/authorize?client_id={1}&scope=read_orders,read_fulfillments,write_fulfillments&redirect_uri=http://{2}/Aplicacion/Integraciones.aspx?v=auth", url.Substring(8, url.Length - 8), apiKey, appUrl);
682
683 mensaje = install;
684 }
685 }
686 catch (Exception ex)
687 {
688 mensaje = ex.Message;
689 }
690 finally
691 {
692 db.Finalizar();
693 }
694 return mensaje;
695 }
696
697
698
699
700
701
702 #region <<Conectar Shopify>>
703 [WebMethod]
704 //public static string Guardar(string jData)
705 public static string conectarShopify(Object pJData)
706 {
707
708
709
710 string url;
711 string usuario;
712 //Generales
713 string contrasena;
714 string mensaje;
715 string cboDireccionShopify;
716 dynamic Data = JsonConvert.DeserializeObject(pJData.ToString());
717
718 userIntegracionId = HttpContext.Current.Session["usuario_id"].ToString();
719 //DIRECCION;
720 url = Data[0]["url"];
721 urlShopify = Data[0]["url"];
722
723 usuario = Data[0]["usuario"];
724 contrasena = Data[0]["contrasena"];
725 direccionIdShopify = Data[0]["cboDireccionShopify"];
726
727
728
729
730
731
732 HttpContext.Current.Session["cboDireccionShopify"] = direccionIdShopify;
733
734
735 string install = string.Format("https://{0}/admin/oauth/authorize?client_id={1}&scope=read_orders,read_fulfillments,write_fulfillments&redirect_uri=http://{2}/Aplicacion/Integraciones.aspx?v=auth", url.Substring(8, url.Length - 8), apiKey, appUrl);
736
737
738
739
740 //Traer órdenes Shopify
741
742 var returnValue = AsyncHelpers.RunSync<List<Shopify.Order>>(() => Shopify.Order.GetAsync());
743
744 try
745 {
746 mensaje = string.Empty;
747 }
748
749
750
751
752 //DataTable DataTable = new DataTable();
753 //dbo.BaseDatos db = null;
754 //SqlParameter prmUserId, prmURLShop, prmUsuarioShop, prmPassShop;
755 //try
756 //{
757 // db = new dbo.BaseDatos(ConfigurationManager.ConnectionStrings["cnn"].ToString());
758
759 // //prmUserId = new SqlParameter("@UserId", SqlDbType.BigInt);
760 // //prmUserId.Value = userId;
761 // prmURLShop = new SqlParameter("@url", SqlDbType.NVarChar, 50);
762 // prmURLShop.Value = url;
763 // prmUsuarioShop = new SqlParameter("@usuario", SqlDbType.NVarChar, 50);
764 // prmUsuarioShop.Value = usuario;
765 // prmPassShop = new SqlParameter("@contrasena", SqlDbType.NVarChar, 50);
766 // prmPassShop.Value = contrasena;
767
768
769
770
771
772 // DataTable = db.ObtenerDatosComoDataTable("spac_Emissary_Direccion", prmURLShop, prmUsuarioShop, prmPassShop);
773 // //dataset.TableName = "Usuario";
774 // //[spac_Emissary_Direccion]
775 // mensaje = JsonConvert.SerializeObject(DataTable);
776
777
778
779 //}
780
781 catch (Exception ex)
782 {
783 mensaje = "error|" + ex.Message.ToString();
784 }
785 finally
786 {
787 //db.Finalizar();
788 }
789 return install;
790 }
791 #endregion <<Guardar>>
792
793 #region <<Desconectar Woo>>
794 [WebMethod]
795 //public static string Guardar(string jData)
796 public static string desconectarWoo()
797 {
798
799 string userId = HttpContext.Current.Session["usuario_id"].ToString();
800 int plataformaId = 1;
801 string mensaje = string.Empty;
802
803
804
805 DataTable DataTable = new DataTable();
806 dbo.BaseDatos db = null;
807 SqlParameter prmUserId, prmPlataformaId;
808 try
809 {
810 db = new dbo.BaseDatos(ConfigurationManager.ConnectionStrings["cnn"].ToString());
811
812 prmUserId = new SqlParameter("@UserId", SqlDbType.BigInt);
813 prmUserId.Value = userId;
814 prmPlataformaId = new SqlParameter("@plataformaId", SqlDbType.BigInt);
815 prmPlataformaId.Value = plataformaId;
816
817
818
819
820
821 DataTable = db.ObtenerDatosComoDataTable("spac_Emissary_DescIntegracion", prmUserId, prmPlataformaId);
822 //dataset.TableName = "Usuario";
823 //[spac_Emissary_Direccion]
824 mensaje = JsonConvert.SerializeObject(DataTable);
825
826
827
828 }
829
830 catch (Exception ex)
831 {
832 mensaje = "error|" + ex.Message.ToString();
833 }
834 finally
835 {
836 db.Finalizar();
837 }
838 return mensaje;
839 }
840 #endregion <<Guardar>>
841
842
843
844
845 #region <<conectarWoo>>
846 [WebMethod]
847 public static string conectarWoo(Object pJData)
848 {
849 dynamic Data2 = JsonConvert.DeserializeObject(pJData.ToString());
850 var a = Data2[0]["urlFetch"].ToString();
851 dynamic Data = JsonConvert.DeserializeObject(GET(Data2[0]["urlFetch"].ToString()));
852 string url;
853 string key;
854 //Generales
855 string keySecret;
856 string direccionId;
857 string numOrden;
858 string mensaje = string.Empty;
859 string userId = HttpContext.Current.Session["usuario_id"].ToString();
860
861 //TIENDA;
862 url = Data2[0]["url"];
863 key = Data2[0]["apiKey"];
864 keySecret = Data2[0]["apiKeySecret"];
865 direccionId = Data2[0]["cboDireccion"];
866
867 //DIRECCION REMITENTE;
868 var nombreRemitente = Data2[0]["nombreRemitente"]; //FromName
869 var correoRemitente = Data2[0]["correoRemitente"]; //FromeMail
870 var telefonoRemitente = Data2[0]["telefonoRemitente"]; //FromPhone
871 var direccionRemitente = Data2[0]["direccionRemitente"]; //FromStreth
872 var referenciaRemitente = Data2[0]["referenciaRemitente"]; //FromComents
873 var coloniaRemitente = Data2[0]["coloniaRemitente"]; //FromAdress
874 var codigoPostalRemitente = Data2[0]["codigoPostalRemitente"]; //FromPostalCode
875 var estadoRemitente = Data2[0]["estadoRemitente"]; //FromCity
876
877 //DIRECCION DESTINATARIO;
878
879
880 dbo.BaseDatos db = null;
881 DataTable DataTable = new DataTable();
882 SqlParameter prmUserId, prmPlataformaId, prmNumOrden,
883 prmNombreRemitente, prmCorreoRemitente, prmTelefonoRemitente, prmDireccionRemitente, prmReferenciaRemitente, prmColoniaRemitente, prmCodigoPostalRemitente, prmEstadoRemitente, prmNombreDestinatario, prmCorreoDestinatario, prmTelefonoDestinatario, prmColoniaDestinatario, prmDireccionDestinatario, prmReferenciaDestinatario, prmCiudadDestinatario, prmCodigoPostalDestinatario, prmEstadoDestinatario, prmEstatusOrden;
884 db = new dbo.BaseDatos(ConfigurationManager.ConnectionStrings["cnn"].ToString());
885 for (var i = 0; i < Data.data.Count; i++)
886 {
887 if (Data.data[i].status == "on-hold" || Data.data[i].status == "processing")
888 {
889
890
891 try
892 {
893 string nombreDestinatario = Data.data[i]["shipping"].first_name; //FromName
894 string correoDestinatario = Data.data[i]["billing"].email;
895 string telefonoDestinatario = Data.data[i]["billing"].phone;
896 string coloniaDestinatario = Data.data[i]["billing"].address_2; //FromStreth
897 string direccionDestinatario = Data.data[i]["shipping"].address_1; //FromComents
898 string referenciaDestinatario = Data.data[i]["shipping"].company; //FromAdress
899 string ciudadDestinatario = Data.data[i]["shipping"].city; //FromPostalCode
900 string codigoPostalDestinatario = Data.data[i]["shipping"].postcode; //FromCity
901 string estadoDestinatario = Data.data[i]["shipping"].state; //FromCity
902 string statusOrden = Data.data[i]["status"];
903 numOrden = Data.data[i]["number"];
904
905
906 mensaje = JsonConvert.SerializeObject(DataTable);
907 prmUserId = new SqlParameter("@userId", SqlDbType.NVarChar, 50);
908 prmUserId.Value = userId;
909 prmPlataformaId = new SqlParameter("@plataformaId", SqlDbType.NVarChar, 50);
910 prmPlataformaId.Value = 1;
911 prmNombreRemitente = new SqlParameter("@nombreRemitente", SqlDbType.NVarChar, 50);
912 prmNombreRemitente.Value = nombreRemitente;
913 prmCorreoRemitente = new SqlParameter("@correoRemitente", SqlDbType.NVarChar, 50);
914 prmCorreoRemitente.Value = correoRemitente;
915 prmTelefonoRemitente = new SqlParameter("@telefonoRemitente", SqlDbType.NVarChar, 50);
916 prmTelefonoRemitente.Value = telefonoRemitente;
917 prmDireccionRemitente = new SqlParameter("@direccionRemitente", SqlDbType.NVarChar, 50);
918 prmDireccionRemitente.Value = direccionRemitente;
919 prmReferenciaRemitente = new SqlParameter("@referenciaRemitente", SqlDbType.NVarChar, 50);
920 prmReferenciaRemitente.Value = referenciaRemitente;
921 prmColoniaRemitente = new SqlParameter("@coloniaRemitente", SqlDbType.NVarChar, 50);
922 prmColoniaRemitente.Value = coloniaRemitente;
923 prmCodigoPostalRemitente = new SqlParameter("@codigoPostalRemitente", SqlDbType.NVarChar, 50);
924 prmCodigoPostalRemitente.Value = codigoPostalRemitente;
925 prmEstadoRemitente = new SqlParameter("@estadoRemitente", SqlDbType.NVarChar, 50);
926 prmNombreDestinatario = new SqlParameter("@nombreDestinatario", SqlDbType.NVarChar, 50);
927 prmCorreoDestinatario = new SqlParameter("@correoDestinatario", SqlDbType.NVarChar, 50);
928 prmTelefonoDestinatario = new SqlParameter("@telefonoDestinatario", SqlDbType.NVarChar, 50);
929 prmDireccionDestinatario = new SqlParameter("@direccionDestinatario", SqlDbType.NVarChar, 50);
930 prmReferenciaDestinatario = new SqlParameter("@referenciaDestinatario", SqlDbType.NVarChar, 50);
931 prmColoniaDestinatario = new SqlParameter("@coloniaDestinatario", SqlDbType.NVarChar, 50);
932 prmCodigoPostalDestinatario = new SqlParameter("@codigoPostalDestinatario", SqlDbType.NVarChar, 50);
933 prmCiudadDestinatario = new SqlParameter("@ciudadDestinatario", SqlDbType.NVarChar, 50);
934 prmEstadoDestinatario = new SqlParameter("@estadoDestinatario", SqlDbType.NVarChar, 50);
935 prmNumOrden = new SqlParameter("@numOrden", SqlDbType.NVarChar, 50);
936 prmEstatusOrden = new SqlParameter("@estatusOrden", SqlDbType.NVarChar, 50);
937 prmNombreDestinatario.Value = nombreDestinatario;
938 prmEstadoRemitente.Value = estadoRemitente;
939 prmCorreoDestinatario.Value = correoDestinatario;
940 prmTelefonoDestinatario.Value = telefonoDestinatario;
941 prmDireccionDestinatario.Value = direccionDestinatario;
942 prmReferenciaDestinatario.Value = referenciaDestinatario;
943 prmColoniaDestinatario.Value = coloniaDestinatario;
944 prmCodigoPostalDestinatario.Value = codigoPostalDestinatario;
945 prmCiudadDestinatario.Value = ciudadDestinatario;
946 prmEstadoDestinatario.Value = estadoDestinatario;
947 prmNumOrden.Value = numOrden;
948 prmEstatusOrden.Value = statusOrden;
949 DataTable = db.ObtenerDatosComoDataTable("spac_Emissary_Orden", prmUserId, prmPlataformaId, prmNumOrden, prmNombreRemitente, prmCorreoRemitente, prmTelefonoRemitente, prmDireccionRemitente, prmReferenciaRemitente, prmColoniaRemitente, prmCodigoPostalRemitente, prmEstadoRemitente, prmNombreDestinatario, prmCorreoDestinatario, prmTelefonoDestinatario, prmColoniaDestinatario, prmDireccionDestinatario, prmReferenciaDestinatario, prmCiudadDestinatario, prmCodigoPostalDestinatario, prmEstadoDestinatario, prmEstatusOrden);
950
951 DataTable.TableName = "Direcciones";
952
953 mensaje = JsonConvert.SerializeObject(DataTable);
954
955 }
956 catch (Exception ex)
957 {
958 mensaje = "error|" + ex.Message.ToString();
959 }
960 finally
961 {
962 db.Finalizar();
963 }
964 }
965 }
966 prmUserId = new SqlParameter("@userId", SqlDbType.NVarChar, 50);
967 prmUserId.Value = userId;
968 prmPlataformaId = new SqlParameter("@plataformaId", SqlDbType.NVarChar, 50);
969 prmPlataformaId.Value = 1;
970 var prmUrlTienda = new SqlParameter("@url", SqlDbType.NVarChar, 50);
971 prmUrlTienda.Value = url;
972 var prmKey = new SqlParameter("@key", SqlDbType.NVarChar, 100);
973 prmKey.Value = key;
974 var prmKeySecret = new SqlParameter("@keySecret", SqlDbType.NVarChar, 50);
975 prmKeySecret.Value = keySecret;
976 var prmDireccionId = new SqlParameter("@direccionId", SqlDbType.NVarChar, 50);
977 prmDireccionId.Value = direccionId;
978 DataTable = db.ObtenerDatosComoDataTable("spa_Emissary_Integracion", prmUserId, prmPlataformaId, prmUrlTienda, prmKey, prmKeySecret, prmDireccionId);
979 return mensaje;
980 }
981
982
983 public static string GET(string url)
984 {
985 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
986 try
987 {
988 WebResponse response = request.GetResponse();
989 using (Stream responseStream = response.GetResponseStream())
990 {
991 StreamReader reader = new StreamReader(responseStream, System.Text.Encoding.UTF8);
992 return reader.ReadToEnd();
993 }
994 }
995 catch (WebException ex)
996 {
997 WebResponse errorResponse = ex.Response;
998 using (Stream responseStream = errorResponse.GetResponseStream())
999 {
1000 StreamReader reader = new StreamReader(responseStream, System.Text.Encoding.GetEncoding("utf-8"));
1001 String errorText = reader.ReadToEnd();
1002 // log errorText
1003 }
1004 throw;
1005 }
1006 }
1007 #endregion <<Actualizar Woocommerce>>
1008
1009
1010 public static string actualizarWoo(string url, string key, string keySecret, string direccionId)
1011 {
1012 string userId = HttpContext.Current.Session["usuario_id"].ToString();
1013 string mensaje = string.Empty;
1014
1015 DataTable DataTable = new DataTable();
1016 dbo.BaseDatos db = null;
1017 dbo.BaseDatos db2 = null;
1018 SqlParameter prmDireccionId;
1019
1020 db = new dbo.BaseDatos(ConfigurationManager.ConnectionStrings["cnn"].ToString());
1021 db2 = new dbo.BaseDatos(ConfigurationManager.ConnectionStrings["cnn"].ToString());
1022
1023 prmDireccionId = new SqlParameter("@IdDireccion", SqlDbType.SmallInt);
1024 prmDireccionId.Value = direccionId;
1025
1026
1027 DataTable = db.ObtenerDatosComoDataTable("spq_Emissary_DatosDireccion", prmDireccionId);
1028 DataTable.TableName = "Ordenes";
1029 //return DataTable.ToString();
1030 mensaje = JsonConvert.SerializeObject(DataTable);
1031 DataRow renglon = DataTable.Rows[0];
1032 string nombreRemitente = renglon["nombre"].ToString();
1033 string correoRemitente = renglon["correo"].ToString();
1034 string telefonoRemitente = renglon["telefono"].ToString();
1035 string direccionRemitente = renglon["direccion"].ToString();
1036 string referenciaRemitente = renglon["referencia"].ToString();
1037 string coloniaRemitente = renglon["colonia"].ToString();
1038 string codigoPostalRemitente = renglon["codigoPostal"].ToString();
1039 string estadoRemitente = renglon["estado"].ToString();
1040 dynamic Data = JsonConvert.DeserializeObject(GET("http://emissarywebservice.site/?url=" + url + "&consumer_key=" + key + "&consumer_secret=" + keySecret));
1041
1042 //DIRECCION DESTINATARIO;
1043
1044 DataTable DataTable2 = new DataTable();
1045 SqlParameter prmUserId, prmPlataformaId, prmNumOrden, prmNumOrden2,
1046 prmNombreRemitente, prmCorreoRemitente, prmTelefonoRemitente, prmDireccionRemitente, prmReferenciaRemitente, prmColoniaRemitente, prmCodigoPostalRemitente, prmEstadoRemitente, prmNombreDestinatario, prmCorreoDestinatario, prmTelefonoDestinatario, prmColoniaDestinatario, prmDireccionDestinatario, prmReferenciaDestinatario, prmCiudadDestinatario, prmCodigoPostalDestinatario, prmEstadoDestinatario, prmEstatusOrden, prmEnvio, prmProducto, prmCantidad, prmPrecio, prmPrecioTotal, prmPeso, prmProductoId;
1047 db = new dbo.BaseDatos(ConfigurationManager.ConnectionStrings["cnn"].ToString());
1048 for (var i = 0; i < Data.data.Count; i++)
1049 {
1050 if (Data.data[i].status == "on-hold" || Data.data[i].status == "processing")
1051 {
1052
1053 try
1054 {
1055 string nombreDestinatario = Data.data[i]["shipping"].first_name; //FromName
1056 string correoDestinatario = Data.data[i]["billing"].email;
1057 string telefonoDestinatario = Data.data[i]["billing"].phone;
1058 string coloniaDestinatario = Data.data[i]["billing"].address_2; //FromStreth
1059 string direccionDestinatario = Data.data[i]["shipping"].address_1; //FromComents
1060 string referenciaDestinatario = Data.data[i]["shipping"].company; //FromAdress
1061 string ciudadDestinatario = Data.data[i]["shipping"].city; //FromPostalCode
1062 string codigoPostalDestinatario = Data.data[i]["shipping"].postcode; //FromCity
1063 string estadoDestinatario = Data.data[i]["shipping"].state; //FromCity
1064 string statusOrden = Data.data[i]["status"];
1065 string infoEnvio = Data.data[i]["shipping_lines"].Count > 0 ? Data.data[i]["shipping_lines"][0].method_title + " | $" + Data.data[i]["shipping_lines"][0].total : "Información no disponible";
1066 string numOrden = Data.data[i]["number"];
1067
1068
1069 mensaje = JsonConvert.SerializeObject(DataTable);
1070 prmUserId = new SqlParameter("@userId", SqlDbType.NVarChar, 50);
1071 prmUserId.Value = userId;
1072 prmPlataformaId = new SqlParameter("@plataformaId", SqlDbType.NVarChar, 50);
1073 prmPlataformaId.Value = 1;
1074 prmNombreRemitente = new SqlParameter("@nombreRemitente", SqlDbType.NVarChar, 50);
1075 prmNombreRemitente.Value = nombreRemitente;
1076 prmCorreoRemitente = new SqlParameter("@correoRemitente", SqlDbType.NVarChar, 50);
1077 prmCorreoRemitente.Value = correoRemitente;
1078 prmTelefonoRemitente = new SqlParameter("@telefonoRemitente", SqlDbType.NVarChar, 50);
1079 prmTelefonoRemitente.Value = telefonoRemitente;
1080 prmDireccionRemitente = new SqlParameter("@direccionRemitente", SqlDbType.NVarChar, 50);
1081 prmDireccionRemitente.Value = direccionRemitente;
1082 prmReferenciaRemitente = new SqlParameter("@referenciaRemitente", SqlDbType.NVarChar, 50);
1083 prmReferenciaRemitente.Value = referenciaRemitente;
1084 prmColoniaRemitente = new SqlParameter("@coloniaRemitente", SqlDbType.NVarChar, 50);
1085 prmColoniaRemitente.Value = coloniaRemitente;
1086 prmCodigoPostalRemitente = new SqlParameter("@codigoPostalRemitente", SqlDbType.NVarChar, 50);
1087 prmCodigoPostalRemitente.Value = codigoPostalRemitente;
1088 prmEstadoRemitente = new SqlParameter("@estadoRemitente", SqlDbType.NVarChar, 50);
1089 prmNombreDestinatario = new SqlParameter("@nombreDestinatario", SqlDbType.NVarChar, 50);
1090 prmCorreoDestinatario = new SqlParameter("@correoDestinatario", SqlDbType.NVarChar, 50);
1091 prmTelefonoDestinatario = new SqlParameter("@telefonoDestinatario", SqlDbType.NVarChar, 50);
1092 prmDireccionDestinatario = new SqlParameter("@direccionDestinatario", SqlDbType.NVarChar, 50);
1093 prmReferenciaDestinatario = new SqlParameter("@referenciaDestinatario", SqlDbType.NVarChar, 50);
1094 prmColoniaDestinatario = new SqlParameter("@coloniaDestinatario", SqlDbType.NVarChar, 50);
1095 prmCodigoPostalDestinatario = new SqlParameter("@codigoPostalDestinatario", SqlDbType.NVarChar, 50);
1096 prmCiudadDestinatario = new SqlParameter("@ciudadDestinatario", SqlDbType.NVarChar, 50);
1097 prmEstadoDestinatario = new SqlParameter("@estadoDestinatario", SqlDbType.NVarChar, 50);
1098 prmNumOrden = new SqlParameter("@numOrden", SqlDbType.NVarChar, 50);
1099 prmEstatusOrden = new SqlParameter("@estatusOrden", SqlDbType.NVarChar, 50);
1100 prmEnvio = new SqlParameter("@infoEnvio", SqlDbType.NVarChar, 50);
1101 prmNombreDestinatario.Value = nombreDestinatario;
1102 prmEstadoRemitente.Value = estadoRemitente;
1103 prmCorreoDestinatario.Value = correoDestinatario;
1104 prmTelefonoDestinatario.Value = telefonoDestinatario;
1105 prmDireccionDestinatario.Value = direccionDestinatario;
1106 prmReferenciaDestinatario.Value = referenciaDestinatario;
1107 prmColoniaDestinatario.Value = coloniaDestinatario;
1108 prmCodigoPostalDestinatario.Value = codigoPostalDestinatario;
1109 prmCiudadDestinatario.Value = ciudadDestinatario;
1110 prmEstadoDestinatario.Value = estadoDestinatario;
1111 prmNumOrden.Value = numOrden;
1112 prmEstatusOrden.Value = statusOrden;
1113 prmEnvio.Value = infoEnvio;
1114 DataTable = db.ObtenerDatosComoDataTable("spac_Emissary_Orden2", prmUserId, prmPlataformaId, prmNumOrden, prmNombreRemitente, prmCorreoRemitente, prmTelefonoRemitente, prmDireccionRemitente, prmReferenciaRemitente, prmColoniaRemitente, prmCodigoPostalRemitente, prmEstadoRemitente, prmNombreDestinatario, prmCorreoDestinatario, prmTelefonoDestinatario, prmColoniaDestinatario, prmDireccionDestinatario, prmReferenciaDestinatario, prmCiudadDestinatario, prmCodigoPostalDestinatario, prmEstadoDestinatario, prmEstatusOrden, prmEnvio);
1115
1116 DataTable.TableName = "Direcciones";
1117 for (var j = 0; j < Data.data[i].line_items.Count; j++)
1118 {
1119 if (Data.data[i].line_items[j].id > 0)
1120 {
1121 int id = Data.data[i].line_items[j].product_id;
1122
1123 string producto = Data.data[i].line_items[j].name;
1124 prmNumOrden2 = new SqlParameter("@numOrden", SqlDbType.Int);
1125 prmNumOrden2.Value = numOrden;
1126 prmProducto = new SqlParameter("@producto", SqlDbType.NVarChar, 100);
1127 prmProducto.Value = producto;
1128 prmCantidad = new SqlParameter("@cantidad", SqlDbType.Int);
1129 prmCantidad.Value = Data.data[i].line_items[j].quantity;
1130 prmPrecio = new SqlParameter("@precio", SqlDbType.Decimal, 10);
1131 prmPrecio.Value = (decimal)Data.data[i].line_items[j].price;
1132 prmPrecioTotal = new SqlParameter("@precioTotal", SqlDbType.Decimal, 10);
1133 prmPrecioTotal.Value = (decimal)Data.data[i].line_items[j].price * (decimal)Data.data[i].line_items[j].quantity;
1134
1135 prmProductoId = new SqlParameter("@productoId", SqlDbType.Int);
1136 prmProductoId.Value = Data.data[i].line_items[j].product_id;
1137 dynamic Data3 = JsonConvert.DeserializeObject(GET("http://emissarywebservice.site/getProduct.php?url=" + url + "&consumer_key=" + key + "&consumer_secret=" + keySecret + "&id=" + id));
1138 prmPeso = new SqlParameter("@peso", SqlDbType.Decimal, 10);
1139 prmPeso.Value = Data3.weight == "" ? 0 : (decimal)Data3.weight;
1140 DataTable2 = db2.ObtenerDatosComoDataTable("askerick.spa_agregarProductosOrden", prmNumOrden2, prmProducto, prmCantidad, prmPrecio, prmPrecioTotal, prmPeso, prmProductoId);
1141 }
1142 mensaje = JsonConvert.SerializeObject(DataTable);
1143 }
1144
1145 //return "";
1146 }
1147 catch (Exception ex)
1148 {
1149 mensaje = "error|" + ex.Message.ToString();
1150 return "";
1151 }
1152 finally
1153 {
1154
1155 db.Finalizar();
1156 }
1157
1158 }
1159
1160 }
1161 return "";
1162 }
1163
1164
1165
1166 }
1167}