quarta-feira, 22 de dezembro de 2010

Cast string para Enum em C#

Muitas vezes precisamos atribuir a uma propriedade do tipo enum um conteúdo, porem temos em mãos somente uma string com valor a ser atribuído. Para realizar esta operação temos que fazer uma conversão, ou como é mais conhecido, fazer um casting, o qual segue abaixo um código de exemplo:

  1: //Definir nosso enumerador
  2: public enum Sexo
  3: {
  4:    Masculino,
  5:    Feminino
  6: }
  7: //Vamos criar uma propriedade tendo como tipo o nosso enumerador
  8: public Sexo SexoCliente { get; set; }
  9: 
 10: //Vamos criar uma variável contendo uma string do sexo escolhido
 11: string mSexo = "Masculino";
 12: 
 13: //Agora vamos atribuir a nossa propriedade SexoCliente o conteúdo da variável mSexo
 14: SexoCliente = (Sexo)Enum.Parse(typeof(Sexo),mSexo);

quinta-feira, 9 de dezembro de 2010

Configurando o Visual Studio para efetuar uma parada exatamente no ponto em que a exceção foi gerada

Muitas vezes nossos aplicativos construídos no Visual Studio geram uma exceção e não sabemos em que ponto exatamente ocorreu e a mensagem original do erro gerado não ajuda muito, pois a exceção não foi bem tratada. Resta-nos acompanhar por debug todo o código fonte até chegar no ponto em que a exceção foi gerada para corrigirmos a falha, porem isso toma um tempo grande se o código extenso. Diante deste problema quero deixar registrado uma forma muito prática de ir direto ao ponto.

Antes de compilar a aplicação pressione a teclas CTRL+ALT+E dentro do Visual Studio, será demonstrada a seguinte tela:

ctrl alt e

Nesta, na parte destacada em amarelo, selecione os pontos que você deseja que o Visual Studio cheque as exceções (Aconselho selecionar tudo, pois tem muita coisa para ficar escolhendo se analisa ou não). Feito isso compile seu aplicativo, execute e faça o processo até que o erro aconteça, exatamente neste ponto o VS vai se posicionar exatamente na linha do código que gerou o erro.

É isso ai, bem mais simples… Alegre

Obs: Eu não conhecia esta opção e meu amigo Marcelo do desenvolvedores.net (www.desenvolvedores.net) me deu esta dica.

Paginação remota com ext.net, CSharp e ASPX

Pessoal

Nosso amigo Marcelo publicou um artigo sobre paginação remota muito interessante, vale estudar. Segue o link:

http://techblog.desenvolvedores.net/2010/12/08/paginacao-remota-com-ext-net-csharp-e-aspx/

terça-feira, 7 de dezembro de 2010

Consumo Indevido do Ambiente de Autorização da NFe

Com o objetivo de disciplinar as empresas na utilização do Ambiente de Autorização da SEFAZ, inicialmente dando ciência para as empresas das situações de “uso indevido” deste ambiente, o SEFAZ disponibiliza um documento para oridentar na adquação do seu aplicativo de emissão da NFe, afim de melhorar o tempo de resposta das requisições atuais, além de melhorar o uso do canal de comunicação da Internet da SEFAZ e da própria empresa.

Este documento está disponível para download no portal nacional, veja: http://www.nfe.fazenda.gov.br/PORTAL/diversos.aspx

Link para download direto do PDF do documento: http://www.nfe.fazenda.gov.br/PORTAL/docs/Consumo_Indevido_Aplicacao_Cliente_v1.00.pdf


danfeview_mini

quarta-feira, 1 de dezembro de 2010

Como recuperar a descrição do enumerador a partir do seu código

Em muitos casos temos a necessidade recuperar a descrição de um Enum a partir do código, pois foi este último que gravamos na tabela do banco de dados, veja como:

  1: //Enumerador de tipos
  2: public enum GenericDBType
  3: {
  4:    Bit = 0,
  5:    String = 1,
  6:    Object = 2,
  7:    Datetime = 3
  8: }
  9: 
 10: //Digamos que eu tenha gravado no meu banco o código do enumerador
 11: //neste caso vamos eleger o String (código 1), agora eu desejo recuperar
 12: //a descrição do enumerador (String) a partir do código gravado (1).
 13: //É bem simples, veja:
 14: 
 15: int codigoGravadoBanco = 1; //Código que tá gravado no banco de dados
 16: 
 17: Enum.GetName(typeof(GenericDbType), codigoGravadoBanco) //o retorno será "String"





Conheça o primeiro projeto Open Source (gratuito e de código fonte aberto) para NFe lançado no mercado: www.uninfe.com.br