Beispiel #1
0
        /// <summary>
        /// Grava uma nova acao na tabela ligislacaoacoes
        /// Altera a situação do documento alvo da ação
        /// </summary>
        /// <param name="obj">objeto para serem gravados</param>
        /// <returns> Retorna Lista com o ultimo registro da tabela legislacao</returns>
        public mAcoes Add(mAcoes obj)
        {
            IData AcoesDados = Instances.DataM();

            try
            {
                string sqlcommandAcoes = @"INSERT INTO [Leg_Acoes] ([TipoOrigem], [NumeroOrigem], [ComplementoOrigem], [DataOrigem], [AcaoExecutada], [TipoAlvo], [NumeroAlvo], [ComplementoAlvo], [DataAlvo], [Inserido]) VALUES (@TipoOrigem, @NumeroOrigem, @CompOrigem, @DataOrigem, @Acao, @TipoAlvo, @NumeroAlvo, @CompAlvo, @DataAlvo, @Inserido)";

                AcoesDados.ClearParameters();

                AcoesDados.AddParameters("@TipoOrigem", obj.TipoOrigem);
                AcoesDados.AddParameters("@NumeroOrigem", obj.NumeroOrigem);
                AcoesDados.AddParameters("@CompOrigem", obj.ComplementoOrigem);
                AcoesDados.AddParameters("@DataOrigem", obj.DataOrigem.ToShortDateString());
                AcoesDados.AddParameters("@Acao", obj.Acao);
                AcoesDados.AddParameters("@TipoAlvo", obj.TipoAlvo);
                AcoesDados.AddParameters("@NumeroAlvo", obj.NumeroAlvo);
                AcoesDados.AddParameters("@CompAlvo", obj.ComplementoAlvo);
                AcoesDados.AddParameters("@DataAlvo", obj.DataAlvo.ToShortDateString());
                AcoesDados.AddParameters("@Inserido", obj.Incluido.ToShortDateString());

                var upSituacao = Sim.Data.Instances.DataM();

                string novaSituacao = obj.Acao;

                string sqlcommandalUpdateAlvo = @"UPDATE [Legislacao] SET [Situacao] = @Situacao WHERE (Tipo = @TipoAlvo) AND (Numero = @NumeroAlvo) AND (Complemento = @CompAlvo) AND (Data = @DataAlvo)";

                switch (obj.Acao)
                {
                case "1":
                    novaSituacao = "2";
                    break;

                case "2":
                    novaSituacao = "3";
                    break;
                }

                upSituacao.ClearParameters();

                upSituacao.AddParameters("@Situacao", novaSituacao);
                upSituacao.AddParameters("@TipoAlvo", obj.TipoAlvo);
                upSituacao.AddParameters("@NumeroAlvo", obj.NumeroAlvo);
                upSituacao.AddParameters("@CompAlvo", obj.ComplementoAlvo);
                upSituacao.AddParameters("@DataAlvo", obj.DataAlvo.ToShortDateString());

                upSituacao.Write(sqlcommandalUpdateAlvo);

                AcoesDados.Write(sqlcommandAcoes);

                string sqlreturn = @"SELECT TOP 1 Indice, TipoAlvo, NumeroAlvo, ComplementoAlvo, DataAlvo, AcaoExecutada FROM Leg_Acoes ORDER BY Indice DESC";
                AcoesDados.ClearParameters();

                var acoes = new mAcoes();

                foreach (DataRow ac in AcoesDados.Read(sqlreturn).Rows)
                {
                    acoes.Indice          = (int)ac["Indice"];
                    acoes.TipoAlvo        = ac["TipoAlvo"].ToString();
                    acoes.NumeroAlvo      = (int)ac["NumeroAlvo"];
                    acoes.ComplementoAlvo = ac["ComplementoAlvo"].ToString();
                    acoes.DataAlvo        = (DateTime)ac["DataAlvo"];
                    acoes.Acao            = new mAcoesExercidas().Exercidas((int)(ac["AcaoExecutada"]));
                }

                return(acoes);
            }
            catch (Exception ex)
            {
                return(null);

                throw new Exception(ex.Message);
            }
            finally
            {
                AcoesDados = null;
            }
        }
