public bool ActualizarDatos(Producto producto) { OBitacora.GuardarLinea($"{ DateTime.Now :yyyy-MM-dd hh:mm:ss}|Productos|Actualizando datos producto"); if (CambioProducto) { ProductosAdapter.Actualizar(producto); } OBitacora.GuardarLinea($"{ DateTime.Now :yyyy-MM-dd hh:mm:ss}|Productos|Actualizando datos dimensiones"); if (cambioDimensiones) { DimensionesAdapter.Actualizar(producto.Dimensiones); } OBitacora.GuardarLinea($"{ DateTime.Now :yyyy-MM-dd hh:mm:ss}|Productos|Actualizando datos dimensiones paquete"); if (cambioDimensionesPaquete) { DimensionesPaqueteAdapter.Actualizar(producto.DimensionesPaquete); } OBitacora.GuardarLinea($"{ DateTime.Now :yyyy-MM-dd hh:mm:ss}|Productos|Actualizando datos resumen"); if (cambioResumen) { ResumenAdapter.Actualizar(producto.Resumen); } OBitacora.GuardarLinea($"{ DateTime.Now :yyyy-MM-dd hh:mm:ss}|Productos|Actualizando datos simialres"); if (cambioSimilares) { SimilaresAdapter.Actualizar(producto.Similares); } OBitacora.GuardarLinea($"{ DateTime.Now :yyyy-MM-dd hh:mm:ss}|Productos|Actualizando datos caracteristicas"); if (cambioCaracteristicas) { CaracteristicasAdapter.Actualizar(producto.Caracteristicas); } OBitacora.GuardarLinea($"{ DateTime.Now :yyyy-MM-dd hh:mm:ss}|Productos|Actualizando datos upcs"); if (CambioUpcs) { UPCsAdapter.Actualizar(producto.UPCs); } if (!CambioProducto && (cambioDimensiones || cambioDimensionesPaquete || cambioResumen || cambioSimilares || cambioCaracteristicas || CambioUpcs)) { ProductosAdapter.ActualizarBandera(producto.ASIN, true); } CambioProducto = false; cambioDimensiones = false; cambioDimensionesPaquete = false; cambioResumen = false; cambioSimilares = false; cambioCaracteristicas = false; CambioUpcs = false; return(true); }
private void ValidacionDatosCaracteristicas(List <Caracteristicas> lstCaracteristicasNuevas) { if (lstCaracteristicasNuevas != null) { string asin = lstCaracteristicasNuevas.First().ASIN; List <Caracteristicas> lstCaracteristicasViejas = CaracteristicasAdapter.ObtenerCaracteristicas(asin); List <string> lstCaracteristicasNuevos = (from caracteristica in lstCaracteristicasNuevas select caracteristica.Caracteristica).ToList(); List <string> lstCaracteristicasViejos = (from caracteristica in lstCaracteristicasViejas select caracteristica.Caracteristica).ToList(); var nuevos = lstCaracteristicasNuevos.Except(lstCaracteristicasViejos); var bajas = lstCaracteristicasViejos.Except(lstCaracteristicasNuevos); if (nuevos.Count() > 0) { List <CampoActualizado> lstCamposActualizado = new List <CampoActualizado>(); foreach (var nuevo in nuevos) { CampoActualizado campo = new CampoActualizado { Campo = "Caracteristicas", ValorNuevo = nuevo }; lstCamposActualizado.Add(campo); } productoActualizado.Campos.AddRange(lstCamposActualizado); cambioCaracteristicas = true; Cambio = true; } if (bajas.Count() > 0) { List <CampoActualizado> lstCamposActualizado = new List <CampoActualizado>(); foreach (var baja in bajas) { CampoActualizado campo = new CampoActualizado { Campo = "Caracteristicas", ValorViejo = baja, ValorNuevo = "" }; lstCamposActualizado.Add(campo); } productoActualizado.Campos.AddRange(lstCamposActualizado); cambioCaracteristicas = true; Cambio = 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 UploadCaracteristicas(string asin, string internalId) { var caract = CaracteristicasAdapter.ObtenerCaracteristicas(asin); foreach (var item in caract) { var value = ObtenerRecordId("345", "Buybox caracteristicas", internalId, 1, "custrecord_bc_caracteristicas", item.Caracteristica); var rec = new SuiteTalkWs.CustomRecord(); var recType = new SuiteTalkWs.RecordRef { internalId = "345", name = "Buybox caracteristicas" }; rec.recType = recType; rec.name = "Buybox caracteristicas"; rec.customFieldList = CustomListCaract(internalId, item); 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}"); } }