Daniel Bragagnolo

Let's getting the things done.

Dezembro 2007 - Posts

Internacionalização com .NET

Muitas vezes temos a responsabilidade de desenvolver sistemas que serão usados em vários países, com diferentes culturas, formatos de moedas, datas, etc.

No .NET Framework existe um recurso que nos ajuda bastante nesse sentido, é o chamado System.Globalization.CultureInfo, com ele podemos customizar o formato da data, moeda, calendário e outros.

Segue um exemplo de como usar esse recurso para modificar o formato da data:

Imports System.Globalization

Dim DTFormat As DateTimeFormatInfo = New CultureInfo("es-MX", False
).DateTimeFormat
Dim DT As New
DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day)

Dim strDate As String
= DT.ToString(DTFormat.LongDatePattern)
MessageBox.Show(strDate)


Note: Nesse exemplo estamos usando o formato de data Mexicano como exemplo, mas
aqui é possível encontrar um artigo completo do Mauro Sant'Anna sobre o tema, além de uma lista completa das siglas para quase todos os países.

 

Verificando o UserGroup do Usuário logado

Muitas vezes, para quem usa WindowsAuthentication, é necessáriao verificar o grupo do usuário logado para garantir permissões em certas áreas do sistema.

Eis um código bem simples (.NET 2.0) que faz isso:

Imports System.Security.Principal
Imports System.Threading

Dim objUser As WindowsPrincipal = DirectCast(Thread.CurrentPrincipal, WindowsPrincipal)
Dim blnAuth As Boolean = objUser.IsInRole("Administrators")


Note: O método IsInRole valida e retorna True se o usuário logado estiver contido no grupo informado no parâmetro.