コード例 #1
0
ファイル: LembreteDAO.cs プロジェクト: romuloprg/crmonline
        public bool Inserir(LembreteEntity lembrete)
        {
            try
            {
                connection.Open();
                SqlCommand command = new SqlCommand("INSERT INTO Lembrete VALUES ((SELECT codPar FROM Participante WHERE cpfUsu = @cpfUsu AND codAti = @codAti), @datLem, @horLem, @diaLem, @semLem)", connection);
                command.Parameters.AddWithValue("@cpfUsu", lembrete.cpfUsu);
                command.Parameters.AddWithValue("@codAti", lembrete.codAti);
                command.Parameters.AddWithValue("@datLem", lembrete.datLem);
                command.Parameters.AddWithValue("@horLem", lembrete.horLem);
                command.Parameters.AddWithValue("@diaLem", lembrete.diaLem);
                command.Parameters.AddWithValue("@semLem", lembrete.semLem);
                command.ExecuteNonQuery();
            }
            catch
            {
                return false;
            }
            finally
            {
                if (connection != null)
                    connection.Close();
            }

            return true;
        }
コード例 #2
0
ファイル: LembreteDAO.cs プロジェクト: romuloprg/crmonline
        public LembreteEntity Obter(int codLem)
        {
            LembreteEntity lembrete = new LembreteEntity();

            try
            {
                connection.Open();
                SqlCommand command = new SqlCommand("SELECT DISTINCT codLem, Lembrete.codPar, datLem, horLem, diaLem, semLem, cpfUsu, Participante.codAti, datAti, horAti FROM Lembrete LEFT JOIN Participante ON Lembrete.codPar = Participante.codPar LEFT JOIN Atividade ON Participante.codAti = Atividade.codAti WHERE codPar = @codPar ORDER BY datLem", connection);
                command.Parameters.AddWithValue("@codLem", codLem);
                IDataReader reader = command.ExecuteReader();

                reader.Read();

                lembrete.codLem = ExtraDAO.ObterValor<int>(reader, 0, 0);
                lembrete.codPar = ExtraDAO.ObterValor<int>(reader, 1, 0);
                lembrete.datLem = ExtraDAO.ObterValor<DateTime>(reader, 2, new DateTime()).ToShortDateString();
                lembrete.horLem = ExtraDAO.ObterValor<TimeSpan>(reader, 3, new TimeSpan()).ToString().Substring(0, 5);
                lembrete.diaLem = ExtraDAO.ObterValor<int>(reader, 4, 0);
                lembrete.semLem = ExtraDAO.ObterValor<bool>(reader, 5, false);
                lembrete.cpfUsu = ExtraDAO.ObterValor<string>(reader, 6, null);
                lembrete.codAti = ExtraDAO.ObterValor<int>(reader, 7, 0);
                lembrete.datAti = ExtraDAO.ObterValor<DateTime>(reader, 8, new DateTime()).ToShortDateString();
                lembrete.horAti = ExtraDAO.ObterValor<TimeSpan>(reader, 9, new TimeSpan()).ToString().Substring(0, 5);
            }
            finally
            {
                if (connection != null)
                    connection.Close();
            }

            return lembrete;
        }
コード例 #3
0
ファイル: LembreteTest.cs プロジェクト: romuloprg/crmonline
 public void TestInitialize1()
 {
     lembrete = new LembreteEntity();
     lembreteDAO = new LembreteDAO();
 }
コード例 #4
0
ファイル: LembreteDAO.cs プロジェクト: romuloprg/crmonline
        // Método que verifica lembretes ativos e envia email
        // O método original seria void, porém para fazer o TDD será usado bool para simplificar a codificação
        public bool Verificar(LembreteEntity lembrete)
        {
            DateTime dataAtual = Convert.ToDateTime(DateTime.Now.Date.ToShortDateString());
            TimeSpan horaAtual = Convert.ToDateTime(DateTime.Now.TimeOfDay.ToString().Substring(0, 5)).TimeOfDay;

            int diaLem = lembrete.diaLem;

            if (diaLem == 0)
            {
                DateTime datLem = Convert.ToDateTime(lembrete.datLem);
                TimeSpan horLem = Convert.ToDateTime(lembrete.horLem).TimeOfDay;

                if (datLem == dataAtual && horLem == horaAtual)
                    return true;
            }
            else
            {
                DateTime datAti = Convert.ToDateTime(lembrete.datAti);
                TimeSpan horAti = Convert.ToDateTime(lembrete.horAti).TimeOfDay;

                if (lembrete.semLem == false)
                {
                    DateTime datLem = datAti.AddDays(diaLem * -1);
                    TimeSpan horLem = horAti;

                    if (datLem <= dataAtual && datAti > dataAtual && horLem == horaAtual)
                        return true;
                }
                else
                {
                    int fimDeSemana = 0;

                    for (int i = 1; i <= diaLem; i++)
                    {
                        if (datAti.AddDays(i * -1).DayOfWeek == DayOfWeek.Saturday || datAti.AddDays(i * -1).DayOfWeek == DayOfWeek.Sunday)
                            fimDeSemana++;
                    }

                    DateTime datLem = datAti.AddDays((diaLem + fimDeSemana) * -1);
                    TimeSpan horLem = horAti;

                    if (dataAtual.DayOfWeek != DayOfWeek.Saturday && dataAtual.DayOfWeek != DayOfWeek.Sunday && datLem <= dataAtual && datAti > dataAtual && horLem == horaAtual)
                        return true;
                }
            }

            return false;
        }