public LaminaContrato GetOcalCalc(string contrato, DateTime data) { using (var emulator = ConnectAndLogin(_user, _pass, _ip, _port)) { ResetToMainMenu(emulator); emulator.WaitForHostSettle(100, _timeout); //Navega até a tela Ocal WriteTextToField(emulator.CurrentScreenXML.Fields[3], emulator, "ocal"); emulator.SendKey(true, TnKey.Enter, _timeout); emulator.WaitForHostSettle(100, _timeout); //Pesquisa pelo contrato WriteTextToField(emulator.CurrentScreenXML.Fields[22], emulator, (contrato)); Thread.Sleep(100); emulator.SendKey(true, TnKey.Enter, _timeout); Thread.Sleep(50); //Pega num total de parcelas string total = ""; string[] tot = emulator.CurrentScreenXML.Fields[25].Text.ToString().Split(' '); for (int p = 0; p < tot.Length; p++) { if (tot[p] == "PAR") { total = tot[p + 2]; break; } } int TotalParcelas = int.Parse(total); Thread.Sleep(50); emulator.SendKey(true, TnKey.F2, _timeout); Thread.Sleep(50); var retVal = new LaminaContrato(); //Captura de dados do cliente retVal.NomeCliente = emulator.CurrentScreenXML.Fields[21].Text.Substring(8, 35); retVal.CpfCli = emulator.CurrentScreenXML.Fields[23].Text.Substring(10, 16); retVal.Nascimento = emulator.CurrentScreenXML.Fields[23].Text.Substring(58); retVal.Endereco = emulator.CurrentScreenXML.Fields[25].Text.Substring(0, 40); retVal.BairroC = emulator.CurrentScreenXML.Fields[25].Text.Substring(40); retVal.Cidade = emulator.CurrentScreenXML.Fields[27].Text; emulator.SendKey(true, TnKey.F2, _timeout); retVal.Marca = emulator.CurrentScreenXML.Fields[35].Text.Substring(0, 50); retVal.Cor = emulator.CurrentScreenXML.Fields[37].Text.Substring(0, 60); retVal.TIC = emulator.CurrentScreenXML.Fields[63].Text; //Pega parcela atual emulator.SendKey(true, TnKey.F2, _timeout); string[] atu = emulator.CurrentScreenXML.Fields[23].Text.ToString().Split(' '); int parcelaAtual = int.Parse(atu[1]); //Console.Write(emulator.CurrentScreenXML.Dump()); //Navegação até a tela CALC //emulator.SendKey(true, TnKey.F2, _timeout); WriteTextToField(emulator.CurrentScreenXML.Fields[2], emulator, "calc"); emulator.SendKey(true, TnKey.Enter, _timeout); emulator.WaitForHostSettle(100, _timeout); retVal.ContratoCliente = emulator.CurrentScreenXML.Fields[24].Text; WriteTextToField(emulator.CurrentScreenXML.Fields[27], emulator, data.ToString("ddMMyyyy")); emulator.SendKey(true, TnKey.Enter, _timeout); //Console.Write(emulator.CurrentScreenXML.Dump()); //Captura de parcelas for (int p = 0; p <= ((TotalParcelas - parcelaAtual) / 6); p++) { for (int i = 0; i <= 6; i++) { var toAdd = new ParcelaLaminaContrato(); toAdd.Parcela = emulator.CurrentScreenXML.Fields[81 + (16 * i)].Text; toAdd.Vencimento = emulator.CurrentScreenXML.Fields[83 + (16 * i)].Text; toAdd.ValorParcela = emulator.CurrentScreenXML.Fields[85 + (16 * i)].Text; toAdd.JurosDesc = emulator.CurrentScreenXML.Fields[87 + (16 * i)].Text; toAdd.IOF = emulator.CurrentScreenXML.Fields[89 + (16 * i)].Text; toAdd.Tec = emulator.CurrentScreenXML.Fields[90 + (16 * i)].Text; toAdd.ValorTotal = emulator.CurrentScreenXML.Fields[92 + (16 * i)].Text; toAdd.Gca = emulator.CurrentScreenXML.Fields[204].Text; if (emulator.CurrentScreenXML.Fields[85 + (16 * i)].Text != null) { retVal.Parcelas.Add(toAdd); } } emulator.SendKey(true, TnKey.F8, _timeout); } return(retVal); } }
public TelaRegistro(string user, string pass, string ip, int port) { InitializeComponent(); _user = user; _pass = pass; _ip = ip; _port = port; //this.mainframe = new Santander.Automation.TN3270Lib.CICS(_user, _pass, _ip, _port); calculadora = new Calculadora(); calcula(); //var cx = TestStack.White.Application.Attach("cobdesk"); //var siscob = (Control)cx.GetWindows().Select(w => w.Name.Contains("cslog_rr_prod")); //siscob.SendToBack(); Xuser.Text = Form1.UserCICSText; //copia contrato no momento da deteccao da chamada //var contrato = Clipboard.GetText();20028223758 20027749175 20028154413 // contrato = "20025946587";//"20027749175"; //idContrato = "95671555"; contrato = Siscob.Contrato.Trim(); //idContrato = Siscob.idContrato.Trim(); //Console.WriteLine("Contrato: " + contrato); //informacoes da tela var mainframe = new Santander.Automation.TN3270Lib.CICS(_user, _pass, _ip, _port); var data = mainframe.GetOcalCalc(contrato, DateTime.Today.AddDays(0)); //info cliente NomeC.Text = data.NomeCliente; ContratoCli.Text = data.ContratoCliente; EnderecoC.Text = data.Endereco; CidadeC.Text = data.Cidade; BairroC.Text = data.BairroC; CpfC.Text = data.CpfCli; Nascimento.Text = data.Nascimento; //info veiculo MarcaCar.Text = data.Marca; TicCar.Text = data.TIC; CorCar.Text = data.Cor; ////tabulação CTA //populaTabulacaoCTA(contrato); //historicos CTA populaHistoricoContatosAnt(contrato); populaHistoricoPagamentos(contrato); //Qtdparcela = data.Parcelas[0].Parcela; //ValorParcela = data.Parcelas[0].ValorParcela; //Vencimento = data.Parcelas[0].Vencimento; //Recupera valores das parcelas do contrato List <LaminaContrato> datas = new List <LaminaContrato>(); var parc = new LaminaContrato(); var consulta = DateTime.Today; for (int d = 0; d < 5; d++) { do { parc = mainframe.GetOcalCalc(contrato, consulta); parc.dataConsulta = consulta; consulta = consulta.AddDays(1); } while (parc.Parcelas.Count() == 0); datas.Add(parc); } //Carrega valores nos list views List <ListView> listViews = new List <ListView>(); listViews.Add(listView1); listViews.Add(listView2); listViews.Add(listView3); listViews.Add(listView4); listViews.Add(listView5); for (int t = 0; t < 5; t++) { Color cor = Color.LightGray; foreach (Santander.Automation.TN3270Lib.Models.ParcelaLaminaContrato p in datas[t].Parcelas) { var item = new ListViewItem(); item.SubItems.Add(p.Parcela); item.SubItems.Add(p.Vencimento); item.SubItems.Add(p.ValorParcela); item.SubItems.Add(p.JurosDesc); item.SubItems.Add(p.IOF); item.SubItems.Add(p.Gca); //GCA = p.Gca; item.SubItems.Add(p.ValorTotal); listViews[t].Parent.Text = datas[t].dataConsulta.ToString("dd/MM/yyyy"); item.BackColor = cor; if (cor == Color.LightGray) { cor = Color.White; } else { cor = Color.LightGray; } listViews[t].Items.Add(item); } } //ShowWindow(this.Handle, SW_MAXIMIZE); }