private void butAceptar_Click(object sender, System.EventArgs e) { try { DsCodigoBarrasGuia ds = (DsCodigoBarrasGuia)Session["DsCodigoBarras"]; //concateno los codigos de barras string codigos = ""; string servicios = ""; int i = 0; string unidadVentaID = ""; string tiempoEntregaID = ""; string productoID = ""; string modalidadEntregaID = ""; foreach (DsCodigoBarrasGuia.DatosRow dr in ds.Datos.Rows) { if (dr.ServicioID != 0) { servicios += dr.ServicioID.ToString(); } else { servicios += "0"; } codigos += dr.CodigoBarras; if (i < ds.Datos.Rows.Count - 1) { codigos += ","; } if (i < ds.Datos.Rows.Count - 1 && dr.ServicioID != 0) { servicios += ","; } if (dr.UnidadVentaID.ToString() != "0") { unidadVentaID = dr.UnidadVentaID.ToString(); } if (dr.TiempoEntregaID.ToString() != "0") { tiempoEntregaID = dr.TiempoEntregaID.ToString(); } if (dr.ProductoID.ToString() != "0") { productoID = dr.ProductoID.ToString(); } if (dr.ModalidadEntregaID.ToString() != "0") { modalidadEntregaID = dr.ModalidadEntregaID.ToString(); } i++; } //verifico que todos los codigos de barras tengan el mismo estado (asignado o prevendido) ICodigoBarras codigoBarras = CodigoBarrasFactory.GetCodigoBarras(); codigoBarras.VerificaEstadoCodigoBarras(codigos); //si falla, arroja una excepcion, sino, sigue sin problemas this.txtUVentaSelec.Text = unidadVentaID == "" ? "0" : unidadVentaID; this.txtTiempoEntregaID.Text = tiempoEntregaID == "" ? "0" : tiempoEntregaID; this.txtProductoID.Text = productoID == "" ? "0" : productoID; //this.txtServicioIDSel.Text = servicios == "" ? "0" : servicios; //dr.ServicioID.ToString(); this.txtModalidadEntregaID.Text = modalidadEntregaID == "" ? "0" : modalidadEntregaID; // solo se elije un codigo de barra, que está asociado a una unidad de venta if (this.txtUVentaSelec.Text != "0" && Utiles.Validaciones.obtieneEntero(this.txtCantServicios.Text) == 0) { BindProducto(); BindTiempoEntregaUV(Utiles.Validaciones.obtieneEntero(this.txtUVentaSelec.Text)); //dr.UnidadVentaID BindServicioUV(); if (this.txtPrevendido.Text == "1") { BindModalidadEntregaByID(Utiles.Validaciones.obtieneEntero(this.txtModalidadEntregaID.Text)); } else { BindModalidadEntregaByUnidadVentaID(Convert.ToInt32(unidadVentaID)); } } // solo se elije un codigo de barras, que está asociado a uno o mas servicio else if (this.txtUVentaSelec.Text == "0" && Utiles.Validaciones.obtieneEntero(this.txtCantServicios.Text) != 0) { BindProductoByCodigo(codigos); BindTiempoEntrega(); BindServicio(); BindModalidadEntrega(); } // se elije un codigo de barras asociado a una UV, y uno o mas codigos de barras asociados a un servicio else if (this.txtUVentaSelec.Text != "0" && Utiles.Validaciones.obtieneEntero(this.txtCantServicios.Text) != 0) { BindProductoByCodigoCombinado(codigos); BindTiempoEntregaUV(Utiles.Validaciones.obtieneEntero(this.txtUVentaSelec.Text)); BindServicioAmbos(); if (this.txtPrevendido.Text == "1") { BindModalidadEntregaByID(Utiles.Validaciones.obtieneEntero(this.txtModalidadEntregaID.Text)); } else { BindModalidadEntrega(); } } this.tblUVenta.Visible = true; this.txtCodigoBarrasTotal.Text = codigos; this.txtCodigoBarras.Enabled = false; this.butAgregar.Enabled = false; this.butAceptar.Enabled = false; this.txtButAceptar.Text = "1"; SisPackController.AdministrarGrillas.ConfigurarChica(dtgCodigos, "CodigoBarras"); Session["DsCodigoBarras"] = (DsCodigoBarrasGuia)dsCodigoBarras; this.dtgCodigos.DataSource = dsCodigoBarras; this.dtgCodigos.CurrentPageIndex = 0; this.dtgCodigos.DataBind(); this.butConfirmar.Enabled = true; } catch (Exception ex) { this.txtButAceptar.Text = "0"; ManejaErrores(ex); } }