aluno: guilherme esteves fidelis empresa: banco modal período de estágio: 04/01/2010 –...
TRANSCRIPT
Aluno: Guilherme Esteves Fidelis
Empresa: Banco Modal
Período de Estágio: 04/01/2010 – 30/11/2010
Fluxo de Operações Bovespa
if (patrimonioPosicao > totalPermitido) { Enquadramento ret = new Enquadramento(); ret.IdAtivo = int.MinValue; ret.NomeAtivo = string.Empty; ret.idFundo = posicao.IdCarteira; ret.NomeFundo = posicao.NmCarteira; string erro = string.Format("Operação ultrapassa percentual máximo de {0}% de {1} ou ativos relacionados. O total permitido é {2} e o total atual é de: {3}." , this.Quantidade , ApelidoInstrFin , totalPermitido.ToString("N2") , patrimonioPosicao.ToString("N2")); ret.DescricaoRegra = erro; ret.TipoRegra = eTipoRegra.RestricaoPercAtivo; ret.QuantidadeOferecida = lista[0].Financeiro; ret.QuantidadePossivel = totalPermitido; listRet.Add(ret); }
Design Patterns
• Façade
• Business Rules
• Interface
• Dapa Mapper
• Data Access.
Design Patterns
•A Façade é a camada de entrada, enxergada por todos os sistemas, incluindo os que acessam via WebService, como as planilhas em VBA. Business Rules é a camada de negócio, onde eu criava as classes em sim com todos os getters e setters, atributos, propriedades e métodos públicos e privados. Data Mapper é a camada responsável por mapear os dados das classes para o banco de dados e do banco de dados para as classes (métodos de Busca e métodos de save). Data Access é a camada responsável por se comunicar diretamente com o banco de dados
Façade/// <summary> /// Buscar todas as Classificações de Enquadramento /// </summary> /// <returns>Lista com Id’s e descrições para a combo </returns>public static List<idDescGenericoDTO> ClassificacaoEnquadramentoBusca() { try { List<idDescGenericoDTO> retorno = new List<idDescGenericoDTO>(); ClassificacaoEmissor[] lista = ClassificacaoEmissor.BuscaClassificacaoEnquadramento(); foreach (ClassificacaoEmissor item in lista) { retorno.Add(new idDescGenericoDTO(item.idClassificacaoEmissorValor, item.Nome)); } return retorno; } catch (Exception ex) { ExceptionManager.Publish(ex); throw; } }
Business Rules /// <summary> /// Busca todas as Classificações de Enquadramento /// </summary> /// <returns>Array de Classificações encontradas</returns> public static ClassificacaoEmissor[] BuscaClassificacaoEnquadramento() { return ((IClassificacaoEmissorData)Registry.GetRegistryObject("IClassificacaoEmissorData")).BuscaClassificacaoEnquadramento(); }
Data Mapper /// <summary> /// Buscar todas as Classificações de Enquadramento /// </summary> /// <returns>Array com todas as Classificações</returns> ClassificacaoEmissor[] IClassificacaoEmissorData.BuscaClassificacaoEnquadramento() { ArrayList lista = new ArrayList(); ClassificacaoEmissorDataAccess.BuscaClassificacaoEnquadramento((new CarregaListaComDataReader(CarregaClassificacaoEmissor)), ref lista); return (ClassificacaoEmissor[])lista.ToArray(typeof(ClassificacaoEmissor)); }
Data Access /// <summary> /// Buscar Todos as Classificações de Enquadramento /// </summary> /// <param name="metodo">Método usado para carregar a lista passada pelo Mapper</param> /// <param name="lista">Referência para a lista carregada com os resultados da busca</param> public static void BuscaClassificacaoEnquadramento(CarregaListaComDataReader metodo, ref ArrayList lista) { if (metodo == null) throw new ArgumentNullException("metodo", "metodo nulo"); if (lista == null) throw new ArgumentNullException("lista", "lista nula"); try { SqlConnection conexao = DataAccessCommon.CnPessoas4(); //8 = Classificação de Enquadramento em nível único string queryBusca = String.Format(querySelect, (int)Emissor.eOrgaoClassificador.Enquadramento, 8, String.Empty); BuscaGenerica(queryBusca, null, conexao, null, metodo, ref lista); } catch (Exception ex) { ExceptionManager.Publish(ex); throw; } }
Windows Forms
ASP .NET