private void ValidacionDatosSimilares(List <Similares> lstSimilaresNuevos) { if (lstSimilaresNuevos != null) { var asin = lstSimilaresNuevos.First().ASIN; var lstSimilaresViejos = SimilaresAdapter.ObtenerSimilares(asin); var lstAsinSimilaresNuevos = (from similar in lstSimilaresNuevos select similar.ASINSimilar).ToList(); var lstAsinSimilaresViejos = (from similar in lstSimilaresViejos select similar.ASINSimilar).ToList(); var nuevos = lstAsinSimilaresNuevos.Except(lstAsinSimilaresViejos); var bajas = lstAsinSimilaresViejos.Except(lstAsinSimilaresNuevos); if (nuevos.Any()) { var lstCamposActualizado = new List <CampoActualizado>(); foreach (var nuevo in nuevos) { CampoActualizado campo = new CampoActualizado { Campo = "ASINSimilar", ValorNuevo = nuevo }; lstCamposActualizado.Add(campo); } productoActualizado.Campos.AddRange(lstCamposActualizado); cambioSimilares = true; Cambio = true; } if (bajas.Count() > 0) { List <CampoActualizado> lstCamposActualizado = new List <CampoActualizado>(); foreach (var baja in bajas) { var campo = new CampoActualizado { Campo = "ASINSimilar", ValorViejo = baja, ValorNuevo = "" }; lstCamposActualizado.Add(campo); } productoActualizado.Campos.AddRange(lstCamposActualizado); cambioSimilares = true; Cambio = true; } } }
private void UploadSimi(string asin, string internalId) { var similar = SimilaresAdapter.ObtenerSimilares(asin); foreach (var item in similar) { var value = ObtenerRecordId("342", "Similares", internalId, 3, "custrecord_sim_asin", item.ASINSimilar); var rec = new SuiteTalkWs.CustomRecord(); var recType = new SuiteTalkWs.RecordRef { internalId = "342", name = "Similares" }; rec.recType = recType; rec.name = "Similares"; rec.customFieldList = CustomListSimi(internalId, item); if (!string.IsNullOrEmpty(value)) { rec.internalId = value; var resUpdate = _client.update(rec); if (resUpdate.status.isSuccess) { return; } 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}"); return; } 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}"); } }