コード例 #1
0
ファイル: BLScreenNavigation.cs プロジェクト: tkMageztik/RPA
        public bool ShowScreenCPApproval()
        {
            string opt = ehllapi.ReadScreen("5,3", 25).Trim();

            if (opt.Equals("1. Posición de cliente"))
            {
                Methods.LogProceso("El menú inicial es el definido: MGCIA2");
            }
            else
            {
                Methods.LogProceso("El menú inicial no es el definido, se aborta el RPA");
                return(false);
            }

            EhllapiWrapper.Wait();
            Methods.GetMenuProgram("15,24");
            EhllapiWrapper.Wait();

            if (!ehllapi.ReadScreen("2,23", 32).Contains("Aprobación de Cambio de Producto"))
            {
                Methods.LogProceso("No se abrió correctamente la opción 'Aprobación de Cambio de Producto'");
                return(false);
            }
            return(true);
        }
コード例 #2
0
ファイル: BLMain.cs プロジェクト: tkMageztik/RPA
 public void SetApprovalPass(string pass)
 {
     ehllapi.SetCursorPos("3,14");
     EhllapiWrapper.Wait();
     ehllapi.SendStr(pass);
     EhllapiWrapper.Wait();
 }
コード例 #3
0
ファイル: BLScreenNavigation.cs プロジェクト: tkMageztik/RPA
 public void BackToMainMenu()
 {
     ehllapi.SendStr("@7");
     EhllapiWrapper.Wait();
     ehllapi.SendStr("@3");
     EhllapiWrapper.Wait();
 }
コード例 #4
0
ファイル: BLMain.cs プロジェクト: tkMageztik/RPA
        public ProductChange GetProductChange(string plot, int yCoordenates)
        {
            //ContractNumberDue or Funding?
            ProductChange e = ProductChanges.FirstOrDefault(x => plot.Substring(3, 12).Trim() == x.FundingNumber);

            if (e != null)
            {
                e.State = "AUTORIZADO";
                ehllapi.SetCursorPos(yCoordenates + ",2");
                EhllapiWrapper.Wait();
                ehllapi.SendStr("X");
                EhllapiWrapper.Wait();

                ehllapi.SendStr("@E");
                EhllapiWrapper.Wait();

                ehllapi.SendStr("@1");
                EhllapiWrapper.Wait();
                ehllapi.SendStr("@E");
                EhllapiWrapper.Wait();
            }

            e.Plot = plot;
            return(e);
        }
コード例 #5
0
ファイル: CustomEHLLAPI.cs プロジェクト: tkMageztik/RPA
        //public string ReadScreen(int position, int lenght)
        //{
        //    var outParam= "";
        //    EhllapiWrapper.ReadScreen(position, lenght, out outParam);
        //    EhllapiWrapper.Wait();
        //    return outParam.Substring(0,lenght);
        //}

        public string ReadScreen(string position, int lenght)
        {
            var Spliteo = position.Split(',');
            int x, y;

            Int32.TryParse(Spliteo[0], out x);
            Int32.TryParse(Spliteo[1], out y);
            var outParam = "";

            EhllapiWrapper.ReadScreen(Methods.GetWSPosition(x, y), lenght, out outParam);
            Methods.LogProceso("Se leyó la posición \t\t [" + x + "/" + y + "]");
            EhllapiWrapper.Wait();
            return(outParam.Substring(0, lenght));
        }
コード例 #6
0
        public static void GetMenuProgram(String Menu)
        {
            var options = Menu.Split(',');

            LogProceso("Invocando el programa del menú: " + Menu);
            foreach (var option in options)
            {
                EhllapiWrapper.SetCursorPos(GetWSPosition(22, 7));
                EhllapiWrapper.Wait();
                EhllapiWrapper.SendStr(option);
                EhllapiWrapper.Wait();
                EhllapiWrapper.SendStr("@E");
                EhllapiWrapper.Wait();
            }
        }