Beispiel #2
0
        /// <summary>
        /// Gera lista com dados a serem Alterados.
        /// </summary>
        /// <param name="obj">objeto que contem parametros pra gerar a lista</param>
        /// <returns>Lista</returns>
        public mLegislacao EditDoc(int indice)
        {
            var dataLegis = Data.Instances.DataM();
            var dataAcoes = Data.Instances.DataM();

            try
            {
                string sqlCommand      = @"SELECT * FROM Legislacao WHERE (Indice = @Indice) AND (Excluido = 0)";
                string sqlCommandAcoes = @"SELECT * FROM Leg_Acoes WHERE(TipoOrigem LIKE @Tipo) AND (NumeroOrigem = @Numero) AND (ComplementoOrigem LIKE @Comp)";

                dataLegis.ClearParameters();
                dataLegis.AddParameters("@Indice", indice);

                //System.Windows.Forms.MessageBox.Show(obj.Tipo + obj.Numero + obj.Complemento);

                //var lista = new Model.DocsCollections();
                var legislacao = new mLegislacao();

                foreach (DataRow leg in dataLegis.Read(sqlCommand).Rows)
                {
                    legislacao.Indice        = (int)leg["Indice"];
                    legislacao.Tipo          = leg["Tipo"].ToString();
                    legislacao.Numero        = (int)leg["Numero"];
                    legislacao.Complemento   = leg["Complemento"].ToString();
                    legislacao.Data          = (DateTime)leg["Data"];
                    legislacao.Publicado     = leg["Publicado"].ToString();
                    legislacao.Resumo        = leg["Resumo"].ToString();
                    legislacao.Classificacao = leg["Classificado"].ToString();
                    legislacao.Link          = mLink.Create(legislacao.Tipo, legislacao.Data.ToString("yyyy"), legislacao.Numero);
                    legislacao.Situacao      = leg["Situacao"].ToString();
                    legislacao.Origem        = leg["Origem"].ToString();
                    legislacao.Autor         = leg["Autor"].ToString();
                    legislacao.Cadastro      = (DateTime)leg["Cadastro"];
                    legislacao.Atualizado    = (DateTime)leg["Atualizado"];
                    legislacao.Excluido      = (bool)leg["Excluido"];

                    dataAcoes.ClearParameters();
                    dataAcoes.AddParameters("@Tipo", legislacao.Tipo);
                    dataAcoes.AddParameters("@Numero", legislacao.Numero);
                    dataAcoes.AddParameters("@Comp", legislacao.Complemento);

                    var listaAcoes = new List <mAcoes>();

                    foreach (DataRow ac in dataAcoes.Read(sqlCommandAcoes).Rows)
                    {
                        var acoes = new mAcoes();
                        acoes.Indice = (int)ac["Indice"];

                        acoes.TipoOrigem        = legislacao.Tipo;
                        acoes.NumeroOrigem      = legislacao.Numero;
                        acoes.ComplementoOrigem = legislacao.Complemento;
                        acoes.DataOrigem        = legislacao.Data;

                        acoes.Acao = new mAcoesExercidas().Exercidas((int)(ac["AcaoExecutada"]));

                        acoes.TipoAlvo        = ac["TipoAlvo"].ToString();
                        acoes.NumeroAlvo      = (int)ac["NumeroAlvo"];
                        acoes.ComplementoAlvo = ac["ComplementoAlvo"].ToString();
                        acoes.DataAlvo        = (DateTime)ac["DataAlvo"];

                        acoes.Incluido = (DateTime)ac["Inserido"];

                        listaAcoes.Add(acoes);
                    }

                    legislacao.ListaAcoes = listaAcoes;

                    //lista.Add(legislacao);
                }

                return(legislacao);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                dataLegis = null;
                dataAcoes = null;
            }
        }
        /// <summary>
        /// Apaga uma ação da tabela legislacaoacoes
        /// verifica o objeto alvo da ação a ser apagada na tabela legislacaoacoes
        /// se tiver somente uma (1) acao sofrida, altera a situacao na tabela legislacao,
        /// se tivser mais de uma (1), mantem a situacao do documento alvo na tabela legislacao.
        /// retorna uma lista atualizada das acoes restantes ref. ao objeto consultante
        /// </summary>
        /// <param name="obj">objeto acoes</param>
        /// <returns>true ou false</returns>
        public List <mAcoes> DelAcao(mAcoes obj)
        {
            string sqlcommand = @"DELETE FROM Leg_Acoes WHERE (Indice = @Indice)";

            Sim.Data.IData AcoesDados = Sim.Data.Instances.DataM();

            try
            {
                var upSituacao = Sim.Data.Instances.DataM();

                string novaSituacao = obj.Acao;

                string sqlcommandRollbackSituacao = @"SELECT * FROM Leg_Acoes WHERE (TipoAlvo = @TipoAlvo) AND (NumeroAlvo = @NumeroAlvo) AND (ComplementoAlvo = @CompAlvo) AND (DataAlvo = @DataAlvo)";

                upSituacao.ClearParameters();

                upSituacao.AddParameters("@TipoAlvo", obj.TipoAlvo);
                upSituacao.AddParameters("@NumeroAlvo", obj.NumeroAlvo);
                upSituacao.AddParameters("@CompAlvo", obj.ComplementoAlvo);
                upSituacao.AddParameters("@DataAlvo", obj.DataAlvo.ToShortDateString());

                if (upSituacao.Read(sqlcommandRollbackSituacao).Rows.Count == 1)
                {
                    novaSituacao = "1";

                    string sqlcommandUpdateSituacao = @"UPDATE [Legislacao] SET [Situacao] = @Situacao WHERE (Tipo = @TipoAlvo) AND (Numero = @NumeroAlvo) AND (Complemento = @CompAlvo) AND (Data = @DataAlvo)";

                    upSituacao.ClearParameters();

                    upSituacao.AddParameters("@Situacao", novaSituacao);
                    upSituacao.AddParameters("@TipoAlvo", obj.TipoAlvo);
                    upSituacao.AddParameters("@NumeroAlvo", obj.NumeroAlvo);
                    upSituacao.AddParameters("@CompAlvo", obj.ComplementoAlvo);
                    upSituacao.AddParameters("@DataAlvo", obj.DataAlvo.ToShortDateString());

                    upSituacao.Write(sqlcommandUpdateSituacao);
                }

                AcoesDados.ClearParameters();

                AcoesDados.AddParameters("@Indice", obj.Indice);

                var    listaAcoes      = new List <mAcoes>();
                string sqlCommandAcoes = @"SELECT * FROM Leg_Acoes WHERE(TipoOrigem LIKE @Tipo) AND (NumeroOrigem = @Numero) AND (ComplementoOrigem LIKE @Comp)";

                if (AcoesDados.Write(sqlcommand))
                {
                    AcoesDados.ClearParameters();
                    AcoesDados.AddParameters("@Tipo", obj.TipoOrigem);
                    AcoesDados.AddParameters("@Numero", obj.NumeroOrigem);
                    AcoesDados.AddParameters("@Comp", obj.ComplementoOrigem);

                    foreach (DataRow ac in AcoesDados.Read(sqlCommandAcoes).Rows)
                    {
                        var acoes = new mAcoes();
                        acoes.Indice          = (int)ac["Indice"];
                        acoes.TipoAlvo        = ac["TipoAlvo"].ToString();
                        acoes.NumeroAlvo      = (int)ac["NumeroAlvo"];
                        acoes.ComplementoAlvo = ac["ComplementoAlvo"].ToString();
                        acoes.DataAlvo        = (DateTime)ac["DataAlvo"];
                        acoes.Acao            = new mAcoesExercidas().Exercidas((int)(ac["AcaoExecutada"]));
                        listaAcoes.Add(acoes);
                    }
                }

                return(listaAcoes);
            }
            catch (Exception ex)
            {
                return(null);

                throw new Exception(ex.Message);
            }
            finally
            {
                AcoesDados = null;
            }
        }