public void pegar_portapapeles(DataGrid datagrid) { string texto_copiado = Clipboard.GetText(); string[] lineas = texto_copiado.Split('\n'); foreach (string linea in lineas) { string[] celdas = linea.Split('\t'); if (celdas.Length == 8) { List <PLUProductos> PLUs = new List <PLUProductos>(); List <ImpuestoProducto> ImpuestosList = new List <ImpuestoProducto>(); ImpuestosList.Add(new ImpuestoProducto { idImpuesto = 1, }); PLUs.Add(new PLUProductos { PLU = celdas[0].Trim(), }); if (celdas[5].Trim() != "" & celdas[5].Trim() != "#N/D") { PLUs.Add(new PLUProductos { PLU = celdas[5].Trim(), }); } if (celdas[4].Trim() != "" & celdas[4].Trim() != "#N/D") { catalogoSat catalogo = new catalogoSat(); catalogo = _catalogSatPresenter.GetCatalogByClave(celdas[4].Trim()); if (catalogo != null) { idcatalogo = catalogo.idCatalogoSat; } else { catalogo = new catalogoSat(); catalogo.Clave = celdas[4].Trim(); catalogo.Descripcion = "por definir"; catalogo.Activo = true; catalogo.idUnidadSat = 1; catalogo = _catalogSatPresenter.SaveCatalogSat(catalogo); idcatalogo = catalogo.idCatalogoSat; } } Productos producto = new Productos { NombreProducto = celdas[1].Trim(), PLUs = PLUs, PrecioCosto = float.Parse(celdas[2]), PrecioVenta = float.Parse(celdas[3]), PrecioVentaSinImpuestos = 0, idMarca = 1, idDepartamento = int.Parse(celdas[7]), Ganancia = 1, idUnidad = 1, Minimo = 0, Maximo = 0, Impuestos = ImpuestosList, idCatalogoSat = idcatalogo, idUnidadSat = 1, idSubDepartamento = int.Parse(celdas[6]), MinimoCompra = 0, ImagenId = "imagen" }; products.Add(producto); } } productsList.AddRange(products); _productsPresenter.SaveProducts(products); }