예제 #1
0
        public static bool cadastrar(Usuario u, Contato c)
        {
            try
            {
                SqlCeConnection conn = Conexao.ConexaoSql;
                SqlCeCommand cmd = conn.CreateCommand();
                cmd.Transaction = Conexao.Transacao;

                cmd.CommandText = "insert into contato(login, nome, telefones, endereco, aniversario, outros) " +
                    "values (@login, @nome, @telefones, @endereco, @aniversario, @outros)";
                cmd.Prepare();
                cmd.Parameters.AddWithValue("@login", u.Login);
                cmd.Parameters.AddWithValue("@nome", c.Nome);
                cmd.Parameters.AddWithValue("@telefones", c.Telefones);
                cmd.Parameters.AddWithValue("@endereco", c.Endereco);
                cmd.Parameters.AddWithValue("@aniversario", c.Aniversario);
                cmd.Parameters.AddWithValue("@outros", c.Outros);

                cmd.ExecuteNonQuery();

                return true;
            }
            catch (Exception err)
            {
                throw err;
            }
        }
예제 #2
0
        public static bool atualizar(Usuario u, Contato c)
        {
            try
            {
                SqlCeConnection conn = Conexao.ConexaoSql;
                SqlCeCommand cmd = conn.CreateCommand();
                cmd.Transaction = Conexao.Transacao;

                cmd.CommandText = "update contato set telefones = @telefones, " +
                    "endereco = @endereco, aniversario = @aniversario, outros = @outros " +
                    "where login = @login and nome = @nome";
                cmd.Prepare();
                cmd.Parameters.AddWithValue("@login", u.Login);
                cmd.Parameters.AddWithValue("@nome", c.Nome);
                cmd.Parameters.AddWithValue("@telefones", c.Telefones);
                cmd.Parameters.AddWithValue("@endereco", c.Endereco);
                cmd.Parameters.AddWithValue("@aniversario", c.Aniversario);
                cmd.Parameters.AddWithValue("@outros", c.Outros);

                cmd.ExecuteNonQuery();

                return true;
            }
            catch (Exception err)
            {
                throw err;
            }
        }
예제 #3
0
        internal Contato instanciaContato()
        {
            Contato c = new Contato();
            c.Nome = txtNome.Text;
            c.Telefones = txtTelefones.Text;
            c.Endereco = txtEndereco.Text;
            c.Aniversario = mskAniversario.Text;
            c.Outros = txtOutros.Text;

            return c;
        }
예제 #4
0
        public FrmAtualizaContato(Contato c)
        {
            this.Text = "Contato : " + c.Nome;
            txtNome.Enabled = false;

            txtNome.Text = c.Nome;
            txtTelefones.Text = c.Telefones;
            txtEndereco.Text = c.Endereco;
            mskAniversario.Text = c.Aniversario;
            txtOutros.Text = c.Outros;
        }
        public static bool excluirContato(Contato c)
        {
            try
            {
                Usuario u = SessaoBusiness.UsuarioLogado;

                ContatoDAO.excluir(u, c);
                Conexao.commit();

                return true;
            }
            catch (Exception err)
            {
                Conexao.rollback();
                throw err;
            }
        }
        public static bool cadastrarContato(Contato c)
        {
            try
            {
                validarContato(c);

                Usuario u = SessaoBusiness.UsuarioLogado;

                ContatoDAO.cadastrar(u, c);
                Conexao.commit();

                return true;
            }
            catch (Exception err)
            {
                Conexao.rollback();
                throw err;
            }
        }
예제 #7
0
        public static List<Contato> aniversariantesMes(Usuario u, int max)
        {
            try
            {
                SqlCeConnection conn = Conexao.ConexaoSql;
                SqlCeCommand cmd = conn.CreateCommand();

                List<Contato> lista = new List<Contato>();

                cmd.CommandText = "select * from contato " +
                    "where login = @login and " +
                        "datepart(day, aniversario) >= @hojeDia and " +
                        "datepart(month, aniversario) = @hojeMes " +
                    "order by aniversario asc";
                cmd.Prepare();
                cmd.Parameters.AddWithValue("@login", u.Login);
                cmd.Parameters.AddWithValue("@hojeDia", DateTime.Today.Day);
                cmd.Parameters.AddWithValue("@hojeMes", DateTime.Today.Month);

                SqlCeDataReader reader = cmd.ExecuteReader();

                int n = 0; // contador

                while (reader.Read() && n < max)
                {
                    Contato c = new Contato(reader);
                    lista.Add(c);
                    n++;
                }

                return lista;
            }
            catch (Exception err)
            {
                throw err;
            }
        }
예제 #8
0
        private static List<Contato> aniversariantesProximoAno(Usuario u, int max)
        {
            try
            {
                SqlCeConnection conn = Conexao.ConexaoSql;
                SqlCeCommand cmd = conn.CreateCommand();

                List<Contato> lista = new List<Contato>();

                cmd.CommandText = "select * from contato " +
                    "where login = @login " +
                    "order by datepart(month, aniversario) asc, datepart(day, aniversario) asc";
                cmd.Prepare();
                cmd.Parameters.AddWithValue("@login", u.Login);

                SqlCeDataReader reader = cmd.ExecuteReader();

                int n = 0; // contador

                while (reader.Read() && n < max)
                {
                    Contato c = new Contato(reader);
                    lista.Add(c);
                    n++;
                }

                return lista;
            }
            catch (Exception err)
            {
                throw err;
            }
        }
예제 #9
0
        public static List<Contato> lista(Usuario u, String filtro)
        {
            try
            {
                SqlCeConnection conn = Conexao.ConexaoSql;
                SqlCeCommand cmd = conn.CreateCommand();

                cmd.CommandText = "select * from contato where login = @login";

                if (filtro != null)
                    cmd.CommandText += " and (nome like @filtro or telefones like @filtro)";

                cmd.Prepare();
                cmd.Parameters.AddWithValue("@login", u.Login);

                if (filtro != null)
                    cmd.Parameters.AddWithValue("@filtro", "%" + filtro + "%");

                SqlCeDataReader reader = cmd.ExecuteReader();

                List<Contato> lista = new List<Contato>();

                while (reader.Read())
                {
                    Contato c = new Contato(reader);
                    lista.Add(c);
                }

                return lista;
            }
            catch (Exception err)
            {
                throw err;
            }
        }
예제 #10
0
        public static bool excluir(Usuario u, Contato c)
        {
            try
            {
                SqlCeConnection conn = Conexao.ConexaoSql;
                SqlCeCommand cmd = conn.CreateCommand();
                cmd.Transaction = Conexao.Transacao;

                cmd.CommandText = "delete contato where login = @login and nome = @nome";
                cmd.Prepare();
                cmd.Parameters.AddWithValue("@login", u.Login);
                cmd.Parameters.AddWithValue("@nome", c.Nome);

                cmd.ExecuteNonQuery();

                return true;
            }
            catch (Exception err)
            {
                throw err;
            }
        }
        private static bool validarContato(Contato c)
        {
            if (c.Nome == null || c.Nome.Length == 0)
            {
                throw new Exception("Nome do contato inválido.");
            }

            if (c.Telefones == null || c.Telefones.Length == 0)
            {
                throw new Exception("Telefone inválido.");
            }

            DateTime niver;

            try
            {
                niver = Convert.ToDateTime(c.Aniversario);
            }
            catch (Exception)
            {
                throw new Exception("Data de aniversário inválida.");
            }

            if (niver > DateTime.Today)
                throw new Exception("Data de aniversário deve ser menor que data atual.");

            return true;
        }