private void CargarDatos(string strm)
        {
            DataTable tabla = null;
            StreamReader lector = new StreamReader(strm, Encoding.UTF8);
            String fila = String.Empty;
            Int32 cantidad = 0;
            do
            {
                fila = lector.ReadLine();

                if (fila == null)
                {
                    break;
                }
                if (0 == cantidad++)
                {
                    tabla = this.CrearTabla(fila);
                }
                this.AgregarFila(fila, tabla);

                //valores es mi fila mResponsible.cs
                String[] valores = fila.Split(new char[] { ',' });
                eProducto objProducto = new eProducto();
                eProductoCategoria objProductoCategoria = new eProductoCategoria();
                eArticulo oArticul = new eArticulo();
                foreach (String val in valores)
                {
                    //validar si existe y luego agregar nombre del abuelo agregar en articulo
                    oArticul.Titulo = valores[0].ToString();
                    objProductoCategoria.DescripcionProductoCategoria = valores[1].ToString();
                    //vacio
                    string vacio = valores[2].ToString();
                    objProducto.CodigoProducto = valores[3].ToString();
                    objProducto.ModeloProducto = valores[4].ToString();
                    objProducto.DescripcionProducto = valores[5].ToString();
                    objProducto.PrecioProducto = (valores[6].ToString() != "") ? Convert.ToDecimal(valores[6].ToString().Replace(" ","")) : Convert.ToDecimal(0);
                    objProducto.ImagenChica = valores[7].ToString();
                    objProducto.ImagenGrande = valores[8].ToString();
                    //validar si existe y luego agregar en articulo y en tb_productos_categoria
                    List<eArticulo> lArticulo = new List<eArticulo>();
                    lArticulo = cCMS.ArticuloBuscarNombre(oArticul.Titulo);

                    if (lArticulo.Count == 0)
                    {
                        oArticul.IdEsquema = 7;
                        oArticul.IdIdioma = 1;
                        oArticul.IdMenuWeb = 2;
                        oArticul.IdUsuarioAutor = 1;
                        oArticul.IdUsuarioPublicador = 1;
                        //agregar el articulo abuelo
                        oArticul.URLEstatica = oArticul.Titulo.Replace(" ", "-").ToLower();
                        int oArti = cCMS.Articulo_add(oArticul);
                        RegistrarLog(6, CMD_Administrar, "Se agregó un nuevo padre tipo de productos-articulo: " + oArti.ToString());
                        lArticulo = cCMS.ArticuloBuscarNombre(oArticul.Titulo);
                    }                   

                    List<eArticulo> lArticulo2 = new List<eArticulo>();
                    eArticulo oProductoCategoria = new eArticulo();
                    lArticulo2 = cCMS.ArticuloBuscarNombre(objProductoCategoria.DescripcionProductoCategoria);
                    if (lArticulo2.Count == 0)
                    {   
                        //agregar al articulo padre
                        oArticul.IdEsquema = 1;
                        oArticul.IdIdioma = 1;
                        oArticul.IdMenuWeb = 2;
                        oArticul.IdUsuarioAutor = 1;
                        oArticul.IdUsuarioPublicador = 1;
                        oArticul.Titulo = objProductoCategoria.DescripcionProductoCategoria;
                        oArticul.URLEstatica = objProductoCategoria.DescripcionProductoCategoria.Replace(" ", "-");
                        oArticul.IdArticuloPadre = lArticulo[0].IdArticulo;
                        int idArtic = cCMS.Articulo_add(oArticul);
                        RegistrarLog(6, CMD_Administrar, "Se agregó un nuevo tipo de productos-articulo: " + idArtic.ToString());
                        //y a tb_producto_Categoria
                        oProductoCategoria.Titulo = objProductoCategoria.DescripcionProductoCategoria;
                        oProductoCategoria.IdArticulo = idArtic;
                        oProductoCategoria.IdArticuloPadre = lArticulo[0].IdArticulo;
                        cCMS.Tipo_producto_add(oProductoCategoria);
                        RegistrarLog(6, CMD_Administrar, "Se agregó un nuevo tipo de productos: " + oProductoCategoria.Titulo);
                        lArticulo2 = cCMS.ArticuloBuscarNombre(objProductoCategoria.DescripcionProductoCategoria);
                    }
                    //validar si existe y luego agregar a tb_productos
                    eProducto oProducto = new eProducto();
                    oProducto = objProducto;
                    oProducto.IdProductoCategoria = lArticulo2[0].IdArticulo;
                    List<eProducto> lProducto = new List<eProducto>();
                    lProducto = cCMS.Producto_ListarCodigo(oProducto.CodigoProducto);
                    if (lProducto.Count == 0)
                    {
                        cCMS.Producto_add(oProducto);
                        RegistrarLog(6, CMD_Administrar, "Se agregó un nuevo producto: " + oProducto.IdProductoCategoria);
                    }
                break;
                }
            } while (true);

            Imprimir("Usuarios cargados exitosamente!");
            RegistrarLog(6, CMD_Administrar, "El upload de productos fue realizado correctamente.");
        }
        private void CargarDatos(string strm)
        {
            DataTable tabla = null;
            //StreamReader lector = new StreamReader(strm, Encoding.UTF8);
            StreamReader lector = new StreamReader(strm, Encoding.GetEncoding(1252));

            String fila     = String.Empty;
            Int32  cantidad = 0;

            do
            {
                fila = lector.ReadLine();

                if (fila == null)
                {
                    break;
                }
                cantidad++;

                if (cantidad == 1)
                {
                    continue;
                }
                if (2 == cantidad++)
                {
                    tabla = this.CrearTabla(fila);
                }
                this.AgregarFila(fila, tabla);

                //valores es mi fila mResponsible.cs
                String[]           valores              = fila.Split(new char[] { '	' });
                eProducto          objProducto          = new eProducto();
                eProductoCategoria objProductoCategoria = new eProductoCategoria();
                eArticulo          oArticul             = new eArticulo();
                foreach (String val in valores)
                {
                    //validar si existe y luego agregar nombre del abuelo agregar en articulo
                    oArticul.Titulo = valores[0].ToString();
                    objProductoCategoria.DescripcionProductoCategoria = valores[1].ToString();

                    objProducto.SOSProducto         = (valores[2].ToString().Length == 3) ? valores[2].ToString() : "0" + valores[2].ToString();
                    objProducto.CodigoProducto      = valores[3].ToString();
                    objProducto.ModeloProducto      = valores[4].ToString();
                    objProducto.DescripcionModelo   = valores[5].ToString();
                    objProducto.DescripcionProducto = valores[6].ToString();
                    objProducto.PrecioProducto      = (valores[7].ToString() != "") ? Convert.ToDecimal(valores[7].ToString().Replace(" ", "")) : Convert.ToDecimal(0);
                    objProducto.ImagenChica         = valores[3].ToString() + ".jpg";
                    //objProducto.ImagenGrande = valores[8].ToString();
                    //validar si existe y luego agregar en articulo y en tb_productos_categoria
                    List <eArticulo> lArticulo = new List <eArticulo>();
                    lArticulo = cCMS.ArticuloBuscarNombre(oArticul.Titulo);

                    if (lArticulo.Count == 0)
                    {
                        oArticul.IdEsquema           = 7;
                        oArticul.IdIdioma            = 1;
                        oArticul.IdMenuWeb           = 2;
                        oArticul.IdUsuarioAutor      = 1;
                        oArticul.IdUsuarioPublicador = 1;
                        //agregar el articulo abuelo
                        oArticul.URLEstatica = oArticul.Titulo.Replace(" ", "-").ToLower();
                        int oArti = cCMS.Articulo_add(oArticul);
                        RegistrarLog(6, CMD_Administrar, "Se agregó un nuevo padre tipo de productos-articulo: " + oArti.ToString(), SerializeLog(oArti, typeof(eArticulo)), "");
                        lArticulo = cCMS.ArticuloBuscarNombre(oArticul.Titulo);
                    }

                    List <eArticulo> lArticulo2         = new List <eArticulo>();
                    eArticulo        oProductoCategoria = new eArticulo();
                    lArticulo2 = cCMS.ArticuloBuscarNombre(objProductoCategoria.DescripcionProductoCategoria);
                    if (lArticulo2.Count == 0)
                    {
                        //agregar al articulo padre
                        oArticul.IdEsquema           = 1;
                        oArticul.IdIdioma            = 1;
                        oArticul.IdMenuWeb           = 2;
                        oArticul.IdUsuarioAutor      = 1;
                        oArticul.IdUsuarioPublicador = 1;
                        oArticul.Titulo          = objProductoCategoria.DescripcionProductoCategoria;
                        oArticul.URLEstatica     = objProductoCategoria.DescripcionProductoCategoria.Replace(" ", "-");
                        oArticul.IdArticuloPadre = lArticulo[0].IdArticulo;
                        int idArtic = cCMS.Articulo_add(oArticul);
                        RegistrarLog(6, CMD_Administrar, "Se agregó un nuevo tipo de productos-articulo: " + idArtic.ToString(), SerializeLog(oArticul, typeof(eArticulo)), "");
                        //y a tb_producto_Categoria
                        oProductoCategoria.Titulo          = objProductoCategoria.DescripcionProductoCategoria;
                        oProductoCategoria.IdArticulo      = idArtic;
                        oProductoCategoria.IdArticuloPadre = lArticulo[0].IdArticulo;
                        cCMS.Tipo_producto_add(oProductoCategoria);
                        RegistrarLog(6, CMD_Administrar, "Se agregó un nuevo tipo de productos: " + oProductoCategoria.Titulo, SerializeLog(oProductoCategoria, typeof(eArticulo)), "");
                        lArticulo2 = cCMS.ArticuloBuscarNombre(objProductoCategoria.DescripcionProductoCategoria);
                    }

                    //validar si existe y luego agregar a tb_productos
                    eProducto oProducto = new eProducto();
                    oProducto = objProducto;
                    oProducto.IdProductoCategoria = lArticulo2[0].IdArticulo;
                    eProducto oProductoOld = cCMS.Producto_ItemCodigo(oProducto.CodigoProducto);
                    if (oProductoOld != null)
                    {
                        cCMS.Producto_edit(oProducto);
                        RegistrarLog(6, CMD_Administrar, "Se actualizó el producto: " + oProducto.CodigoProducto, SerializeLog(oProductoOld, typeof(eProducto)), SerializeLog(oProducto, typeof(eProducto)));
                    }
                    else
                    {
                        oProducto.IDProducto = cCMS.Producto_add(oProducto);
                        RegistrarLog(6, CMD_Administrar, "Se agregó un nuevo producto: " + oProducto.IdProductoCategoria, SerializeLog(oProducto, typeof(eProducto)), "");
                    }
                    break;
                }
            } while (true);

            liClassError.Visible = true;
            litError.Text        = "Usuarios cargados exitosamente!";
            //Imprimir("Usuarios cargados exitosamente!");
        }