1. Desenvolvimento

CesMessageBox e CesException

Foram criados no ces.utils.csharp sob o namespace ces.utils, as classes CesMessageBox e CesException.

Para que elas servem? 

R: CesMessageBox irá substituir o ces.utils.alerts na exibição de mesagens dentro do sistema. CesException irá, em alguns casos, substituir o throw Exception paradrão do .net.

Em que situações vou usar o CesException, como funciona?

R: Em classes onde pode ser feito um tratamento de erros onde a mensagem de retorno já pode ser definida e usada por todas as telas que usarem essa classe. 

Por ex.: Um erro ao processar o kardex. Na classe de processamento do kardex, ao invés de jogar a exception pra cima, usa-se Throw new CesException(titulo, problema, solução, exemplo, rotina, exception), preenchendo os parâmetros solicitados incluindo a exception original, dessa forma será jogado pra tela um objeto CesException com essas informações já preenchidas, não sendo necessário o tratamento em cada tela. Na tela você apenas exibirá a mensagem da seguinte forma: 

try{seu código}catch(CesException ex){CesMessageBox .Show(ex);}

O exception original é passado como parâmetro pois o CesException possui a gravação de log internamente, portanto ao usar o CesException não há a necessidade de gravar log de erro.

Como uso o CesMessageBox?

R: O CesMessageBox possui algumas formas de ser usado.

1. Da forma descrita anteriormente, passando pra ele o CesException  ” CesMessageBox .Show(ex);“.

2. Passando por parâmetro as mensagens ”  CesMessageBox.Show(problema, solução, titulo, erro, exemplo, rotina);“, onde o parâmetro “Erro” define obviamente, se a mensagem é um erro ou informação. A rotina (ainda não implementada) será usada futuramente para adicionar um link para chamar a rela relacionada, como por exemplo, uma correção no cadastro de produtos. 

3. Para uma pergunta usando o “CesMessageBox.ShowQuestion(mensagem, titulo, focoNoSim);” onde o parâmetro foco no sim define se o fico ficará no sim ou no não. Essa chamada retorna true para sim e false para não, deixando mais prático o uso. 

4. Instanciando a classe CesMessageBox, definindo os parâmetros e chamando a função show, essa forma pode ser útil para reaproveitamento de mensagens ou onde a mensagem é muito grande. 

5. Via interop dentro do VBA chamando a função “CriarInteropCesAdmNet.CesMessageBoxShow” passando os parâmetros solicitados, “CriarInteropCesAdmNet.CesMessageBoxShowQuestion” passando os parâmetros solicitados e recebendo um retorno boleano. 

O que mais o CesMessageBox faz? 

R: Também há uma função para validação da senha de gerente sem precisar de todo o tramite que usamos hoje.

Essa pode ser usada de duas formas:

if(CesMessageBox.ValidarGerente()){Gerente válido;}

ces.adm.entitys.Funcionarios funcionario;

if(CesMessageBox.(ref funcionário)){Gerente válido;}

funcionario receberá a instancia da entidade do gerente que liberou.

Comments to: CesMessageBox e CesException