public static List <Object> ImportarArticulos(string datos, string articulos, bool tipoImportacion) { string[] arArticulos; Int32 iIndex = 0; List <Object> listResponse; Boolean articulosAgregados = true; int numArticulosActuales = 0; string[] arArticulos2; try { listResponse = new List <Object>(); arArticulos = Newtonsoft.Json.JsonConvert.DeserializeObject <string[]>(datos); List <MPromoArticulo> listArticulosActuales = null; if (articulos != null) { listArticulosActuales = Newtonsoft.Json.JsonConvert.DeserializeObject <List <MPromoArticulo> >(articulos); } int cont = arArticulos.Count(); numArticulosActuales = listArticulosActuales != null?listArticulosActuales.Count() : 0; arArticulos2 = new string[cont + numArticulosActuales]; for (int i = 0; i < arArticulos.Count(); i++) { arArticulos2[i] = arArticulos[i]; } if (tipoImportacion) { foreach (MPromoArticulo art in listArticulosActuales) { arArticulos2[cont] = art.U_SO1_ARTICULO; cont++; } } Promocion oPromocion = null; if (tipoImportacion) { oPromocion = Promocion.Importar(arArticulos2); } else { oPromocion = Promocion.Importar(arArticulos); } for (int i = 0; i < arArticulos.Count(); i++) { iIndex = oPromocion.Articulos.ToList().FindIndex(x => x.U_SO1_ARTICULO == arArticulos[i]); if (iIndex == -1) { ReportesWeb.Seguridad.RegistroEvento.GuardarError("Promocion AXB: No se agrego el codigo: " + arArticulos[i], null); articulosAgregados = false; } } if (oPromocion != null) { listResponse.Add("OK"); listResponse.Add(oPromocion.Articulos); listResponse.Add(articulosAgregados); } else { listResponse.Add("Error"); listResponse.Add(""); } } catch (Exception oError) { listResponse = new List <Object>(); ReportesWeb.Seguridad.RegistroEvento.GuardarError("Error: ", oError); listResponse.Add("Error"); listResponse.Add(oError.Message); } return(listResponse); }