public int Insert(Serie param, SqlTransaction transaccion) { string query = " INSERT INTO CAT_SERIE (id_serie,Nom_serie_lat,Nom_serie_gre) "; query = query + " VALUES (@idSerie,@serieLatin,@serieGriego); "; string maxId = this.SeleccionarEscalar <string>("SELECT MAX(id_serie) AS ID_RESP FROM CAT_SERIE ; ", System.Data.CommandType.Text, null, null); string nuevaClave = String.Empty; bool isClaveGenerada = false; int consecutivo = UtilidadesADO.SepararClaveEntero(maxId, '-'); if (consecutivo <= 0) { throw new InvalidOperationException(String.Format("No se pudo generar el nuevo consecutivo para el registro. Clave Maxima '{0}', Consecutivo obtenido '{1}'", maxId, consecutivo)); } else { consecutivo = consecutivo + 1; isClaveGenerada = UtilidadesADO.GenerarClaveConsecutiva(SerieDb.PREFIJO_CLAVE, SerieDb.SEPARADOR_CLAVE, consecutivo, SerieDb.LONGITUD_CLAVE, ref nuevaClave); if (isClaveGenerada) { SqlParameter param1 = new SqlParameter() { ParameterName = "@idSerie", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NChar, Size = 10, Value = nuevaClave }; SqlParameter param2 = new SqlParameter() { ParameterName = "@serieLatin", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NVarChar, Value = param.NombreLatin.Trim() }; SqlParameter param3 = new SqlParameter() { ParameterName = "@serieGriego", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NVarChar, IsNullable = true, Value = (String.IsNullOrEmpty(param.NombreGriego) ? DBNull.Value : (object)param.NombreGriego.Trim()) }; List <SqlParameter> parametros = new List <SqlParameter>() { param1, param2, param3 }; int result = this.Ejecutar(query, CommandType.Text, parametros, transaccion); if (result > 0) { param.IdSerie = nuevaClave; } return(result); } else { throw new InvalidOperationException(String.Format("No se pudo generar el nuevo consecutivo para el registro. Clave Maxima '{0}', Nuevo consecutivo '{1}'", maxId, nuevaClave)); } } }
public int Insert(Isbn param, SqlTransaction transaccion) { string query = " INSERT INTO Cat_ISBN (id_tit_isbn,ISBN,desc_ver,reimpresion,reedicion) "; query = query + " VALUES (@idIsbn,@isbn,@descripcion,@reimpresion,@reedicion); "; string maxId = this.SeleccionarEscalar <string>("SELECT MAX(id_tit_isbn) AS ID_RESP FROM Cat_ISBN ; ", System.Data.CommandType.Text, null, null); string nuevaClave = String.Empty; bool isClaveGenerada = false; int consecutivo = UtilidadesADO.SepararClaveEntero(maxId, '-'); if (consecutivo <= 0) { throw new InvalidOperationException(String.Format("No se pudo generar el nuevo consecutivo para el registro. Clave Maxima '{0}', Consecutivo obtenido '{1}'", maxId, consecutivo)); } else { consecutivo = consecutivo + 1; isClaveGenerada = UtilidadesADO.GenerarClaveConsecutiva(IsbnDb.PREFIJO_CLAVE, IsbnDb.SEPARADOR_CLAVE, consecutivo, IsbnDb.LONGITUD_CLAVE, ref nuevaClave); if (isClaveGenerada) { SqlParameter param1 = new SqlParameter() { ParameterName = "@idIsbn", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NChar, Size = 10, Value = nuevaClave }; SqlParameter param2 = new SqlParameter() { ParameterName = "@isbn", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NVarChar, Size = 50, Value = param.ClaveIsbn.Trim() }; SqlParameter param3 = new SqlParameter() { ParameterName = "@descripcion", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NVarChar, IsNullable = true, Value = (String.IsNullOrEmpty(param.DescripcionVersion) ? DBNull.Value : (object)param.DescripcionVersion.Trim()) }; SqlParameter param4 = new SqlParameter() { ParameterName = "@reimpresion", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NChar, Size = 10, IsNullable = true, Value = (String.IsNullOrEmpty(param.Reimpresion) ? DBNull.Value : (object)param.Reimpresion.Trim()) }; SqlParameter param5 = new SqlParameter() { ParameterName = "@reedicion", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NChar, Size = 10, IsNullable = true, Value = (String.IsNullOrEmpty(param.Reedicion) ? DBNull.Value : (object)param.Reedicion.Trim()) }; List <SqlParameter> parametros = new List <SqlParameter>() { param1, param2, param3, param4, param5 }; int result = this.Ejecutar(query, CommandType.Text, parametros, transaccion); if (result > 0) { param.IdIsbn = nuevaClave; } return(result); } else { throw new InvalidOperationException(String.Format("No se pudo generar el nuevo consecutivo para el registro. Clave Maxima '{0}', Nuevo consecutivo '{1}'", maxId, nuevaClave)); } } }
public int Insert(Responsable param, SqlTransaction transaccion) { string query = " INSERT INTO Cat_Responsable (id_resp,RFC,Nombres,Ape_pat,Ape_mat,Desc_Resp) "; query = query + " VALUES (@idResponsable, @rfc, @nombre, @apPaterno, @apMaterno, @descripcion); "; string maxId = this.SeleccionarEscalar <string>("SELECT MAX(id_resp) AS ID_RESP FROM Cat_Responsable ; ", System.Data.CommandType.Text, null, null); string nuevaClave = String.Empty; bool isClaveGenerada = false; int consecutivo = UtilidadesADO.SepararClaveEntero(maxId, '-'); if (consecutivo <= 0) { throw new InvalidOperationException(String.Format("No se pudo generar el nuevo consecutivo para el registro. Clave Maxima '{0}', Consecutivo obtenido '{1}'", maxId, consecutivo)); } else { consecutivo = consecutivo + 1; isClaveGenerada = UtilidadesADO.GenerarClaveConsecutiva(ResponsableDb.PREFIJO_CLAVE, ResponsableDb.SEPARADOR_CLAVE, consecutivo, ResponsableDb.LONGITUD_CLAVE, ref nuevaClave); if (isClaveGenerada) { SqlParameter param1 = new SqlParameter() { ParameterName = "@idResponsable", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NChar, Size = 10, Value = nuevaClave }; SqlParameter param2 = new SqlParameter() { ParameterName = "@rfc", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NChar, Size = 10, IsNullable = true, Value = (String.IsNullOrEmpty(param.Rfc) ? DBNull.Value : (object)param.Rfc.Trim()) }; SqlParameter param3 = new SqlParameter() { ParameterName = "@nombre", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NVarChar, Size = 50, Value = param.Nombre.Trim() }; SqlParameter param4 = new SqlParameter() { ParameterName = "@apPaterno", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NVarChar, Size = 50, IsNullable = true, Value = (String.IsNullOrEmpty(param.ApellidoPaterno) ? DBNull.Value : (object)param.ApellidoPaterno.Trim()) }; SqlParameter param5 = new SqlParameter() { ParameterName = "@apMaterno", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NVarChar, Size = 50, IsNullable = true, Value = (String.IsNullOrEmpty(param.ApellidoMaterno) ? DBNull.Value : (object)param.ApellidoMaterno.Trim()) }; SqlParameter param6 = new SqlParameter() { ParameterName = "@descripcion", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NVarChar, IsNullable = true, Value = (String.IsNullOrEmpty(param.Descripcion) ? DBNull.Value : (object)param.Descripcion.Trim()) }; List <SqlParameter> parametros = new List <SqlParameter>() { param1, param2, param3, param4, param5, param6 }; int result = this.Ejecutar(query, CommandType.Text, parametros, transaccion); if (result > 0) { param.IdResponsable = nuevaClave; } return(result); } else { throw new InvalidOperationException(String.Format("No se pudo generar el nuevo consecutivo para el registro. Clave Maxima '{0}', Nuevo consecutivo '{1}'", maxId, nuevaClave)); } } }