Mauricio Junior - MCP Microsoft (WEB & Windows Application)

Tudo sobre .NET - Artigos, vídeos, livros, ebooks e muito mais.
 
posts - 250, comments - 84, trackbacks - 0

Dia Útil

Posted at Wednesday, July 18, 2007 9:09 PM
Dia Útil

(Saber se o dia atual é dia útil dentro de um sistema)

 

Olá pessoal, meu nome é Mauricio Junior, estou disposto a mostrar como saber dentro de uma aplicação se o dia é útil ou não. Isso pode ser usado em vários tipos de aplicações, como por exemplo:

 

- Aplicações bancárias que só podem ser processadas durante a semana;

- Aplicações de bolsa de valores;

- E aplicações em geral que funciona apenas de segunda-feira a sexta-feira.

Continuando com idéia, informo que é bem simples e fácil fazer este tipo de método. Nos dias de hoje é bem utilizado em várias aplicações. O primeiro passo foi criar uma classe chamada ObterDiaUtil(DateTime) passando como parâmetro da data do dia.

 

 

           public static Boolean ObterDiaUtil(DateTime dtBase)

            {

                  DateTime dataRetorno = dtBase;

                  Boolean bDiaUtil = true;

 

                  switch (dataRetorno.DayOfWeek)

                  {

                        case DayOfWeek.Sunday:

                             bDiaUtil = false;

                             break;

                        case DayOfWeek.Saturday:

                             bDiaUtil = false;

                             break;

                        default:

                             bDiaUtil = true;

                             break;

                  }

 

                  return bDiaUtil;

            }

Referência: 1.1

 

Explicação:

 

A referência 1.1 mostra perfeitamente o método static cujo o retorno é do tipo Boolean. Para ficar melhor o entendimento do método, peguei o valor que está sendo passado chamado dtBase e atribui a outra variável chamada dataRetorno do tipo DateTime.

Com isso, utilizei o método switch case perguntando apenas o DayOfWeek, ou seja, qual o dia da semana. Dentro do case, peguei o método que pega o dia da semana (DayOfWeek) ponto o dia realmente como: Sunday, Saturday (Domingo, Sábado). Note que, se for domingo ele retorna false, se for sábado ele retorna false, agora se não for nenhum dos dois, como padrão (default) ele retorna true.

No final é retornado a variável bDiaUtil.

 

 

Chamando o Método

 

         Para chamar o método é simples e fácil também. (Referência 1.2)

 

 

Boolean bDiaUtil = ObterDiaUtil(DateTime.Now);

Ou

If(ObterDiaUtil(DateTime.Now)){

}

 

Referência: 1.2

 

Bom, espero que ter ajudado de alguma forma, qualquer dúvida, favor entrar em contato.

 

 

Mauricio Junior

Site: www.mauriciojunior.org

e-mail: mauricio@aspneti.com

Para mais detalhes acesse: http://www.aspneti.com/visualizar/downloadArtigo.aspx?ch_artigos=394 

Espero ter ajudado.

?>

?>

Feedback

# re: Dia Útil

7/19/2007 1:17 PM by Nuno Silva
Oi Mauricio,

Acho que n precisas de tanta complicação para fazer isso.

Basta-te fazer

bool ObterDiaUtil( DateTime t ) {
return DateTime.Now.DayOfWeek != DayOfWeek.Saturday && DateTime.Now.DayOfWeek != DayOfWeek.Sunday;
}

Fica legivel em termos quem vai ler o teu código, faz a mesma coisa e de forma mais eficiente :)

um abraço

# re: Dia Útil

7/19/2007 4:40 PM by Mauricio Junior
Nuno,

Obrigado por comentar, agradeço. O ser humano pensa diferente. Cada desenvolver possui uma opinião no qual fica melhor pra si mesmo.

Mesmo assim obrigado.

# re: Dia Útil

7/20/2007 12:23 AM by Nícolas Tarzia
Mauricio, vou colocar algo talvez voce consiga implementar ai ...
Colocando dias uteis e tirando também os feriados.

Neste link tem algumas informações que você utilize:
http://forums.microsoft.com/MSDN-BR/ShowPost.aspx?PostID=1813574&SiteID=21


# re: Dia Útil

7/20/2007 12:29 AM by Mauricio Junior
Nícolas,

Obrigado por comentar. Eu fiz isso porém utilizei o banco de dados onde possui todos os feriados do ano.

Entendeu? Espero ter ajudado.
Title  
Name  
Url
Box Code
Protected by FormShield
Comments