コード例 #7
0
ファイル: BLMain.cs プロジェクト: tkMageztik/RPA
        public RelationshipOwed GetRelationshipOwed(string plot, int yCoordenates)
        {
            //me aseguro de que no tendré un fuera de rango... .
            //plot = plot.PadRight(80 * rowsByItem);

            //TODO: manejo de nulos
            //if (plot.Substring(20, 10)

            //ContractNumberDue or Funding?
            RelationshipOwed e = RelationshipOweds.FirstOrDefault(x => plot.Substring(3, 12).Trim() == x.ContractNumberDue);

            if (e != null)
            {
                e.State = "AUTORIZADO";
                ehllapi.SetCursorPos(yCoordenates + ",2");
                EhllapiWrapper.Wait();
                ehllapi.SendStr("I");
                EhllapiWrapper.Wait();

                ehllapi.SendStr("@E");
                EhllapiWrapper.Wait();
                ehllapi.SendStr("@E");
                EhllapiWrapper.Wait();
                ehllapi.SendStr("@E");
                EhllapiWrapper.Wait();
                ehllapi.SendStr("@E");
                EhllapiWrapper.Wait();
                ehllapi.SendStr("@E");
                EhllapiWrapper.Wait();
                ehllapi.SendStr("@E");
                EhllapiWrapper.Wait();
                ehllapi.SendStr("@E");
                EhllapiWrapper.Wait();

                ehllapi.SetCursorPos(yCoordenates + ",2");
                EhllapiWrapper.Wait();
                ehllapi.SendStr("Y");
                EhllapiWrapper.Wait();
                ehllapi.SendStr("@E");
                EhllapiWrapper.Wait();
            }

            e.Plot = plot;
            return(e);
        }
コード例 #8
0
ファイル: CustomEHLLAPI.cs プロジェクト: tkMageztik/RPA
        //public void SetCursorPos(int position)
        //{
        //    EhllapiWrapper.SetCursorPos(position);
        //    EhllapiWrapper.Wait();
        //}
        public void SetCursorPos(string position)
        {
            String ReadyKey = ConfigurationManager.AppSettings["ReadKey"].ToString().Trim();
            var    Spliteo  = position.Split(',');

            int x, y;

            Int32.TryParse(Spliteo[0], out x);
            Int32.TryParse(Spliteo[1], out y);

            EhllapiWrapper.SetCursorPos(Methods.GetWSPosition(x, y));
            Methods.LogProceso("Situado en la posición \t [" + x + "/" + y + "]");
            EhllapiWrapper.Wait();

            if (ReadyKey.Equals("SI") == true)
            {
                Console.ReadKey();
            }
        }
コード例 #9
0
ファイル: BLScreenNavigation.cs プロジェクト: tkMageztik/RPA
        public bool ShowScreenClientPosition()
        {
            //#if DEBUG
            //            EhllapiWrapper.Wait();
            //            ehllapi.SetCursorPos("20,7");
            //            EhllapiWrapper.Wait();
            //            ehllapi.SendStr("GO MGCIA2");
            //            EhllapiWrapper.Wait();
            //            ehllapi.SendStr("@E");
            //            EhllapiWrapper.Wait();
            //#endif


            string opt = ehllapi.ReadScreen("5,3", 25).Trim();

            if (opt.Equals("1. Posición de cliente"))
            {
                Methods.LogProceso("El menú inicial es el definido: MGCIA2");
            }
            else
            {
                Methods.LogProceso("El menú inicial no es el definido, se aborta el RPA");
                return(false);
            }

            EhllapiWrapper.Wait();
            Methods.GetMenuProgram("1");
            EhllapiWrapper.Wait();

            if (!ehllapi.ReadScreen("3,23", 35).Contains("Centro de Información de Clientes"))
            {
                Methods.LogProceso("No se abrió correctamente la opción 'Centro de Información de Clientes - Posición de Cliente'");
                return(false);
            }
            return(true);
        }
