private void butAgregar_Click(object sender, System.EventArgs e) { try { BaseValidator bv; bv = (BaseValidator)phGuiaValid.FindControl("guiaEntero"); bv.Enabled = true; bv.Validate(); if (!bv.IsValid) { return; } DsGuias ds = new DsGuias(); if (Session["DsGuias"] != null) { ds = (DsGuias)Session["DsGuias"]; } string cadena = txtGuia.Text; if (cadena.Length >= 10) { string tipo = ""; // tipo = tipo == "3" ? "A" : "B"; tipo = NegociosSisPackInterface.SisPack.TipoGuia(cadena.Substring(0, 1)); string sucursal = cadena.Substring(1, 4); string guia = cadena.Substring(5); int guiaID = SisPackController.LlenarCombos.GuiaID(tipo, sucursal, Utiles.Validaciones.obtieneEntero(guia)); // Verificamos que la guía tenga al menos como remitente o destinatario un cliente. IGuia guiaIngresada = GuiaFactory.GetGuia(); string remitenteDestinatario = guiaIngresada.ObtenerRemitenteDestinatario(guiaID); string [] remDes = remitenteDestinatario.Split('-'); if (remDes[0].Equals("0") && remDes[1].Equals("0")) { Exception ex = new Exception("La guía ingresada no es válida."); throw ex; } if (guiaID > 0) { // Verificamos que el dato no exista o no se haya ingresado. DsGuias.DatosRow[] unaGuia = (DsGuias.DatosRow[])ds.Datos.Select("GuiaID = " + guiaID); if (unaGuia.Length == 0) { DsGuias.DatosRow dr = ds.Datos.NewDatosRow(); dr.GuiaID = guiaID; dr.TipoGuia = tipo; dr.NroSucursalGuia = Convert.ToInt32(sucursal); dr.NroGuia = Convert.ToInt32(guia); ds.Datos.AddDatosRow(dr); } else { this.txtGuia.Text = ""; // Exception ex = new Exception("La guía ya ha sido ingresada."); // throw ex; } Session["DsGuias"] = ds; BindGrid(); // Limpiamos número de guía para seguir ingresando. this.txtGuia.Text = ""; } else { Exception ex = new Exception("La guía ingresada no existe."); throw ex; } } else if (cadena.Length == 0) { Exception ex = new Exception("Debe ingresar el código de la guía"); throw ex; } } catch (Exception ex) { ((ErrorWeb)phErrores.Controls[0]).setMensaje(ex.Message); } }