public bool GenerarNuevaClave(ref string nuevaClave, ref string mensaje, SqlTransaction transaccion)
        {
            string maxId           = this.SeleccionarEscalar <string>("SELECT MAX(id_titulo_resp) AS id_titulo_resp FROM Resp_detalle ; ", System.Data.CommandType.Text, null, transaccion);
            bool   isClaveGenerada = false;
            int    consecutivo     = UtilidadesADO.SepararClaveEntero(maxId, '-');

            if (consecutivo <= 0)
            {
                mensaje         = string.Format("No se pudo generar el nuevo consecutivo para el registro. Clave Maxima '{0}', Consecutivo obtenido '{1}'", maxId, consecutivo);
                isClaveGenerada = false;
            }
            else
            {
                consecutivo     = consecutivo + 1;
                isClaveGenerada = UtilidadesADO.GenerarClaveConsecutiva(ResponsableTituloDb.PREFIJO_CLAVE, ResponsableTituloDb.SEPARADOR_CLAVE, consecutivo, ResponsableTituloDb.LONGITUD_CLAVE, ref nuevaClave);

                if (isClaveGenerada)
                {
                    mensaje         = "Clave Generada";
                    isClaveGenerada = true;
                }
                else
                {
                    mensaje         = string.Format("No se pudo generar el nuevo consecutivo para el registro. Clave Maxima '{0}', Consecutivo obtenido '{1}'", maxId, consecutivo);
                    isClaveGenerada = false;
                }
            }

            return(isClaveGenerada);
        }
        public int Insert(Autor param, SqlTransaction transaccion)
        {
            string query = " INSERT INTO Cat_Autor (id_Autor,Nombre_latin,Nombre_greek,Nombre_esp) ";

            query = query + " VALUES (@idAutor,@nombreLatin,@nombreGriego,@nombreEspanol); ";

            string maxId           = this.SeleccionarEscalar <string>("SELECT MAX(id_Autor) AS id_Autor FROM Cat_Autor ; ", 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(AutorDb.PREFIJO_CLAVE, AutorDb.SEPARADOR_CLAVE, consecutivo, AutorDb.LONGITUD_CLAVE, ref nuevaClave);

                if (isClaveGenerada)
                {
                    SqlParameter param1 = new SqlParameter()
                    {
                        ParameterName = "@idAutor", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NChar, Size = 10, Value = nuevaClave
                    };
                    SqlParameter param2 = new SqlParameter()
                    {
                        ParameterName = "@nombreLatin", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NVarChar, Size = 100, IsNullable = true, Value = (string.IsNullOrEmpty(param.NombreLatin) ? DBNull.Value : (object)param.NombreLatin.Trim())
                    };
                    SqlParameter param3 = new SqlParameter()
                    {
                        ParameterName = "@nombreGriego", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NVarChar, Size = 100, IsNullable = true, Value = (string.IsNullOrEmpty(param.NombreGriego) ? DBNull.Value : (object)param.NombreGriego.Trim())
                    };
                    SqlParameter param4 = new SqlParameter()
                    {
                        ParameterName = "@nombreEspanol", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NChar, Size = 100, IsNullable = true, Value = (string.IsNullOrEmpty(param.NombreEspanol) ? DBNull.Value : (object)param.NombreEspanol.Trim())
                    };

                    List <SqlParameter> parametros = new List <SqlParameter>()
                    {
                        param1, param2, param3, param4
                    };
                    int result = this.Ejecutar(query, CommandType.Text, parametros, transaccion);

                    if (result > 0)
                    {
                        param.IdAutor = 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(Ciudad param, SqlTransaction transaccion)
        {
            string query = " INSERT INTO Cat_Ciudad (id_ciudad,Descripcion) ";

            query = query + " VALUES (@idCiudad,@descripcion); ";

            string maxId           = this.SeleccionarEscalar <string>("SELECT MAX(id_ciudad) AS id_ciudad FROM Cat_Ciudad ; ", 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(CiudadDb.PREFIJO_CLAVE, CiudadDb.SEPARADOR_CLAVE, consecutivo, CiudadDb.LONGITUD_CLAVE, ref nuevaClave);

                if (isClaveGenerada)
                {
                    SqlParameter param1 = new SqlParameter()
                    {
                        ParameterName = "@idCiudad", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NChar, Size = 10, Value = nuevaClave
                    };
                    SqlParameter param2 = new SqlParameter()
                    {
                        ParameterName = "@descripcion", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NVarChar, Size = 50, IsNullable = true, Value = (String.IsNullOrEmpty(param.Descripcion) ? DBNull.Value : (object)param.Descripcion.Trim())
                    };

                    List <SqlParameter> parametros = new List <SqlParameter>()
                    {
                        param1, param2
                    };
                    int result = this.Ejecutar(query, CommandType.Text, parametros, transaccion);

                    if (result > 0)
                    {
                        param.IdCiudad = 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));
                }
            }
        }
Esempio n. 4
0
        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));
                }
            }
        }