コード例 #10
0
ファイル: BLScreenNavigation.cs プロジェクト: tkMageztik/RPA
        public bool ShowScreenRATransactionsApproval()
        {
            //#if DEBUG
            //            EhllapiWrapper.Wait();
            //            ehllapi.SetCursorPos("20,7");
            //            EhllapiWrapper.Wait();
            //            ehllapi.SendStr("GO MGCIA2");
            //            EhllapiWrapper.Wait();
            //            ehllapi.SendStr("@E");
            //            EhllapiWrapper.Wait();
            //#endif


            string opt = ehllapi.ReadScreen("5,3", 25).Trim();

            if (opt.Equals("1. Posición de cliente"))
            {
                Methods.LogProceso("El menú inicial es el definido: MGCIA2");
            }
            else
            {
                Methods.LogProceso("El menú inicial no es el definido, se aborta el RPA");
                return(false);
            }

            EhllapiWrapper.Wait();
            Methods.GetMenuProgram("15,1");
            EhllapiWrapper.Wait();

            if (!ehllapi.ReadScreen("2,20", 41).Contains("Aprobacion de Contratos y Transacciones"))
            {
                Methods.LogProceso("No se abrió correctamente la opción 'Aprobacion de Contratos y Transacciones'");
                return(false);
            }
            return(true);
        }
コード例 #11
0
ファイル: CustomEHLLAPI.cs プロジェクト: tkMageztik/RPA
        public void SendStr(string param)
        {
            String ReadyKey = ConfigurationManager.AppSettings["ReadKey"].ToString().Trim();

            if (ReadyKey.Equals("SI") == true)
            {
                Console.ReadKey();
            }
            var LogStr = param;

            switch (param)
            {
            case "@A": LogStr = "Alt"; break;

            case "@$": LogStr = "Alt Cursor"; break;

            case "@A@Q": LogStr = "AEhllapiFuncntion"; break;

            case "@<": LogStr = "Backspace"; break;

            case "@B": LogStr = "Backtab(Left Tab)"; break;

            case "@C": LogStr = "Clear"; break;

            case "@A@Y": LogStr = "Cmd(function) Key"; break;

            case "@V": LogStr = "Cursor Down"; break;

            case "@L": LogStr = "Cursor Left"; break;

            case "@Z": LogStr = "Cursor Right"; break;

            case "@A@J": LogStr = "Cursor Select"; break;

            case "@U": LogStr = "Cursor Up"; break;

            case "@D": LogStr = "Delete"; break;

            case "@S@x": LogStr = "Dup "; break;

            case "@q": LogStr = " End"; break;

            case "@E": LogStr = " Enter"; break;

            case "@F": LogStr = " Erase EOF"; break;

            case "@A@F": LogStr = " Erase Input"; break;

            case "@A@E": LogStr = " Field Exit"; break;

            case "@S@y": LogStr = " Field Mark"; break;

            case "@A@-": LogStr = " Field -"; break;

            case "@A@+": LogStr = " Field +"; break;

            case "@H": LogStr = " Help"; break;

            case "@A@X": LogStr = " Hexadecimal"; break;

            case "@0": LogStr = " Home"; break;

            case "@I": LogStr = " Insert"; break;

            case "@A@I": LogStr = " Insert Toggle"; break;

            case "@P": LogStr = " Local Print"; break;

            case "@N": LogStr = " New Line"; break;

            case "@u": LogStr = " Page Up"; break;

            case "@v": LogStr = " Page Down"; break;

            case "@A@t": LogStr = " Print(PC)"; break;

            case "@A@T": LogStr = " Print Screen"; break;

            case "@A@<": LogStr = " Record Backspace"; break;

            case "@R": LogStr = " Reset"; break;

            case "@S": LogStr = " Shift"; break;

            case "@A@H": LogStr = " Sys Request"; break;

            case "@T": LogStr = " Tab(Right Tab)"; break;

            case "@A@C": LogStr = " Test"; break;

            case "@x": LogStr = " PA1 "; break;

            case "@y": LogStr = " PA2 "; break;

            case "@z": LogStr = " PA3"; break;

            case "@+": LogStr = " PA4"; break;

            case "@%": LogStr = " PA5 "; break;

            case "@&": LogStr = " PA6 "; break;

            case "@'": LogStr = " PA7 "; break;

            case "@(": LogStr = " PA8 "; break;

            case "@)": LogStr = " PA9 "; break;

            case "@*": LogStr = " PA10 "; break;

            case "@1": LogStr = " PF1 / F1"; break;

            case "@2": LogStr = " PF2 / F2"; break;

            case "@3": LogStr = " PF3 / F3"; break;

            case "@4": LogStr = " PF4 / F4"; break;

            case "@5": LogStr = " PF5 / F5"; break;

            case "@6": LogStr = " PF6 / F6"; break;

            case "@7": LogStr = " PF7 / F7"; break;

            case "@8": LogStr = " PF8 / F8"; break;

            case "@9": LogStr = " PF9 / F9"; break;

            case "@a": LogStr = " PF10 / F10"; break;

            case "@b": LogStr = " PF11 / F11"; break;

            case "@c": LogStr = " PF12 / F12"; break;

            case "@d": LogStr = " PF13 / F13"; break;

            case "@e": LogStr = " PF14 / F14"; break;

            case "@f": LogStr = " PF15 / F15"; break;

            case "@g": LogStr = " PF16 / F16"; break;

            case "@h": LogStr = " PF17 / F17"; break;

            case "@i": LogStr = " PF18 / F18"; break;

            case "@j": LogStr = " PF19 / F19"; break;

            case "@k": LogStr = " PF20 / F20"; break;

            case "@l": LogStr = " PF21 / F21"; break;

            case "@m": LogStr = " PF22 / F22"; break;

            case "@n": LogStr = " PF23 / F23"; break;

            case "@o": LogStr = " PF24 / F24"; break;

            default: LogStr = param; break;
            }
            EhllapiWrapper.SendStr(param);
            Methods.LogProceso("Se envió el parámetro:\t " + param);
            EhllapiWrapper.Wait();
        }
