public void ReportarNetSuiteInicial(List <of.BuyBox> buyBoxes, string asin) { DicDatosNetSuite = new Dictionary <string, Dictionary <string, string> >(); if (buyBoxes == null) { buyBoxes = BuyBoxAdapter.ObtenerBuyBox(asin); } if (DicDatosNetSuite == null) { DicDatosNetSuite = new Dictionary <string, Dictionary <string, string> >(); } var prod = ProductosAdapter.ObtenerProducto(asin); Dictionary <string, string> campos = new Dictionary <string, string> { { "custitem_ib_update_buybox_date", DateTime.Now.ToString("dd/MM/yyyy") } }; if (buyBoxes != null && buyBoxes.Any()) { campos.Add(Box, buyBoxes.First().Merchant.Equals("Ibushak") ? "true" : "false"); } campos.Add(Precio, prod.FormattedPrice); DicDatosNetSuite.Add(asin, campos); Cambio = true; }
public void ValidarCambios(List <of.BuyBox> buyBoxes) { if (buyBoxes != null) { var productoActualizado = new ProductoActualizado { ASIN = buyBoxes.First().ASIN, BuyBox = new List <BuyBoxActualizado>() }; OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Validando datos BuyBox"); foreach (var buyBoxNuevo in buyBoxes) { var buyBoxViejo = BuyBoxAdapter.ObtenerBuyBox(buyBoxNuevo.ASIN, buyBoxNuevo.Condition); if (buyBoxViejo != null) { ValidarMerchantBuyBox(buyBoxNuevo.Merchant, buyBoxViejo.Merchant); List <CampoActualizado> lstCamposActualizado = buyBoxNuevo.DetailedCompare(buyBoxViejo); if (lstCamposActualizado.Count > 0) { productoActualizado.BuyBox.AddRange((from campo in lstCamposActualizado select new BuyBoxActualizado { Campo = campo.Campo, Condicion = buyBoxNuevo.Condition, ValorNuevo = campo.ValorNuevo, ValorViejo = campo.ValorViejo }).ToList()); CambioBuyBox = true; Cambio = true; AgregarDicNetSuite(buyBoxNuevo, buyBoxNuevo.ASIN); } } else { CambioBuyBox = true; Cambio = true; ValidarMerchantBuyBox(buyBoxNuevo.Merchant, ""); AgregarDicNetSuite(buyBoxNuevo, buyBoxNuevo.ASIN); } } if (CambioBuyBox) { if (LstProductoActualizado == null) { LstProductoActualizado = new List <ProductoActualizado>(); } LstProductoActualizado.Add(productoActualizado); } } }
public bool ActualizarBuyBox(List <of.BuyBox> buyBoxes) { OBitacora.GuardarLinea($"{ DateTime.Now:yyyy-MM-dd hh:mm:ss}|Productos|Actualizando datos BuyBox"); if (CambioBuyBox) { BuyBoxAdapter.ActualizarBuyBox(buyBoxes); ProductosAdapter.ActualizarBandera(buyBoxes.First().ASIN, true); } CambioBuyBox = false; return(true); }
public void GenerarProductosActualizados() { IEnumerable <Producto> lstProductos = ProductosAdapter.ObtenerProductosTodos().ToList(); IEnumerable <string> lstAsin = lstProductos.Select(producto => producto.ASIN).ToList(); if (!lstAsin.Any()) { return; } var lstDataTable = new List <DataTable>(); var oCorreo = new Correo(); var dtasins = ASINAdapter.GetAllAsins().ConvertirADataTable("asin"); var dtProductos = lstProductos.ConvertirADataTable(Productos); var dtBuyBox = BuyBoxAdapter.ObtenerCaracteristicasActualizados(lstAsin).ConvertirADataTable(Buybox); var dtCaracteristicas = CaracteristicasAdapter.ObtenerCaracteristicasActualizados(lstAsin).ConvertirADataTable(Caracteristicas); var dtDimensiones = DimensionesAdapter.ObtenerCaracteristicasActualizados(lstAsin).ConvertirADataTable(Dimensiones); var dtDimensionesPaquete = DimensionesPaqueteAdapter.ObtenerCaracteristicasActualizados(lstAsin).ConvertirADataTable(Dimensionespaquete); var dtResumen = ResumenAdapter.ObtenerCaracteristicasActualizados(lstAsin).ConvertirADataTable(Resumen); var dtSimilares = SimilaresAdapter.ObtenerCaracteristicasActualizados(lstAsin).ConvertirADataTable(Similares); var dtUpCs = UPCsAdapter.ObtenerCaracteristicasActualizados(lstAsin).ConvertirADataTable(Upcs); lstDataTable.Add(dtasins); lstDataTable.Add(dtProductos); lstDataTable.Add(dtBuyBox); lstDataTable.Add(dtResumen); lstDataTable.Add(dtCaracteristicas); lstDataTable.Add(dtDimensiones); lstDataTable.Add(dtDimensionesPaquete); lstDataTable.Add(dtSimilares); lstDataTable.Add(dtUpCs); var bytes = GenerarExcel(lstDataTable); var nombreArchivo = $"{DateTime.Now:yyyy-MM-dd HHmm} Productos Amazon.xlsx"; var existoso = oCorreo.EnviarMensaje(bytes, nombreArchivo); if (!existoso) { return; } foreach (var asin in lstAsin) { ProductosAdapter.ActualizarBandera(asin, false); } }
private void UpdateBuyboxInfo(string asin, string internalId) { var buybox = BuyBoxAdapter.ObtenerBuyBox(asin); foreach (var item in buybox) { var value = ObtenerRecordId("339", "BuyBox Info", internalId, 11, "custrecord_bb_item"); var rec = new SuiteTalkWs.CustomRecord(); var recType = new SuiteTalkWs.RecordRef { internalId = "339", name = "BuyBox Info" }; rec.recType = recType; rec.name = "BuyBox Info"; rec.customFieldList = CustomListBuyboxInfo(item, internalId); if (!string.IsNullOrEmpty(value)) { rec.internalId = value; var resUpdate = _client.update(rec); if (resUpdate.status.isSuccess) { continue; } var res = _client.add(rec); _bitacora.GuardarLinea(res.status.isSuccess ? $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Correcto" : $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{res.status.statusDetail.First().message}"); continue; } var res2 = _client.add(rec); _bitacora.GuardarLinea(res2.status.isSuccess ? $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Correcto" : $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{res2.status.statusDetail.First().message}"); } }