/// <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; } }
/// <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; } }