コード例 #12
0
ファイル: CustomEHLLAPI.cs プロジェクト: tkMageztik/RPA
 public void Connect(string id)
 {
     EhllapiWrapper.Connect(id);
     EhllapiWrapper.Wait();
 }
コード例 #13
0
        public static Boolean OpenWS(string EmulatorURL, string SessionId, string Username, string Password, out int Id)
        {
            Console.Write("Inicializando IBS... ");
            string IsShowWindow = ConfigurationManager.AppSettings["ShowWindow"].ToString().Trim();
            string Session      = ConfigurationManager.AppSettings["SessionId"].ToString().Trim();

            Process[] pcscmProcesses = Process.GetProcessesByName("pcsws");
            if (pcscmProcesses.Length == 0)
            {
                Process.Start("taskkill", "/F /IM [pcsws].exe");
                Process.Start("taskkill", "/F /IM [pcscm].exe");
            }
            //Funciona correcto
            Process px = Process.Start(EmulatorURL);
            //Process px = new Process();
            //try
            //{
            //    px.StartInfo = new ProcessStartInfo(EmulatorURL);
            //    px.StartInfo.CreateNoWindow = true;
            //    px.StartInfo.WindowStyle = ProcessWindowStyle.Minimized;
            //    px.Start();

            //} catch (Exception e)
            //{
            //    LogProceso(e.ToString());
            //}

            //Thread.Sleep(4000);
            int _i = 0;

            Id = 0;
            do
            {
                try
                {
                    pcscmProcesses = Process.GetProcessesByName("pcsws");
                    Id             = pcscmProcesses.ToList().Find(x => x.MainWindowTitle.Contains(Session)).Id;
                    _i             = 1;
                    if (IsShowWindow.Equals("SI"))
                    {
                        ShowWindow(Process.GetProcessById(Id).MainWindowHandle, 2);
                    }
                }
#pragma warning disable CS0168 // La variable 'e' se ha declarado pero nunca se usa
                catch (Exception e)
#pragma warning restore CS0168 // La variable 'e' se ha declarado pero nunca se usa
                {
                    //throw new Exception("No se inició correctamente la sesión B");
                    Thread.Sleep(1000);
                }
            } while (_i == 0);

            Boolean isOpenWS = false;
            string  validationPass;
            int     i = 0;
            do
            {
                try
                {
                    AutomationElement           _0 = AutomationElement.FromHandle(px.MainWindowHandle);
                    AutomationElementCollection _0_Descendants_1 = _0.FindAll(TreeScope.Descendants, new PropertyCondition(AutomationElement.NameProperty, "ID de usuario:"));
                    ValuePattern etb = _0_Descendants_1[1].GetCurrentPattern(ValuePattern.Pattern) as ValuePattern;
                    etb.SetValue(Username);

                    AutomationElementCollection _0_Descendants_2 = _0.FindAll(TreeScope.Descendants, new PropertyCondition(AutomationElement.NameProperty, "Contraseña:"));
                    ValuePattern etb2 = _0_Descendants_2[1].GetCurrentPattern(ValuePattern.Pattern) as ValuePattern;
                    etb2.SetValue(Password);

                    AutomationElementCollection _0_Descendants_3 = _0.FindAll(TreeScope.Descendants, new PropertyCondition(AutomationElement.NameProperty, "Aceptar"));

                    var invokePattern = _0_Descendants_3[0].GetCurrentPattern(InvokePattern.Pattern) as InvokePattern;
                    invokePattern.Invoke();
                }
#pragma warning disable CS0168 // La variable 'e' se ha declarado pero nunca se usa
                catch (Exception e)
#pragma warning restore CS0168 // La variable 'e' se ha declarado pero nunca se usa
                {
                }


                EhllapiWrapper.Connect(SessionId);
                EhllapiWrapper.Wait();
                EhllapiWrapper.SetCursorPos(GetWSPosition(6, 17));
                EhllapiWrapper.Wait();
                EhllapiWrapper.ReadScreen(GetWSPosition(6, 17), 7, out validationPass);
                EhllapiWrapper.Wait();
                try
                {
                    if (validationPass.Substring(0, 7) == "Usuario")
                    {
                        var ValidationMsg = "";

                        EhllapiWrapper.Wait();
                        EhllapiWrapper.Connect(SessionId);
                        EhllapiWrapper.Wait();
                        EhllapiWrapper.SetCursorPos(GetWSPosition(6, 53));
                        EhllapiWrapper.Wait();
                        EhllapiWrapper.SendStr(Username);
                        EhllapiWrapper.Wait();
                        EhllapiWrapper.SetCursorPos(GetWSPosition(7, 53));
                        EhllapiWrapper.Wait();
                        EhllapiWrapper.SendStr(Password);
                        EhllapiWrapper.Wait();
                        EhllapiWrapper.SendStr("@E");
                        EhllapiWrapper.Wait();
                        ValidationMsg = "";
                        EhllapiWrapper.SetCursorPos(GetWSPosition(1, 26));
                        EhllapiWrapper.Wait();
                        EhllapiWrapper.ReadScreen(GetWSPosition(1, 26), 31, out ValidationMsg);
                        EhllapiWrapper.Wait();
                        if (ValidationMsg.Substring(0, 31).Equals("Visualizar Mensajes de Programa"))
                        {
                            EhllapiWrapper.SendStr("@E");
                            EhllapiWrapper.Wait();
                            isOpenWS = true;
                        }
                        else
                        {
                            Console.Write("OK\n");
                            isOpenWS = true;
                        }
                        i = 1;
                    }
                }
#pragma warning disable CS0168 // La variable 'e' se ha declarado pero nunca se usa
                catch (Exception e)
#pragma warning restore CS0168 // La variable 'e' se ha declarado pero nunca se usa
                {
                }
            } while (i == 0);
            return(isOpenWS);
        }
