Exemplo n.º 1
0
 private Library.Notificacao NovaNotificacao(string texto)
 {
     Library.Notificacao notificacao = new Library.Notificacao();
     notificacao.Data             = DateTime.Now;
     notificacao.Texto            = texto;
     notificacao.TermoCompromisso = this.TermoCompromisso;
     return(notificacao);
 }
Exemplo n.º 2
0
        static public List <Library.Notificacao> FindAdvanced(params Library.Classes.QItem[] args)
        {
            NpgsqlDataReader rdr     = null;
            NpgsqlConnection conexao = null;

            try
            {
                conexao = new NpgsqlConnection(global::Connection.Connection.StringPostgree());

                using (NpgsqlCommand comando = new NpgsqlCommand())
                {
                    string query = "SELECT * FROM \"Notificacao\" AS n " +
                                   "INNER JOIN \"TermoCompromisso\" AS tc ON tc.id = n.idTermoCompromisso ";

                    int    p   = 0;
                    string pre = "";
                    foreach (Library.Classes.QItem qi in args)
                    {
                        if (p == 0)
                        {
                            pre = "WHERE ";
                        }
                        else
                        {
                            pre = " AND ";
                        }

                        p++;

                        switch (qi.Campo)
                        {
                        case "n.id":
                            query += pre + "(n.id = @id)";
                            comando.Parameters.AddWithValue("@id", qi.Objeto);
                            break;

                        case "n.idTermoCompromisso":
                            query += pre + "(n.idTermoCompromisso = @idTC)";
                            comando.Parameters.AddWithValue("@idTC", qi.Objeto);
                            break;

                        case "tc.id":
                            query += pre + "(tc.id = @idtermocompromisso)";
                            comando.Parameters.AddWithValue("@idtermocompromisso", qi.Objeto);
                            break;

                        case "tc.status":
                            query += pre + "(tc.status = @status)";
                            comando.Parameters.AddWithValue("@status", qi.Objeto);
                            break;

                        case "ORDER BY":
                            query += " ORDER BY " + qi.Objeto;
                            break;
                        }
                    }

                    comando.CommandText = query;

                    comando.Connection = conexao;

                    conexao.Open();

                    rdr = comando.ExecuteReader();
                }
                List <Library.Notificacao> notificacoes = new List <Library.Notificacao>();

                while (rdr.Read())
                {
                    DateTime date = DateTime.MinValue;
                    DateTime.TryParse(rdr["data"].ToString(), out date);

                    Library.Notificacao notificacao = new Notificacao();
                    notificacao.Id = (long)rdr["id"];
                    notificacao.TermoCompromisso = Library.TermoCompromissoBD.FindById((long)rdr["idTermoCompromisso"]);
                    notificacao.Texto            = rdr["texto"].ToString();
                    notificacao.Data             = date;

                    if ((int)rdr["isJudicial"] == 1)
                    {
                        notificacao.isJudicial = true;
                    }
                    else
                    {
                        notificacao.isJudicial = false;
                    }

                    notificacoes.Add(notificacao);
                }

                return(notificacoes);
            }
            catch (Exception ex)
            {
                Library.Classes.Logger.Error(ex);;
            }
            finally
            {
                if (conexao != null)
                {
                    conexao.Close();
                }
            }
            return(null);
        }