/** * 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 RetornoPortabilidade SolicitarPortabilidadeNumerica(ModeloCanonico.Custumer custumer) { RetornoPortabilidade retorno = new RetornoPortabilidade(); retorno.Bilhete = "1234567890"; retorno.Janela = DateTime.Now.AddHours(2).ToLongTimeString(); retorno.CodigoErro = "0"; retorno.DataErro = DateTime.Now; retorno.Motivo = "Criação do bilhete efetuada com sucesso."; //[validação se já existe um ticket aberto para essa pessoa] if (custumer.Cpf.Equals("04986491644")) { retorno.CodigoErro = "1"; retorno.DataErro = DateTime.Now; retorno.Motivo = "Já existe um processo de portabilidade em aberto para o CPF "+custumer.Cpf; } //[validação se existe uma portabilidade não finalizada corretamente(com pendencias)] if (custumer.Cpf.Equals("05666561677")) { retorno.CodigoErro = "2"; retorno.DataErro = DateTime.Now; retorno.Motivo = "Existe uma portabilidade (Número do bilhete: 0987654321) com pendencias para o CPF " + custumer.Cpf; } return retorno; }
public static ServiceReferenceYUM.Custumer criarObjetoCustomerYUM(ModeloCanonico.Custumer customer) { ServiceReferenceYUM.Custumer novoCustomer = new ServiceReferenceYUM.Custumer(); novoCustomer.Cpf = customer.Cpf; novoCustomer.Nome = customer.Nome; novoCustomer.EnderecoCompleto = customer.EnderecoCompleto; return novoCustomer; }
public RetornoPortabilidade SolicitarPortabilidadeNumerica(ModeloCanonico.Custumer custumer) { RetornoPortabilidade retorno = new RetornoPortabilidade(); retorno.Bilhete = "1234567890"; retorno.CodigoErro = "0"; retorno.DataErro = DateTime.Now; retorno.Motivo = "Portabilidade efetuada com sucesso."; if (custumer.Nome.Equals("Lucas")) { retorno.CodigoErro = "1"; retorno.DataErro = DateTime.Now; retorno.Motivo = "Cliente inválido."; } return retorno; }
/** * Metodo chamado da tela. * * */ public RetornoChamada SolicitaPortabilidade(ModeloCanonico.Custumer custumer) { /** * Chamada ao YUM*/ /** * Caso chamada ao YUM retorno verdadeiro vamos chamar o KGB/* * */ throw new NotImplementedException(); /* * Depois de chamar o kbg chamamos o APT * Caso nao falhe: * Chamar o APT SolicitarBilhetePortabilidade Pegar o numero do Bilhete que o APT vai me cdevolver e colocar num array custumer e bilhete. Manda emnsagem de pedido enviado /**/ }
/**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 string SolicitarBilhetePortabilidade(ModeloCanonico.Custumer custumer, ModeloCanonico.Acount acount) { throw new NotImplementedException(); }
public static Acount obterDadosContaKGB(ModeloCanonico.Custumer customer) { ServiceReferenceKGB.KgbServiceClient client = new ServiceReferenceKGB.KgbServiceClient(); return client.ObterDadosConta(customer); }
public static void atualizarClienteYUM(ModeloCanonico.Custumer customer) { ServiceReferenceYUM.YUMServiceSoapClient client = new ServiceReferenceYUM.YUMServiceSoapClient(); client.UpdateCustomer(criarObjetoCustomerYUM(customer)); }
/** * Recebe a resposta do APT * */ public RetornoChamada ReceberRespostaAnatel(ModeloCanonico.Custumer custumer) { }