コード例 #14
0
        public void PrestamoAutorizacion(string MFTemplateAprobacion)
        {
            Methods.LogProceso("Menú principal de IBS..");

            ehllapi.SendStr("@7");
            Methods.GetMenuProgram("12");

            FileInfo existingFile = new FileInfo(MFTemplateAprobacion);

            using (ExcelPackage package = new ExcelPackage(existingFile))
            {
                int    rowLoad = 0;
                string NroFinanciamiento = "", SiZeCustomer, TypeProduct = "";

                ExcelWorksheet worksheetAutoriza_load = package.Workbook.Worksheets[2];

                int rowCount = worksheetAutoriza_load.Dimension.End.Row;

                Methods.LogProceso("INICIA PROCESO DE DESCARGA DE FINANCIAMIENTOS" + "\n " + "con lecctura de excel.... " + TemplateLoad);

                string patron = @"[^\d+]";
                Regex  regex  = new Regex(patron);

                for (rowLoad = 2; rowLoad <= rowCount; rowLoad++)
                {
                    try
                    {
                        NroFinanciamiento = worksheetAutoriza_load.Cells["A" + rowLoad].Value == null ? "" : worksheetAutoriza_load.Cells["A" + rowLoad].Value.ToString().Trim();
                        NroFinanciamiento = regex.Replace(NroFinanciamiento, "");

                        if (NroFinanciamiento.Equals(""))
                        {
                            break;
                        }

                        SiZeCustomer = worksheetAutoriza_load.Cells["B" + rowLoad].Value == null ? "" : worksheetAutoriza_load.Cells["B" + rowLoad].Value.ToString().Trim();
                        TypeProduct  = worksheetAutoriza_load.Cells["C" + rowLoad].Value == null ? "" : worksheetAutoriza_load.Cells["C" + rowLoad].Value.ToString().Trim();

                        Console.WriteLine("+++++++++ NroFinanciamiento+++:: " + NroFinanciamiento);
                        Console.WriteLine("+++++++++ ZiseCustomer+++:: " + SiZeCustomer);
                        Console.WriteLine("+++++++++ TypeProduct+++:: " + TypeProduct);

                        ehllapi.SetCursorPos("9,51");
                        ehllapi.SendStr("@F");
                        ehllapi.SendStr(NroFinanciamiento.Trim());
                        //ehllapi.SendStr("@A@+");
                        //ehllapi.SendStr("@E");
                        //EhllapiWrapper.Wait();

                        ehllapi.SetCursorPos("15,51");
                        ehllapi.SendStr("@F");
                        ehllapi.SendStr("01");

                        // SubProducto
                        var emp = "";

                        ExcelManagament excel = new ExcelManagament();
                        config = excel.GetDataConfig(MFTemplateAprobacion);
                        config.ListConfigCatalog.ForEach(delegate(ByProduct pr)
                        {
                            if (SiZeCustomer.Equals(pr.SizeCustomerType.ToString().Trim()))
                            {
                                if (TypeProduct.Equals(EnumTipoProducto._FEXP))
                                {
                                    emp = pr.Product_Type_Fexp.ToString().Trim();
                                }
                                else if (TypeProduct.Equals(EnumTipoProducto._FIMP))
                                {
                                    emp = pr.Product_Type_Fimp.ToString().Trim();
                                }
                            }
                        });

                        if (!emp.Equals(""))
                        {
                            worksheetAutoriza_load.Cells["D" + rowLoad].Value = emp;

                            ehllapi.SetCursorPos("17,51");
                            ehllapi.SendStr("@F");
                            ehllapi.SendStr(emp);

                            ehllapi.SendStr("@E"); //
                            EhllapiWrapper.Wait();

                            worksheetAutoriza_load.Cells["E" + rowLoad].Value = "CARGADO";
                        }
                        else
                        {
                            worksheetAutoriza_load.Cells["E" + rowLoad].Value = "NO CARGADO_ " + "Código de Sub Producto incorrecto";
                        }

                        ehllapi.SendStr("@1"); // F1
                        EhllapiWrapper.Wait();

#if DEBUG
                        ehllapi.SendStr("@E"); // Intro
                        EhllapiWrapper.Wait();
#endif
                        ///**************
                        //      ehllapi.SendStr("@7"); // F7
                        //      EhllapiWrapper.Wait();
                        ///**************

                        NroFinanciamiento = ""; SiZeCustomer = ""; emp = "";

                        package.Save();
                    }
                    catch (Exception ex)
                    {
                        Methods.LogProceso("ERROR: " + ex.Message);
                    }
                }
            } // END for1
            Methods.LogProceso("FINALIZÓ EL PROCESO, presionar INTRO para salir...");
        }     // End Using
