private void btnAceptar_Click(object sender, EventArgs e) { // llenarCategoriaClientes(); if (validarCampos()) { bool ok = true; for (int i = 0; i < dgvArticulos.Rows.Count; i++) { dgvArticulos.Rows[i].DefaultCellStyle.BackColor = Color.White; } // total = 0; for (int i = 0; i < dgvArticulos.Rows.Count; i++) { string strCantidad = dgvArticulos.Rows[i].Cells["cantidad"].Value.ToString();//cantidad string strPorcentaje = dgvArticulos.Rows[i].Cells["Porcentaje"].Value.ToString(); int intCantidad; float floatPorcentaje; if ((!String.IsNullOrEmpty(strCantidad) && int.TryParse(strCantidad, out intCantidad) && intCantidad > 0) && (!String.IsNullOrEmpty(strPorcentaje) && float.TryParse(strPorcentaje, out floatPorcentaje) && floatPorcentaje > 0)) { if (floatPorcentaje >= 0 && floatPorcentaje <= 100) { listadescuentoXArt[i].CantidadDisponible = intCantidad; listadescuentoXArt[i].PorcentajeDescuento = floatPorcentaje; } else { ok = false; dgvArticulos.Rows[i].DefaultCellStyle.BackColor = Color.RosyBrown; } } else { ok = false; dgvArticulos.Rows[i].DefaultCellStyle.BackColor = Color.RosyBrown; } } if (ok) { descuento.Nombre = this.txtNombre.Text; descuento.FechaInicio = this.dtpFechaInicio.Value.Date; descuento.FechaFin = this.dtpFechaFin.Value.Date; descuento.CantidadUtilizada = int.Parse(this.lblCantidadUtilizada.Text); descuento.CodigoDescuento = this.txtCodigoDescuento.Text; if (descuento.FechaInicio.Value <= DateTime.Today && descuento.FechaFin.Value >= DateTime.Today) descuento.Estado = "Activo"; else descuento.Estado = "Inactivo"; DescuentoBL objdescuentoBL = new DescuentoBL(); objdescuentoBL.Grabar(descuento); if (descuento.CantidadUtilizada == 0) { //graba articulos participantes DescuentoXArticuloBL objDescXart = new DescuentoXArticuloBL(); foreach (DescuentoXArticulo descxpack in listaArtEliminados) objDescXart.Eliminar(descxpack); for (int i = 0; i < dgvArticulos.Rows.Count; i++)// listaArtxPack.Count; i++) { listadescuentoXArt[i].Descuento = descuento; listadescuentoXArt[i].CantidadDisponible = int.Parse(dgvArticulos.Rows[i].Cells["cantidad"].Value.ToString()); listadescuentoXArt[i].PorcentajeDescuento = float.Parse(dgvArticulos.Rows[i].Cells["Porcentaje"].Value.ToString()); objDescXart.Grabar(listadescuentoXArt[i]); } //graba categoria de clientes participantes if (listaDescuentoxCat != null) foreach (DescuentoXCategoriaCliente descxcat in listaDescuentoxCat) objcatCliente.Eliminar(descxcat); foreach (int index in chkClientes.CheckedIndices) { DescuentoXCategoriaCliente descxCatCliente = new DescuentoXCategoriaCliente(); descxCatCliente.Descuento = descuento; descxCatCliente.CategoriaCliente = categorias[index]; objcatCliente.Grabar(descxCatCliente); } } Utils.Utils.OK(Utils.Utils.REGISTRO_OK); this.Close(); } else { Utils.Utils.Error(null, "Las cantidades sombreadas no son válidas"); } } }
private void btnAceptar_Click(object sender, EventArgs e) { if (validarCampos()) { descuento.Nombre = this.txtNombre.Text; descuento.FechaInicio = this.dtpFechaInicio.Value.Date; descuento.FechaFin = this.dtpFechaFin.Value.Date; descuento.CantidadUtilizada = int.Parse(this.lblCantidadUtilizada.Text); descuento.CodigoDescuento = this.txtCodigoDescuento.Text; DescuentoBL objdescuentoBL = new DescuentoBL(); objdescuentoBL.Grabar(descuento); if (descuento.CantidadUtilizada == 0) { //graba articulos participantes foreach (DescuentoXArticulo artxpack in listaArtEliminados) objdescuentoxArtBL.Eliminar(artxpack); for (int i = 0; i < listadescuentoXArt.Count; i++) { listadescuentoXArt[i].Descuento = descuento; objdescuentoxArtBL.Grabar(listadescuentoXArt[i]); } //graba categoria de clientes participantes if (listaDescuentoxCat != null) foreach (DescuentoXCategoriaCliente descXCat in listaDescuentoxCat) objcatCliente.Eliminar(descXCat); foreach (int index in chkClientes.CheckedIndices) { DescuentoXCategoriaCliente descXcategoria = new DescuentoXCategoriaCliente(); descXcategoria.Descuento = descuento; descXcategoria.CategoriaCliente = categorias[index]; objcatCliente.Grabar(descXcategoria); } } Utils.Utils.OK(Utils.Utils.REGISTRO_OK); this.Close(); } }