public void LlenarInfoGoePower() { this._conexion.StartDate = DateTime.Today.AddDays(-320); //this._conexion.StartDate = new DateTime(2018, 1, 1); this._conexion.EndDate = DateTime.Now; int[] ordenes = this.GetListaOrdenes(OrderStatuses.All); if (ordenes == null) { Console.WriteLine($"No hay ordenes por procesar en la tienda {this._nombreTienda}"); return; } Console.WriteLine($"Total de ordenes {ordenes.Length} en la tienda {this._nombreTienda}"); foreach (int orden in ordenes) { OrdenDAO ordenDao = new OrdenDAO(); ItemDAO itemDao = new ItemDAO(); ClienteDAO clienteDAO = new ClienteDAO(); string __ordenID = $"{this._nombreTienda}_{orden}"; this._parametroOrden = new AuthHeaderOrder() { CompanyID = this._conexion.CompanyID, MasterKey = this._conexion.MasterKey, OrderID = orden, ProducerID = this._conexion.ProducerID, Username = this._conexion.Username }; AuthReturnOrder result = this.client.GetOrder(this._parametroOrden); Order order = result.Order; Job[] jobs = result.Jobs; var cte = clienteDAO.BuscarClienteCampoExtra(order.WebUserID.ToString()); XElement detalleOrdenXML; // Convertir La respuesta en XML para Guardarlo en la Base de Datos try { detalleOrdenXML = result.ToXElement <AuthReturnOrder>(); } catch (Exception e) { detalleOrdenXML = null; } Orden ordendDto = new Orden() { tienda = this._nombreTienda, ordenID = __ordenID, status = order.OrderStatus, webUserID = order.WebUserID, completeDate = order.CompletedDate, orderDate = order.OrderDate, releaseDate = order.ReleaseDate, shippingDate = order.ShippingDate, Total = (float)order.TotalPrice, clienteIntelisis = cte != null ? cte.Clave : "16776", detalle = detalleOrdenXML }; var o = ordenDao.existe(__ordenID); if (o != null) { if (o.status != order.OrderStatus) { Console.WriteLine("Es diferente"); Console.WriteLine($"La orden {orden} cambio de {o.status} a {order.OrderStatus}"); ordenDao.Actualiza(ordendDto); } continue; } Console.WriteLine($"Insertando la orden {orden} de la tienda {this._nombreTienda}"); ordenDao.Agregar(ordendDto); foreach (Job job in jobs) { Console.WriteLine($"Insertando el job {job.JobID}"); int cantidad = job.Quantity; int _cantidad = cantidad; if (job.Records > 1) { _cantidad = job.Records; } Item itemDto = new Item() { cantidad = job.Quantity, descripcion = job.JobName, ordenID = __ordenID, precio = (job.Price / _cantidad), records = job.Records, sku = job.SKU, setSize = job.SetSize }; itemDao.Agregar(itemDto); } if (order.ShippingPrice > 0) { Console.WriteLine($"Insertando el envio"); Item envio = new Item() { sku = "EN", descripcion = "Gastos de Envio", cantidad = 1, precio = order.ShippingPrice, ordenID = __ordenID, setSize = 1, records = 1 }; itemDao.Agregar(envio); } } }