コード例 #15
0
        public void PrestamoExteriorLoad(string TemplateLoad, string Paswrord_2)
        {
#if DEBUG
            ehllapi.SendStr("@g");
            ehllapi.SetCursorPos("20,7");
            ehllapi.SendStr("GO MGCIA2");
            ehllapi.SendStr("@E");
#endif
            Methods.LogProceso("Menú principal de IBS..");
            Methods.GetMenuProgram("88");
            Methods.GetMenuProgram("4");
            Methods.GetMenuProgram("2");

            FileInfo existingFile = new FileInfo(TemplateLoad);

            using (ExcelPackage package = new ExcelPackage(existingFile))
            {
                int    rowLoad = 0;
                string NroFinanciamiento = "", NroContratoAdeudado = "", msgErrorAdeudado = "";

                ExcelWorksheet worksheet_load = package.Workbook.Worksheets[1];
                int            rowCount       = worksheet_load.Dimension.End.Row;

                Methods.LogProceso("INICIA PROCESO DE DESCARGA DE FINANCIAMIENTOS" + "\n " + "con lecctura de excel.... " + TemplateLoad);

                string patron = @"[^\d+]";
                Regex  regex  = new Regex(patron);

                for (rowLoad = 2; rowLoad <= rowCount; rowLoad++)
                {
                    try
                    {
                        NroFinanciamiento = worksheet_load.Cells["A" + rowLoad].Value == null ? "" : worksheet_load.Cells["A" + rowLoad].Value.ToString().Trim();
                        NroFinanciamiento = regex.Replace(NroFinanciamiento, "");

                        if (NroFinanciamiento.Equals(""))
                        {
                            break;
                        }

                        NroContratoAdeudado = worksheet_load.Cells["B" + rowLoad].Value == null ? "" : worksheet_load.Cells["B" + rowLoad].Value.ToString().Trim();
                        NroContratoAdeudado = regex.Replace(NroContratoAdeudado, "");

                        Console.WriteLine("+++++++++ NroFinanciamiento+++:: " + NroFinanciamiento);
                        Console.WriteLine("+++++++++ NroContratoAdeudado+++:: " + NroContratoAdeudado);

                        ehllapi.SetCursorPos("15,47");

#if DEBUG
                        //***** Para Desarrollo**************************************

                        var subProducto = "";
                        subProducto = ehllapi.ReadScreen("6,47", 4).Trim();

                        if (subProducto.Equals(""))
                        {
                            ehllapi.SetCursorPos("6,47");
                            ehllapi.SendStr("@a");
                            EhllapiWrapper.Wait();

                            ehllapi.SetCursorPos("12,25");
                            ehllapi.SendStr("FEXP");
                            for (int i = 0; i < 11; i++)
                            {
                                ehllapi.SendStr("@v");
                                EhllapiWrapper.Wait();
                            }

                            ehllapi.SetCursorPos("15,71");
                            ehllapi.SendStr("X");
                            ehllapi.SendStr("@E");
                            EhllapiWrapper.Wait();
                            //***********************************************************
                        }
#endif
                        ehllapi.SetCursorPos("15,47");
                        ehllapi.SendStr("@F");
                        ehllapi.SendStr(NroFinanciamiento.Trim());
                        ehllapi.SendStr("@A@+");
                        //ehllapi.SendStr("@E");
                        EhllapiWrapper.Wait();

                        ehllapi.SetCursorPos("17,47");
                        ehllapi.SendStr(Paswrord_2.Trim());
                        ehllapi.SendStr("@E");
                        EhllapiWrapper.Wait();

                        // Nro de Contrato Adeudado
                        ehllapi.SetCursorPos("20,68");
                        ehllapi.SendStr("@F");
                        ehllapi.SendStr(NroContratoAdeudado);

                        ehllapi.SendStr("@E"); // Intro
                        EhllapiWrapper.Wait();

                        msgErrorAdeudado = ehllapi.ReadScreen("5,7", 15).Trim();
                        if (msgErrorAdeudado.Trim().Equals("Dato no Valido"))
                        {
                            worksheet_load.Cells["C" + rowLoad].Value = "ERROR_" + msgErrorAdeudado.Trim();
                            ehllapi.SendStr("@E"); // Intro
                            EhllapiWrapper.Wait();
                        }
                        else
                        {
                            worksheet_load.Cells["C" + rowLoad].Value = "CARGADO";
                        }

                        ehllapi.SendStr("@1"); // F1
                        EhllapiWrapper.Wait();

                        //**************
                        //ehllapi.SendStr("@7"); // F7
                        //EhllapiWrapper.Wait();
                        //**************

#if DEBUG
                        // Esto se debe quitar es de prueba
                        ehllapi.SendStr("@1"); // F1
                        EhllapiWrapper.Wait();
#endif
                        ehllapi.SendStr("@6"); // F6
                        EhllapiWrapper.Wait();

                        ehllapi.SendStr("@3"); //F3
                        EhllapiWrapper.Wait();

                        NroFinanciamiento = ""; NroContratoAdeudado = ""; msgErrorAdeudado = "";
                        package.Save();
                    }
                    catch (Exception ex)
                    {
                        Methods.LogProceso("ERROR: " + ex.Message);
                    }
                }
            } // END for1

            Methods.LogProceso("FINALIZÓ 1ER PROCESO DE CARGA DE FINANCIAMIENTOS.");
            Methods.LogProceso("Presionar INTRO para continuar con 2do PROCESO...");
        } // End Using
