Пример #1
0
        /// <summary>
        /// Executa a atualização criando a tabela de notificações e os registros para os usuários cadastrados
        /// </summary>
        public override void Up()
        {
            this.FabricaSessao = AuxiliarNHibernate.ObtemFabricaSessao();
            var sessao = this.FabricaSessao.OpenSession();

            CurrentSessionContext.Bind(sessao);
            sessao.BeginTransaction();

            List <Usuario> usuarios = (List <Usuario>)GerenciamentoUsuario.CarregaUsuarios();

            // Notificacao
            Create.Table("notificacao")
            .InSchema("dbo")
            .WithColumn("id").AsInt32().NotNullable().PrimaryKey().Identity()
            .WithColumn("id_usuario").AsInt32().NotNullable()
            .WithColumn("ultima_notificacao").AsInt64().NotNullable();

            // Controle de notificação dos usuários
            int indice = 1;

            foreach (Usuario usuario in usuarios)
            {
                Insert.IntoTable("notificacao").WithIdentityInsert().Row(new
                {
                    id                 = indice,
                    id_usuario         = usuario.Id,
                    ultima_notificacao = 0
                });

                indice++;
            }

            var transacao = sessao.Transaction;

            if (transacao != null && transacao.IsActive)
            {
                transacao.Commit();
            }

            sessao = CurrentSessionContext.Unbind(this.FabricaSessao);
            sessao.Close();
        }
Пример #2
0
        /// <summary>
        /// Executa a atualização, criando as novas colunas de usuário
        /// </summary>
        public override void Up()
        {
            this.FabricaSessao = AuxiliarNHibernate.ObtemFabricaSessao();
            var sessao = this.FabricaSessao.OpenSession();

            CurrentSessionContext.Bind(sessao);
            sessao.BeginTransaction();

            // Usuário
            Alter.Table("usuario")
            .InSchema("dbo")
            .AddColumn("usuario_spedia").AsString().Nullable()
            .AddColumn("senha_spedia").AsString().Nullable();

            var transacao = sessao.Transaction;

            if (transacao != null && transacao.IsActive)
            {
                transacao.Commit();
            }

            sessao = CurrentSessionContext.Unbind(this.FabricaSessao);
            sessao.Close();
        }
Пример #3
0
 /// <summary>
 /// Inicia uma nova instância da classe <see cref="RepositorioBase{DT}"/>
 /// </summary>
 public RepositorioBase()
 {
     this.Sessao = AuxiliarNHibernate.ObtemFabricaSessao().GetCurrentSession();
 }
Пример #4
0
 /// <summary>
 /// Inicia uma nova instância da classe <see cref="Global"/>
 /// </summary>
 public Global()
 {
     this.FabricaSessao = AuxiliarNHibernate.ObtemFabricaSessao();
 }