public bool Guardar() { System.Data.SqlClient.SqlConnection conexion = new System.Data.SqlClient.SqlConnection(); System.Data.SqlClient.SqlTransaction transaccion; conexion.ConnectionString = Config.ConnectionString; conexion.Open(); transaccion = conexion.BeginTransaction(); CodigoBarras codigoBarras = new CodigoBarras(); DsCodigosBarras ds = null; try { //reviso que no exista ninguno de los códigos del rango en la tabla codigoBarras //ds = codigoBarras.GetCodigoBarrasByRango(Convert.ToInt64(this.CodigoBarrasInicial), Convert.ToInt64(this.CodigoBarrasFinal),0); //0=cualquier estado ds = codigoBarras.GetCodigoBarrasByRango(this.CodigoBarrasInicial, this.CodigoBarrasFinal, 0); //0=cualquier estado if (ds.Datos.Count <= 0) { rangoCodigoBarrasID = Convert.ToInt32( Config.Conexion.EjecutarResultadoUnico(transaccion, "RangoCodigoBarrasINS", this.CodigoBarrasInicial, this.CodigoBarrasFinal, this.EstadoCodigoBarrasID, this.usuarioID, Utiles.BaseDatos.IntToSql(this.UnidadVentaID), Utiles.BaseDatos.IntToSql(this.ServicioID), Utiles.BaseDatos.IntToSql(this.ModalidadEntregaID), Utiles.BaseDatos.IntToSql(0), //TarifaPreventaID Utiles.BaseDatos.IntToSql(0), //AgenciaID Utiles.BaseDatos.IntToSql(0), //ClienteID Utiles.BaseDatos.IntToSql(0), //VendedorID Utiles.BaseDatos.IntToSql(this.MotivoID), Utiles.BaseDatos.IntToSql(TarifarioFleteID), Utiles.BaseDatos.IntToSql(ConceptoFacturacionID) )); codigoBarras = new CodigoBarras(); codigoBarras.UnidadVentaID = this.UnidadVentaID; codigoBarras.ServicioID = this.ServicioID; codigoBarras.ModalidadEntregaID = this.ModalidadEntregaID; codigoBarras.ConceptoFacturacionID = this.ConceptoFacturacionID; codigoBarras.Generar(transaccion, this.CodigoBarrasInicial, this.CodigoBarrasFinal); transaccion.Commit(); return(true); } else { //transaccion.Rollback(); string codigosBarras = ""; int i = 1; foreach (DsCodigosBarras.DatosRow dr in ds.Datos) { codigosBarras += dr.CodigoBarras; if (i < ds.Datos.Count) { codigosBarras += " - "; } i++; } throw new Exception("Los siguientes códigos ya se encuentran asignados: <br>" + codigosBarras); } } catch (Exception ex) { transaccion.Rollback(); throw new Exception(ex.Message, ex); } finally { conexion.Close(); } }