public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute fetch_dadosAdministradora "); /// USER [ execute ] T_Empresa emp = new T_Empresa(this); // ## Busca empresa if (!emp.select_rows_empresa(input_st_empresa)) { PublishError("Empresa inválida"); return(false); } if (!emp.fetch()) { return(false); } // ## Obtem chave da empresa principal string fk_admin = emp.get_identity(); // ## Busca todas as empresas if (!emp.selectAll()) { PublishError("Nenhuma empresa cadastrada"); return(false); } // ## Dois grupos, um das empresas vinculadas // ## e outro de não vinculadas StringBuilder sb_in = new StringBuilder(); StringBuilder sb_out = new StringBuilder(); // ## Busca registros while (emp.fetch()) { // ## Empresa admin deve ser filtrada if (emp.get_identity() == fk_admin) { continue; } // ## Copia para memória DadosEmpresa de = new DadosEmpresa(); de.set_st_fantasia(emp.get_st_fantasia()); de.set_st_empresa(emp.get_st_empresa()); DataPortable port = de as DataPortable; // ## Caso link para admin bater com admin // ## esta empresa é vinculada if (emp.get_fk_admin() == fk_admin) { // ## obtem indexador sb_in.Append(MemorySave(ref port)); sb_in.Append(","); } else { // ## obtem indexador sb_out.Append(MemorySave(ref port)); sb_out.Append(","); } } // in { string list_ids = sb_in.ToString().TrimEnd(','); DataPortable dp = new DataPortable(); dp.setValue("ids", list_ids); // ## obtem indexador de grupo output_st_in_csv = MemorySave(ref dp); } // out { string list_ids = sb_out.ToString().TrimEnd(','); DataPortable dp = new DataPortable(); dp.setValue("ids", list_ids); // ## obtem indexador de grupo output_st_out_csv = MemorySave(ref dp); } /// USER [ execute ] END Registry("execute done fetch_dadosAdministradora "); return(true); }