/** * Metodo chamado da tela. * * */ public RetornoChamada SolicitaPortabilidade(ModeloCanonico.Custumer customer) { Acount conta = null; string cpf = customer.Cpf; /** * Chamada ao YUM*/ customer = InovixUtil.obterClienteYUM(cpf); /** * Caso chamada ao YUM não encontre o cliente, chamando o kgb * */ if (customer == null) { customer = InovixUtil.obterClienteKGB(cpf); //incluindo o cliente na base do yum InovixUtil.atualizarClienteYUM(customer); } conta = InovixUtil.obterDadosContaKGB(customer); customerGlobal = customer; contaGlobal = conta; object state = conta; var task = Task<RetornoChamada>.Factory.FromAsync(BeginObterRespostaAnatel, EndReceberRespostaAnatel, customer, conta, state); return task.Result; }
public Portability SolicitarBilhetePortabilidade(Custumer custumer, Acount acount) { //[chamando o webservice do módulo Anatel] Anatel.IAnatel client; TcpChannel channel = new TcpChannel(); ChannelServices.RegisterChannel(channel); client = (Anatel.IAnatel)Activator.GetObject(typeof(Anatel.IAnatel), "tcp://localhost:8091/SolicitarPortabilidadeNumerica"); //[obtendo resposta da Anatel para a portabilidade] RetornoPortabilidade retorno = client.SolicitarPortabilidadeNumerica(custumer); //[verificar as validacoes retornadas pela anatel] if (!retorno.CodigoErro.Equals("0")) { PortabilidadeFault falha = new PortabilidadeFault(); falha.CodigoErro = retorno.CodigoErro; falha.DataErro = retorno.DataErro; falha.Motivo = retorno.Motivo; throw new FaultException<PortabilidadeFault>(falha); } //[obtendo o numero do bilhete da Anatel] Portability portabilidade = new Portability(); portabilidade.Bilhete = retorno.Bilhete; return portabilidade; }
private void button_Click(object sender, RoutedEventArgs e) { ModeloCanonico.Custumer custumer = new ModeloCanonico.Custumer(); custumer.Cpf = "88888888888"; ModeloCanonico.Acount acount = new ModeloCanonico.Acount(); acount.Number = "122345"; ModeloCanonico.Portability portabilidade = apt.SolicitarBilhetePortabilidade(custumer, acount); textBoxSucesso.Text = "Sucesso na chamada ao APT. Número do bilhete: "+portabilidade.Bilhete; }
private void button1_Click(object sender, RoutedEventArgs e) { ServiceReferenceApt.AptServiceClient apt = new ServiceReferenceApt.AptServiceClient(); ModeloCanonico.Custumer custumer = new ModeloCanonico.Custumer(); custumer.Nome = "Custumer apt"; ModeloCanonico.Acount acount = new ModeloCanonico.Acount(); acount.Number = "122345"; ModeloCanonico.Portability portabilidade = apt.SolicitarBilhetePortabilidade(custumer, acount); textBox1.Text = portabilidade.Bilhete; }
public Portability SolicitarBilhetePortabilidade(Custumer custumer, Acount acount) { //[chamando o webservice do módulo Anatel] Anatel.IAnatel client; TcpChannel channel = new TcpChannel(); ChannelServices.RegisterChannel(channel); client = (Anatel.IAnatel)Activator.GetObject(typeof(Anatel.IAnatel), "tcp://localhost:8091/SolicitarPortabilidadeNumerica"); //[obtendo resposta da Anatel para a portabilidade] RetornoPortabilidade retorno = client.SolicitarPortabilidadeNumerica(custumer); //[TODO gerar numero do bilhete] Portability portabilidade = new Portability(); portabilidade.Bilhete = "123456789"; return portabilidade; }
public Acount ObterDadosConta(Custumer customer) { //• Operação que retorna a conta de um cliente //• Validar se o dado é válido //• Customer obrigatório //• Usar WCF validarCliente(customer.Cpf); validarConta(customer); Acount conta = new Acount(); conta.Number = "88433503"; conta.Valor = 10; conta.DataUltimoVencimento = new DateTime(2015, 1, 1); conta.Paga = false; return conta; }
private void buttonErro02_Click(object sender, RoutedEventArgs e) { ModeloCanonico.Custumer custumer = new ModeloCanonico.Custumer(); custumer.Cpf = "05666561677"; ModeloCanonico.Acount acount = new ModeloCanonico.Acount(); acount.Number = "122345"; try { ModeloCanonico.Portability portabilidade = apt.SolicitarBilhetePortabilidade(custumer, acount); textBoxErro02.Text = "Não lançou exceção corretamente."; } catch (FaultException<PortabilidadeFault> erro) { textBoxErro02.Text = "Erro " + erro.Detail.CodigoErro + ": " + erro.Detail.Motivo; } catch (Exception erroGenerico) { textBoxErro02.Text = "Erro de chamada ao webservice: " + erroGenerico; } }
/**Recebe a resposta de erro, chamado se houver erro na chamada do APT * ***/ public IAsyncResult BeginObterRespostaAnatel(ModeloCanonico.Custumer customer, Acount contam, AsyncCallback callback, object state) { var task = Task<RetornoChamada>.Factory.StartNew(SolicitarBilheteApt, state); return task.ContinueWith(res => callback(task)); }
public Portability SolicitarBilhetePortabilidade(Custumer custumer, Acount acount) { throw new NotImplementedException(); }