private void btnGrabar_Click(object sender, EventArgs e)
 {
     string idArticulo = null;
     string codigoColor;
     string codigoTalle;
     string nombreColor;
     int incrementar;
     if (ValidarControles())
     {
         Cursor.Current = Cursors.WaitCursor;
         DataRow selectedDataRow = ((DataRowView)cmbArticulo.SelectedItem).Row;
         codigo = selectedDataRow["IdArticuloART"].ToString();
         strDescripcion = cmbArticulo.SelectedValue.ToString();
         string colorTalle = codigo.Substring(codigo.Length - 4);
         string color = colorTalle.Substring(0, 2);
         string talle = colorTalle.Substring(2, 2);
         string[] separados;
         separados = strDescripcion.Split(" ".ToCharArray());
         int total = separados.Count();
         if (color != "00" && talle != "00")
         {
             total = separados.Count() - 2;
         }
         else if (color != "00" && talle == "00")
         {
             total = separados.Count() - 1;
         }
         else if (color == "00" && talle != "00")
         {
             total = separados.Count() - 1;
         }
         else
         {
             total = separados.Count();
         }
         for (int i = 0; i <total; i++)
         {
             strDescripcionNueva += separados[i] + " ";
         }
         DataRow foundRow = tblArticulos.Rows.Find(codigo);
         DataRow[] foundRow2 = tblProveedores.Select("IdProveedorPRO = '" + foundRow["IdProveedorART"].ToString() + "'");
         entidad = new Articulos();
         entidad.IdItem = Convert.ToInt32(foundRow["IdItemART"].ToString());
         entidad.IdGenero = foundRow["IdGeneroART"].ToString();
         entidad.IdAlicuota = Convert.ToInt32(foundRow["IdAliculotaIvaART"].ToString());
         entidad.IdProveedor = Convert.ToInt32(foundRow["IdProveedorART"].ToString());
         entidad.DescripcionWeb = foundRow["DescripcionWebART"].ToString();
         entidad.PrecioCosto = Convert.ToDecimal(foundRow["PrecioCostoART"].ToString());
         entidad.PrecioPublico = Convert.ToDecimal(foundRow["PrecioPublicoART"].ToString());
         entidad.PrecioMayor = Convert.ToDecimal(foundRow["PrecioMayorART"].ToString());
         entidad.Fecha = DateTime.Now;
         entidad.Imagen = "";
         entidad.ImagenBack = "";
         entidad.ImagenColor = "";
        //     entidad.ActivoWeb = Convert.ToInt32(foundRow["ActivoWebART"].ToString());
         entidad.NuevoWeb = Convert.ToInt32(foundRow["NuevoART"].ToString());
         entidad.Proveedor = foundRow2[0]["RazonSocialPRO"].ToString();
         int largoCodigo = codigo.Length - 4;
         codigo = codigo.Substring(0, largoCodigo);
         if (lstColores.SelectedIndices.Count > 0)
         {
             if (txtDesde.Text != "")
             {
                 if (rd1.Checked)
                 {
                     incrementar = 1;
                 }
                 else
                 {
                     incrementar = 2;
                 }
                 foreach (DataRowView filaColor in lstColores.SelectedItems)
                 {
                     for (int i = Convert.ToInt32(txtDesde.Text); i <= Convert.ToInt32(txtHasta.Text); i += incrementar)
                     {
                         codigoColor = filaColor.Row[0].ToString();
                         nombreColor = filaColor.Row[1].ToString();
                         if (codigoColor.Length == 1)
                         {
                             codigoColor = "0" + codigoColor;
                         }
                         codigoTalle = i.ToString();
                         if (codigoTalle.Length == 1)
                         {
                             codigoTalle = "0" + codigoTalle;
                         }
                         idArticulo = codigo + codigoColor + codigoTalle;
                         string descripcion = strDescripcionNueva + nombreColor + " T" + codigoTalle;
                         entidad.IdArticulo = idArticulo;
                         entidad.IdColor = Convert.ToInt32(codigoColor);
                         entidad.Talle = codigoTalle;
                         entidad.Descripcion = descripcion;
                         BL.ArticulosBLL.InsertarDT(tblArticulos, entidad);
                     }
                 }
             }
             else
             {
                 foreach (DataRowView filaColor in lstColores.SelectedItems)
                 {
                     codigoColor = filaColor.Row[0].ToString();
                     nombreColor = filaColor.Row[1].ToString();
                     if (codigoColor.Length == 1)
                     {
                         codigoColor = "0" + codigoColor;
                     }
                     idArticulo = codigo + codigoColor + "00";
                     string descripcion = strDescripcionNueva + nombreColor;
                     entidad.IdArticulo = idArticulo;
                     entidad.IdColor = Convert.ToInt32(codigoColor);
                     entidad.Talle = "";
                     entidad.Descripcion = descripcion;
                     BL.ArticulosBLL.InsertarDT(tblArticulos, entidad);
                 }
             }
         }
         else
         {
             if (txtDesde.Text != "")
             {
                 if (rd1.Checked)
                 {
                     incrementar = 1;
                 }
                 else
                 {
                     incrementar = 2;
                 }
                 for (int i = Convert.ToInt32(txtDesde.Text); i <= Convert.ToInt32(txtHasta.Text); i += incrementar)
                 {
                     codigoTalle = i.ToString();
                     if (codigoTalle.Length == 1)
                     {
                         codigoTalle = "0" + codigoTalle;
                     }
                     idArticulo = codigo + "00" + codigoTalle;
                     string descripcion = strDescripcionNueva + "T" + codigoTalle;
                     entidad.IdArticulo = idArticulo;
                     entidad.IdColor = 0;
                     entidad.Talle = codigoTalle;
                     entidad.Descripcion = descripcion;
                     BL.ArticulosBLL.InsertarDT(tblArticulos, entidad);
                 }
             }
             else
             {
                 idArticulo = codigo + "00" + "00";
                 string descripcion = strDescripcionNueva;
                 entidad.IdArticulo = idArticulo;
                 entidad.IdColor = 0;
                 entidad.Talle = "";
                 entidad.Descripcion = descripcion;
                 BL.ArticulosBLL.InsertarDT(tblArticulos, entidad);
             }
         }
         MessageBox.Show(idArticulo);
         strDescripcionNueva = "";
         txtDesde.Text = "";
         txtHasta.Text = "";
         Cursor.Current = Cursors.Arrow;
     }
 }
 public static void InsertarDT(DataTable tabla, Articulos entidad)
 {
     DAL.ArticulosDAL.InsertarDT(tabla, entidad);
 }
 private void btnGrabar_Click(object sender, EventArgs e)
 {
     string idArticulo = null;
     string codigoColor;
     string codigoTalle;
     string nombreColor;
     int activoWeb;
     int incrementar;
     if (chkActivoWeb.Checked == true)
     {
         activoWeb = 1;
     }
     else
     {
         activoWeb = 0;
     }
     if (validarControles())
     {
         Cursor.Current = Cursors.WaitCursor;
         string codigo = GenerarCodigo();
         DataRow selectedDataRow = ((DataRowView)cmbItem.SelectedItem).Row;
         int idItem = Convert.ToInt32(cmbItem.SelectedValue.ToString());
         int intProveedor = Convert.ToInt32(cmbProveedor.SelectedValue.ToString());
         int intAlicuota = Convert.ToInt32(cmbAlicuota.SelectedValue.ToString());
         string idGenero = cmbGenero.SelectedValue.ToString();
         if (lstColores.SelectedIndices.Count > 0)
         {
             if (txtDesde.Text != "")
             {
                 if (rd1.Checked)
                 {
                     incrementar = 1;
                 }
                 else
                 {
                     incrementar = 2;
                 }
                 foreach(DataRowView filaColor in lstColores.SelectedItems)
                 {
                     for (int i = Convert.ToInt32(txtDesde.Text); i <= Convert.ToInt32(txtHasta.Text); i += incrementar)
                     {
                         codigoColor = filaColor.Row[0].ToString();
                         nombreColor = filaColor.Row[1].ToString();
                         if (codigoColor.Length == 1)
                         {
                             codigoColor = "0" + codigoColor;
                         }
                         codigoTalle = i.ToString();
                         if (codigoTalle.Length == 1)
                         {
                             codigoTalle = "0" + codigoTalle;
                         }
                         idArticulo = codigo + codigoColor + codigoTalle;
                         string strItem = selectedDataRow["DescripcionITE"].ToString();
                         string descripcion = strItem + " " + txtDescripcion.Text + " " + nombreColor + " T" + codigoTalle;
                         int intCodigoColor = Convert.ToInt32(codigoColor);
                         entidad = new Articulos();
                         entidad.IdArticulo = idArticulo;
                         entidad.IdItem = idItem;
                         entidad.IdGenero = idGenero;
                         entidad.IdColor = intCodigoColor;
                         entidad.IdAlicuota = intAlicuota;
                         entidad.Talle = codigoTalle;
                         entidad.IdProveedor = intProveedor;
                         entidad.Descripcion = descripcion;
                         entidad.DescripcionWeb = strItem + " " + txtDescripcionWeb.Text;
                         entidad.PrecioCosto = Convert.ToDecimal(txtCosto.Text);
                         entidad.PrecioPublico = Convert.ToDecimal(txtPublico.Text);
                         entidad.PrecioMayor = Convert.ToDecimal(txtMayor.Text);
                         entidad.Fecha = DateTime.Now;
                         entidad.Imagen = "";
                         entidad.ImagenBack = "";
                         entidad.ImagenColor = "";
                         entidad.ActivoWeb = activoWeb;
                         entidad.NuevoWeb = 1;
                         entidad.Proveedor = cmbProveedor.Text;
                         BL.ArticulosBLL.InsertarDT(tblArticulos, entidad);
                     }
                 }
             }
             else
             {
                 foreach (DataRowView filaColor in lstColores.SelectedItems)
                 {
                     codigoColor = filaColor.Row[0].ToString();
                     nombreColor = filaColor.Row[1].ToString();
                     if (codigoColor.Length == 1)
                     {
                         codigoColor = "0" + codigoColor;
                     }
                     idArticulo = codigo + codigoColor + "00";
                     string strItem = selectedDataRow["DescripcionITE"].ToString();
                     string descripcion = strItem + " " + txtDescripcion.Text + " " + nombreColor;
                     int intCodigoColor = Convert.ToInt32(codigoColor);
                     codigoTalle = string.Empty;
                     entidad = new Articulos();
                     entidad.IdArticulo = idArticulo;
                     entidad.IdItem = idItem;
                     entidad.IdGenero = idGenero;
                     entidad.IdColor = intCodigoColor;
                     entidad.IdAlicuota = intAlicuota;
                     entidad.Talle = codigoTalle;
                     entidad.IdProveedor = intProveedor;
                     entidad.Descripcion = descripcion;
                     entidad.DescripcionWeb = strItem + " " + txtDescripcionWeb.Text;
                     entidad.PrecioCosto = Convert.ToDecimal(txtCosto.Text);
                     entidad.PrecioPublico = Convert.ToDecimal(txtPublico.Text);
                     entidad.PrecioMayor = Convert.ToDecimal(txtMayor.Text);
                     entidad.Fecha = DateTime.Now;
                     entidad.Imagen = "";
                     entidad.ImagenBack = "";
                     entidad.ImagenColor = "";
                     entidad.ActivoWeb = activoWeb;
                     entidad.NuevoWeb = 1;
                     entidad.Proveedor = cmbProveedor.Text;
                     BL.ArticulosBLL.InsertarDT(tblArticulos, entidad);
                 }
             }
         }
         else
         {
             if (txtDesde.Text != "")
             {
                 if (rd1.Checked)
                 {
                     incrementar = 1;
                 }
                 else
                 {
                     incrementar = 2;
                 }
                 for (int i = Convert.ToInt32(txtDesde.Text); i <= Convert.ToInt32(txtHasta.Text); i += incrementar)
                 {
                     codigoTalle = i.ToString();
                     if (codigoTalle.Length == 1)
                     {
                         codigoTalle = "0" + codigoTalle;
                     }
                     idArticulo = codigo + "00" + codigoTalle;
                     string strItem = selectedDataRow["DescripcionITE"].ToString();
                     string descripcion = strItem + " " + txtDescripcion.Text +  " T" + codigoTalle;
                     int intCodigoColor = 0;
                     entidad = new Articulos();
                     entidad.IdArticulo = idArticulo;
                     entidad.IdItem = idItem;
                     entidad.IdGenero = idGenero;
                     entidad.IdColor = intCodigoColor;
                     entidad.IdAlicuota = intAlicuota;
                     entidad.Talle = codigoTalle;
                     entidad.IdProveedor = intProveedor;
                     entidad.Descripcion = descripcion;
                     entidad.DescripcionWeb = strItem + " " + txtDescripcionWeb.Text;
                     entidad.PrecioCosto = Convert.ToDecimal(txtCosto.Text);
                     entidad.PrecioPublico = Convert.ToDecimal(txtPublico.Text);
                     entidad.PrecioMayor = Convert.ToDecimal(txtMayor.Text);
                     entidad.Fecha = DateTime.Now;
                     entidad.Imagen = "";
                     entidad.ImagenBack = "";
                     entidad.ImagenColor = "";
                     entidad.ActivoWeb = activoWeb;
                     entidad.NuevoWeb = 1;
                     entidad.Proveedor = cmbProveedor.Text;
                     BL.ArticulosBLL.InsertarDT(tblArticulos, entidad);
                 }
             }
             else
             {
                 idArticulo = codigo + "00" + "00";
                 string strItem = selectedDataRow["DescripcionITE"].ToString();
                 string descripcion = strItem + " " + txtDescripcion.Text;
                 int intCodigoColor = 0;
                 codigoTalle = string.Empty;
                 entidad = new Articulos();
                 entidad.IdArticulo = idArticulo;
                 entidad.IdItem = idItem;
                 entidad.IdGenero = idGenero;
                 entidad.IdColor = intCodigoColor;
                 entidad.IdAlicuota = intAlicuota;
                 entidad.Talle = codigoTalle;
                 entidad.IdProveedor = intProveedor;
                 entidad.Descripcion = descripcion;
                 entidad.DescripcionWeb = strItem + " " + txtDescripcionWeb.Text;
                 entidad.PrecioCosto = Convert.ToDecimal(txtCosto.Text);
                 entidad.PrecioPublico = Convert.ToDecimal(txtPublico.Text);
                 entidad.PrecioMayor = Convert.ToDecimal(txtMayor.Text);
                 entidad.Fecha = DateTime.Now;
                 entidad.Imagen = "";
                 entidad.ImagenBack = "";
                 entidad.ImagenColor = "";
                 entidad.ActivoWeb = activoWeb;
                 entidad.NuevoWeb = 1;
                 entidad.Proveedor = cmbProveedor.Text;
                 BL.ArticulosBLL.InsertarDT(tblArticulos, entidad);
             }
         }
         MessageBox.Show(idArticulo);
      //       cmbGenero.SelectedValue = -1;
         lstColores.SelectedIndex = -1;
         cmbItem.SelectedValue = -1;
         txtDescripcion.Text = "";
         txtDescripcionWeb.Text = "";
         txtDesde.Text = "";
         txtHasta.Text = "";
         txtCosto.Text = "0";
         txtPublico.Text = "0";
         txtMayor.Text = "0";
         cmbItem.Focus();
         Cursor.Current = Cursors.Arrow;
     }
 }