コード例 #16
0
 private void Wait_Click(object sender, System.EventArgs e)
 {
     MessageBox.Show(EhllapiWrapper.Wait().ToString());
 }
コード例 #17
0
ファイル: BLMain.cs プロジェクト: tkMageztik/RPA
        public List <T> SetDataFromScreenList <T>(Func <string, int, T> formatMethod, int startYCoordenates,
                                                  int pageSize, int rowsByItem, Func <string, int, string> readData /*MyDelegateType<T> formatMethod, */)
        {
            //string temp = ehllapi.ReadScreen(startYCoordenates + ",1", ROW_LENGTH * rowsByItem);
            string temp = readData(startYCoordenates.ToString(), ROW_LENGTH * rowsByItem);

            EhllapiWrapper.Wait();

            List <T> rows   = new List <T>();
            int      iItems = 0;

            if (temp.Trim() != "")
            {
                var obj = formatMethod(temp, startYCoordenates);

                if (obj != null)
                {
                    rows.Add(obj);
                    iItems = rowsByItem;
                }
            }

            int i = rowsByItem;

            while (temp.Trim() != "")
            {
                if (i >= pageSize)
                {
                    ehllapi.SendStr("@v");

                    //TODO: si hay error en IBS ahí queda( deberíamos ver como obtener el valor de la x)
                    //temp = ehllapi.ReadScreen(startYCoordenates + ",1", ROW_LENGTH * rowsByItem);
                    temp = readData(startYCoordenates.ToString(), ROW_LENGTH * rowsByItem);
                    EhllapiWrapper.Wait();

                    Methods.LogProceso("last " + temp);
                    Methods.LogProceso("last2 " + rows[rows.Count - iItems / rowsByItem].ToString());


                    if (temp == rows[rows.Count - iItems / rowsByItem].ToString())
                    {
                        break;
                    }
                    else
                    {
                        var obj = formatMethod(temp, startYCoordenates);

                        if (obj != null)
                        {
                            rows.Add(obj);
                        }
                    }

                    i      = rowsByItem;
                    iItems = rowsByItem;
                }
                else
                {
                    //TODO: depende de donde inicia la lista
                    //temp = ehllapi.ReadScreen(startYCoordenates + i + ",1", ROW_LENGTH * rowsByItem);
                    temp = readData((startYCoordenates + i).ToString(), ROW_LENGTH * rowsByItem);
                    EhllapiWrapper.Wait();

                    if (temp.Trim() != "")
                    {
                        var obj = formatMethod(temp, (startYCoordenates + i));

                        if (obj != null)
                        {
                            rows.Add(obj);
                            iItems += rowsByItem;
                        }
                    }
                    i += rowsByItem;
                }
            }

            return(rows);
        }