Example #1
0
        protected void btnConsultar_Click(object sender, EventArgs e)
        {
            //Call ML35
            //if sucess
            //MultilinhasObjects.LM35_AssociacaoContasDO lst = TAT2.SearchML35(1, "2");
            ABUtil.ABCommandArgs abargs = Session["ABCommandArgs"] as ABUtil.ABCommandArgs;

            LM35_AssociacaoContasDO lm35 = new LM35_AssociacaoContasDO();

            Helper.CopyPropertiesTo(camposChave, lm35);

            MensagemOutput <LM35_AssociacaoContasDO> resp = bl.LM35Request(lm35, abargs, "V", true);

            if (resp != null && resp.ResultResult != null)
            {
                Helper.AddRemoveHidden(false, dpOK);
                Helper.AddRemoveHidden(false, accoesfinais_criarlm35);
                Helper.AddRemoveHidden(false, hr1);
                Helper.AddRemoveHidden(false, hr2);


                lvAssociados.DataSource = resp.ResultResult.Lista;
                lvAssociados.DataBind();
            }

            else
            {
                lberror.Text      = TAT2.GetMsgErroTATDescription(resp.erro.ToString(), abargs) ?? resp.erro.ToString();
                lberror.Visible   = true;
                lberror.ForeColor = System.Drawing.Color.Red;
            }
        }
Example #2
0
        protected void Session_Start(object sender, EventArgs e)
        {
            if (HttpContext.Current.Session != null && (HttpContext.Current.Session["SessionGUID"] == null || (Guid)Context.Session["SessionGUID"] == Guid.Empty))
            {
                string SessionGUID = System.Guid.NewGuid().ToString();
                Session["SessionGUID"] = SessionGUID;
            }
            // utilizador e terminal mudam com contexto
            Session["ABCommandArgs"] = null;
            ABUtil.ABCommandArgs abargs = SetUserInfo();
            Session["ABCommandArgs"] = abargs;

            MultilinhasDataLayer.WriteLog.Log(System.Diagnostics.TraceLevel.Verbose, LogTypeName.AppStart, "Session Start", abargs.USERNT, abargs.SN_HOSTNAME);
            MultilinhasDataLayer.WriteLog.Log(System.Diagnostics.TraceLevel.Verbose, LogTypeName.AppStart, "Current session:" + HttpContext.Current.Session["SessionGUID"], abargs.USERNT, abargs.SN_HOSTNAME);
            MultilinhasDataLayer.WriteLog.Log(System.Diagnostics.TraceLevel.Info, LogTypeName.AppStart, "Foram carregados os seguintes dados de utilizador:" +
                                              " T.AB_ADDRESS: " + abargs.AB_ADDRESS +
                                              "; T.SN_HOSTNAME: " + abargs.SN_HOSTNAME +
                                              "; T.FQDN_HOSTNAME: " + abargs.FQDN_HOSTNAME +
                                              "; T.HOSTIP: " + abargs.HOSTIP +
                                              "; T.PORT: " + abargs.PORT +
                                              "; T.AB_SESSION_ID: " + abargs.AB_SESSION_ID +
                                              "; T.CUTILIZA: " + abargs.CUTILIZA +
                                              "; T.CODBALCAO: " + abargs.CODBALCAO +
                                              "; T.CTERM: " + abargs.CTERM +
                                              "; T.CPERFIL: " + abargs.CPERFIL +
                                              "; T.USERNT: " + abargs.USERNT +
                                              "; T.DOMAIN: " + abargs.DOMAIN + ".",
                                              abargs.USERNT, abargs.SN_HOSTNAME);

            #region dataFechas
            //Set variavel global - data operacao
            dtfechasG = TAT2.DataOperacao_Fechas(abargs, abargs.CODBALCAO).Date;
            #endregion
        }
        protected void ddlSubProdCode_TextChanged(object sender, EventArgs e)
        {
            ABUtil.ABCommandArgs abargs = Session["ABCommandArgs"] as ABUtil.ABCommandArgs;
            string subprodutodesc       = TAT2.GetSubProdDescriptionByCode(txtProdutoml.Text, ddlSubprodutoml.SelectedValue, Global.ConnectionStringMaster, abargs);

            txtDescritivo.Text = subprodutodesc;
        }
Example #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                ABUtil.ABCommandArgs abargs = Session["ABCommandArgs"] as ABUtil.ABCommandArgs;
                MultilinhasDataLayer.WriteLog.Log(System.Diagnostics.TraceLevel.Info, LogTypeName.PageLoad, this.Page.AppRelativeVirtualPath, abargs.USERNT, abargs.SN_HOSTNAME);

                //Bind DDls
                ddlFamiliaProduto.DataSource = ArvoreFamiliaProdutos.SearchFamiliaProduto(ddlTipologiaRisco.SelectedValue).Select(x => x.familiaProduto).Distinct();
                ddlFamiliaProduto.DataBind();
                ddlFamiliaProduto.Items.Insert(0, new ListItem("TODOS", ""));

                //Show hide fields
                string op = Request.QueryString["OP"] ?? "FF";
                switch (op.ToUpper())
                {
                case "M":
                    break;

                case "C":
                    break;

                case "V":
                    Helper.AddRemoveHidden(true, dvLimites);
                    break;

                default:
                    lberror.Text    = "Página sem contexto. Execute a transação na Aplicação Bancária";
                    lberror.Visible = true;
                    break;
                }
            }
        }
        protected void btnSearchCont_Click(object sender, EventArgs e)
        {
            LM32_PedidosContratoML LM32 = new LM32_PedidosContratoML();

            Helper.CopyPropertiesTo(camposChave, LM32);

            //Call LM32
            ABUtil.ABCommandArgs abargs = Session["ABCommandArgs"] as ABUtil.ABCommandArgs;
            MensagemOutput <LM32_PedidosContratoML> response = bl.LM32Request(LM32, abargs, "V", true);

            userAb = abargs.CUTILIZA;

            if (response != null && response.ResultResult != null &&
                response.ResultResult.PedidosAprovacao != null &&
                response.ResultResult.PedidosAprovacao.Count > 0)
            {
                if (response.ResultResult.PedidosAprovacao[0].idmultilinha != null)
                {
                    lvhConsultaAprovacoes.DataSource = response.ResultResult.PedidosAprovacao;
                    Helper.AddRemoveHidden(false, dvAcoes_V);
                }
            }
            if (response == null || response.ResultResult == null || response.erro != 0)
            {
                lberror.Text      = TAT2.GetMsgErroTATDescription(response.erro.ToString(), abargs);
                lberror.Visible   = true;
                lberror.ForeColor = System.Drawing.Color.Red;
            }

            lvhConsultaAprovacoes.DataBind();
            //dp retirar - teste
            //lvhConsultaAprovacoes.DataSource = TAT2.SearchLM32().PedidosAprovacao;
            //lvhConsultaAprovacoes.DataBind();
            //Helper.AddRemoveHidden(false, dvAcoes_V);
        }
        protected void btnRejeitarPedido_Click(object sender, EventArgs e)
        {
            //Call LM32 - Rejeitar
            LM32_PedidosContratoML LM32 = new LM32_PedidosContratoML();

            Helper.CopyPropertiesTo(camposChave, LM32);
            LM32.btnReject = true;

            //Call LM32
            ABUtil.ABCommandArgs abargs = Session["ABCommandArgs"] as ABUtil.ABCommandArgs;
            MensagemOutput <LM32_PedidosContratoML> response = bl.LM32Request(LM32, abargs, "M", false);

            if (response != null && response.ResultResult != null)
            {
                lberror.Text      = Constantes.Mensagens.LM32PedidoRejeitado;
                lberror.Visible   = true;
                lberror.ForeColor = System.Drawing.Color.Green;
            }
            if (response == null || response.ResultResult == null || response.erro != 0)
            {
                lberror.Text      = TAT2.GetMsgErroTATDescription(response.erro.ToString(), abargs);
                lberror.Visible   = true;
                lberror.ForeColor = System.Drawing.Color.Red;
            }
        }
Example #7
0
        public string GetMsgErroTATDescription(string msg, ABUtil.ABCommandArgs Abargs)
        {
            string outmsg = msg;

            try
            {
                WriteLog.Log(System.Diagnostics.TraceLevel.Info, LogTypeName.Internal, "GetMsgErroTATDescription", Abargs.USERNT, Abargs.SN_HOSTNAME);
                WriteLog.Log(System.Diagnostics.TraceLevel.Info, LogTypeName.Internal, msg, Abargs.USERNT, Abargs.SN_HOSTNAME);

                //Tabela de codigos de mensagem
                DataTable CodMsgs = GetCodMensagens(Abargs);

                if (CodMsgs != null && CodMsgs.Rows.Count > 0)
                {
                    //Encontra rows com descrição do codigo de erro
                    DataRow[] drs = CodMsgs.Select("CELEMTAB2 = '" + msg.PadLeft(3, '0') + "'");
                    if (drs.Count() > 0)
                    {
                        //Select first or default
                        outmsg = drs[0][1].ToString();
                    }
                }
            }
            catch (Exception ex)
            {
                WriteLog.Log(System.Diagnostics.TraceLevel.Error, LogTypeName.TAT2Request, ex, Abargs.USERNT, Abargs.SN_HOSTNAME);
            }

            return(outmsg);
        }
Example #8
0
        public MensagemOutput <List <string> > CL55Request(int nCliente, ABUtil.ABCommandArgs abargs)
        {
            MensagemOutput <List <string> > msgOut = new MensagemOutput <List <string> >();

            MultilinhasDataLayer.BCDWSProxy.CL55Transaction response = dl.CL55Request(abargs, nCliente, "V", "1", "1");

            msgOut.erro     = response.Erro != null ? response.Erro.CodigoErro : 999;
            msgOut.mensagem = response.Erro != null ? response.Erro.MensagemErro : "";

            List <string> lst = new List <string>();

            if (response.Row1 != null)
            {
                foreach (var a in response.Row1)
                {
                    if (a.ctitular_l.Equals("1") && a.ztitular_l.Equals("00")) //1 titular e 1 interveniente
                    {
                        string nConta = string.Format("{0}-{1}{2}{3}", a.cbalcao_l, a.cproduto_l, a.cnumecta_l, a.cdigicta_l);
                        lst.Add(nConta);
                    }
                }
            }

            msgOut.ResultResult = lst;
            return(msgOut);
        }
        protected void btnEdit_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                int nprodutoml;
                Int32.TryParse(txtNumeroMinimoProdutos.Text, out nprodutoml);
                if (validaNProdutosCredito(nprodutoml))
                {
                    LM31_CatalogoProdutoML lm31 = new LM31_CatalogoProdutoML();
                    Helper.CopyPropertiesTo(this, lm31);

                    getprodutostoLM31(lm31);
                    //Chamar ML01 - M
                    ABUtil.ABCommandArgs abargs = Session["ABCommandArgs"] as ABUtil.ABCommandArgs;
                    MensagemOutput <LM31_CatalogoProdutoML> response = bl.LM31Request(lm31, abargs, "M", false);

                    if (response.ResultResult != null && response.ResultResult.ProductCode != null)
                    {
                        lberror.Text      = Constantes.Mensagens.LM31CatalogoModificado;
                        lberror.Visible   = true;
                        lberror.ForeColor = System.Drawing.Color.Green;

                        txtEstado.Text = ML_Objectos.GetEstadosDoCatalogo().FirstOrDefault(x => x.Code == response.ResultResult.Estado).Description;
                        Helper.SetEnableControler(this, false);
                    }
                    else
                    {
                        lberror.Text      = TAT2.GetMsgErroTATDescription(response.erro.ToString(), abargs) == "" ? response.erro.ToString() : TAT2.GetMsgErroTATDescription(response.erro.ToString(), abargs);
                        lberror.Visible   = true;
                        lberror.ForeColor = System.Drawing.Color.Red;
                    }
                }
            }
        }
Example #10
0
        internal static bool SelectLogonUser(ABUtil.ABCommandArgs AbArgs)
        {
            BCDWSProxy.SelectLogonRequest  selectLogon = new BCDWSProxy.SelectLogonRequest();
            BCDWSProxy.SelectLogonResponse response    = new BCDWSProxy.SelectLogonResponse();
            string selectLogonResult = "";
            bool   bLogonOK          = false;

            selectLogon.BarclaysBankAccountSettings = new BCDWSProxy.BarclaysBankAccountSettings();
            selectLogon.BarclaysBankAccountSettings.ApplicationID = ConfigurationManager.AppSettings["ApplicationID"];
            selectLogon.BarclaysBankAccountSettings.UserRequester = AbArgs.USERNT;
            selectLogon.BarclaysBankAccountSettings.ClientName    = AbArgs.SN_HOSTNAME;

            BCDWSProxy.BarclaysBTSSoapClient client = new BCDWSProxy.BarclaysBTSSoapClient();
            try
            {
                selectLogonResult          = client.SelectLogon(selectLogon.BarclaysBankAccountSettings, AbArgs.CUTILIZA, 0);
                response.SelectLogonResult = selectLogonResult;

                string sresponse  = response.SerializeToString();
                string _sresponse = sresponse.Replace("'1'", "1");

                bLogonOK = response.SelectLogonResult.Contains("status=\"0\"");

                WriteLog.Log(System.Diagnostics.TraceLevel.Verbose, MultilinhasObjects.LogTypeName.WsSoapResponse, _sresponse, AbArgs.USERNT, AbArgs.SN_HOSTNAME);
            }
            catch (Exception ex)
            {
                WriteLog.Log(System.Diagnostics.TraceLevel.Error, MultilinhasObjects.LogTypeName.WsSoapRequest, ex, AbArgs.USERNT, AbArgs.SN_HOSTNAME);
                response = null;
            }

            return(bLogonOK);
        }
        protected void btnSearchCont_Click(object sender, EventArgs e)
        {
            LM38_HistoricoAlteracoes LM38 = new LM38_HistoricoAlteracoes();

            Helper.CopyPropertiesTo(camposChaveHis, LM38);

            //For debug
            //List<LM38_HistoricoAlteracoes.historicoAlteracoes> lst = TAT2.SearchLM38(0001004, "310098766781").HistoricoAlteracoes;

            //Call LM38
            ABUtil.ABCommandArgs abargs = Session["ABCommandArgs"] as ABUtil.ABCommandArgs;
            MensagemOutput <LM38_HistoricoAlteracoes> response = bl.LM38Request(LM38, abargs, "V", true);

            if (response != null && response.ResultResult != null &&
                response.ResultResult.HistoricoAlteracoes != null &&
                response.ResultResult.HistoricoAlteracoes.Count > 0)
            {
                lvhistoricoAlteracoes.DataSource = response.ResultResult.HistoricoAlteracoes;

                Helper.AddRemoveHidden(false, divBtnConsultar);
                Helper.AddRemoveHidden(false, hr2);
            }
            if (response == null || response.ResultResult == null || response.erro != 0)
            {
                lberror.Text      = TAT2.GetMsgErroTATDescription(response.erro.ToString(), abargs);
                lberror.Visible   = true;
                lberror.ForeColor = System.Drawing.Color.Red;
            }
            lvhistoricoAlteracoes.DataBind();
        }
Example #12
0
        protected void Page_Load(object sender, EventArgs e)
        {
            ABUtil.ABCommandArgs abargs     = Session["ABCommandArgs"] as ABUtil.ABCommandArgs;
            DataTable            dtProdutos = TAT2.GetProdutos(Global.ConnectionStringDTAB, abargs);



            if (!Page.IsPostBack)
            {
                string op = Request.QueryString["OP"];
                switch (op)
                {
                case "M":
                    Helper.AddRemoveHidden(false, btnEdit);
                    break;

                case "C":
                    Helper.AddRemoveHidden(false, btnCreate);
                    break;

                case "A":
                    Helper.AddRemoveHidden(false, btnCancel);
                    break;

                default:
                    lberror.Text    = "Página sem contexto. Execute a transação na Aplicação Bancária";
                    lberror.Visible = true;
                    break;
                }

                #region arvore de produto de risco

                makeTreeView(dtProdutos, "NELEMC01", "NELEMC02", "GELEM30", trtipologiaProdutosRFTree);

                makeTreeView(dtProdutos, "NELEMC01", "NELEMC02", "GELEM30", Constantes.tipologiaRisco.RA, trtipologiaProdutosRATree);

                makeTreeView(dtProdutos, "NELEMC01", "NELEMC02", "GELEM30", Constantes.tipologiaRisco.RC, trtipologiaProdutosRCTree);

                trtipologiaProdutosRFTree.ShowExpandCollapse = true;
                trtipologiaProdutosRFTree.ShowLines          = true;
                trtipologiaProdutosRFTree.CollapseAll();
                trtipologiaProdutosRFTree.NodeWrap = true;

                trtipologiaProdutosRCTree.ShowExpandCollapse = true;
                trtipologiaProdutosRCTree.ShowLines          = true;
                trtipologiaProdutosRCTree.CollapseAll();
                trtipologiaProdutosRCTree.NodeWrap = true;

                trtipologiaProdutosRATree.ShowExpandCollapse = true;
                trtipologiaProdutosRATree.ShowLines          = true;
                trtipologiaProdutosRATree.CollapseAll();
                trtipologiaProdutosRATree.NodeWrap = true;

                #endregion

                txtProductCode.Focus();
            }
        }
Example #13
0
        protected void lkpaginaseguinte_Click(object sender, EventArgs e)
        {
            lberror.Text = "";

            ABUtil.ABCommandArgs abargs = Session["ABCommandArgs"] as ABUtil.ABCommandArgs;

            WriteLog.Log(System.Diagnostics.TraceLevel.Info, LogTypeName.EventoClick, "LM36 - lkpaginaseguinte_Click", abargs.USERNT, abargs.SN_HOSTNAME);

            LM36_ContratosProduto.ContratosProduto ultimoDD = ViewState["UltimoCT"] as LM36_ContratosProduto.ContratosProduto;

            LM36_ContratosProduto ct = new LM36_ContratosProduto();

            Helper.CopyPropertiesTo(camposChave, ct);

            string mode = ViewState["OP"] as string;
            MensagemOutput <LM36_ContratosProduto> lst = bl.LM36Request(ct, ultimoDD, abargs, "V", false);

            WriteLog.Log(System.Diagnostics.TraceLevel.Info, LogTypeName.Internal, "MC03", abargs.USERNT, abargs.SN_HOSTNAME);

            //Insucesso
            if (lst == null || (lst.ResultResult == null && lst.erro != 0))
            {
                lberror.Text = TAT2.GetMsgErroTATDescription(lst.erro.ToString(), abargs);
                if (string.IsNullOrEmpty(lberror.Text) || lberror.Text.Length < 5)
                {
                    lberror.Text = lst.mensagem;
                }
                lberror.Visible   = true;
                lberror.ForeColor = System.Drawing.Color.Red;
            }
            //Sucesso
            else
            {
                if (lst.ResultResult != null)
                {
                    lvConsultaProdutos.DataSource = lst.ResultResult.ContratosProdutos;
                    Dictionary <int, LM36_ContratosProduto.ContratosProduto> dic = new Dictionary <int, LM36_ContratosProduto.ContratosProduto>();
                    dic = ViewState["PaginasCTS"] as Dictionary <int, LM36_ContratosProduto.ContratosProduto>;

                    Helper.AddPageFirstItem(dic, lst.ResultResult.ContratosProdutos.First());
                    ViewState["PaginasCTS"] = dic;
                }

                //Para paginacao
                if (lst.ResultResult != null && lst.ResultResult.ContratosProdutos.Count() > 10)
                {
                    ViewState["PaginasCTS"]  = lst.ResultResult.ContratosProdutos.Last();
                    lkpaginaseguinte.Visible = true;
                }
                else
                {
                    lkpaginaseguinte.Visible = false;
                }
                lkpaginaanterior.Visible = true;
                lvConsultaProdutos.DataBind();
            }
        }
Example #14
0
        /// <summary>
        /// Lê os valores em querystring e coloca-os numa variavel de sessão
        /// </summary>
        /// <returns></returns>
        private ABUtil.ABCommandArgs SetUserInfo()
        {
            ABUtil.ABCommandArgs AbArgs = new ABUtil.ABCommandArgs();

            try
            {
                HttpRequest request = HttpContext.Current.Request;

                if (request.QueryString["cCodUtilza"] != null)
                {
                    // usar IP - QueryString["hostip"]
                    AbArgs.AB_ADDRESS = request.QueryString["hostip"];
                    AbArgs.HOSTNAME   = request.QueryString["host"];
                    AbArgs.HOSTIP     = request.QueryString["hostip"];
                    // se "hostip" nao esta definido reverter para "host"
                    if (string.IsNullOrEmpty(AbArgs.AB_ADDRESS))
                    {
                        AbArgs.AB_ADDRESS = AbArgs.HOSTNAME;
                    }
                    AbArgs.FQDN_HOSTNAME = request.QueryString["host"];
                    //para ir buscar o short name do terminal
                    AbArgs.SN_HOSTNAME = AbArgs.FQDN_HOSTNAME != null?AbArgs.FQDN_HOSTNAME.Split('.')[0] : "";

                    AbArgs.CPERFIL = request.QueryString["perfil"] == null ? "" : request.QueryString["perfil"];

                    #region User and domain to be used on cross network Blue Zone / Orange Zone
                    bool blnUserDomainQS = false;
                    blnUserDomainQS = request.QueryString["user"] != null & request.QueryString["domain"] != null;

                    if (blnUserDomainQS)
                    {
                        AbArgs.USERNT = request.QueryString["user"] == null ? "" : request.QueryString["user"];
                        AbArgs.DOMAIN = request.QueryString["domain"] == null ? "" : request.QueryString["domain"];

                        string[] asDomain = AbArgs.DOMAIN.Split(".".ToCharArray());
                        AbArgs.DOMAIN = asDomain[0];
                    }
                    #endregion User and domain to be used on cross network Blue Zone / Orange Zone

                    AbArgs.PORT          = request.QueryString["port"] == null ? 0 : int.Parse(request.QueryString["port"]);
                    AbArgs.CODBALCAO     = request.QueryString["cBalcao"];
                    AbArgs.CUTILIZA      = request.QueryString["cCodUtilza"];
                    AbArgs.AB_SESSION_ID = request.QueryString["ABSessionId"];
                    AbArgs.CTERM         = request.QueryString["cTerminal"];
                    AbArgs.ZCLIENTE      = request.QueryString["cCliente"];

                    MultilinhasDataLayer.WriteLog.Log(System.Diagnostics.TraceLevel.Info, LogTypeName.AppStart, "Global.asax QueryString And ReadQueryString Input: " + HttpContext.Current.Request.QueryString, AbArgs.USERNT, AbArgs.SN_HOSTNAME);
                }
            }

            catch (Exception ex)
            {
                MultilinhasDataLayer.WriteLog.Log(System.Diagnostics.TraceLevel.Error, LogTypeName.AppStart, ex.Message, AbArgs.USERNT, AbArgs.SN_HOSTNAME);
            }

            return(AbArgs);
        }
Example #15
0
        public BCDWSProxy.LM35Transaction LM35Request(ABUtil.ABCommandArgs AbArgs, LM35_AssociacaoContasDO _LM35, string accao, bool pedido)
        {
            BCDWSProxy.LM35Transaction response = new BCDWSProxy.LM35Transaction();

            LM35.BarclaysBankAccountSettings = new BCDWSProxy.BarclaysBankAccountSettings();
            LM35.BarclaysBankAccountSettings.ApplicationID = ConfigurationManager.AppSettings["ApplicationID"];
            LM35.BarclaysBankAccountSettings.UserRequester = AbArgs.USERNT;
            LM35.BarclaysBankAccountSettings.ClientName    = AbArgs.SN_HOSTNAME;

            LM35.input              = new BCDWSProxy.LM35Input();
            LM35.input.caccao       = accao;
            LM35.input.pedido_dados = pedido;

            //LM35.input.cbalcao =
            LM35.input.cbalcaoml  = string.IsNullOrEmpty(_LM35.idmultilinha) ? "" : _LM35.idmultilinha.ToString().Substring(0, 3);
            LM35.input.cprodutoml = string.IsNullOrEmpty(_LM35.idmultilinha) ? "" : _LM35.idmultilinha.ToString().Substring(3, 3);
            LM35.input.cnumectaml = string.IsNullOrEmpty(_LM35.idmultilinha) ? "" : _LM35.idmultilinha.ToString().Substring(5, 6);
            LM35.input.cdigictaml = string.IsNullOrEmpty(_LM35.idmultilinha) ? "" : _LM35.idmultilinha.ToString().Substring(11, 1);

            LM35.input.cbalcao  = string.IsNullOrEmpty(_LM35.ncontado) ? "" : _LM35.ncontado.ToString().Substring(0, 3);
            LM35.input.cproduto = string.IsNullOrEmpty(_LM35.ncontado) ? "" : _LM35.ncontado.ToString().Substring(3, 3);
            LM35.input.cnumecta = string.IsNullOrEmpty(_LM35.ncontado) ? "" : _LM35.ncontado.ToString().Substring(5, 6);
            LM35.input.cdigicta = string.IsNullOrEmpty(_LM35.ncontado) ? "" : _LM35.ncontado.ToString().Substring(11, 1);

            //LM35.input.cproduto = _LM35.c
            LM35.input.zcliente = _LM35.Cliente.ToString();
            LM35.input.gnome    = _LM35.Nome;
            LM35.input.zsequen  = _LM35.zSeq;


            BCDWSProxy.BarclaysBTSSoapClient client = new BCDWSProxy.BarclaysBTSSoapClient();
            bool bRetry = false;

            atempt = 0;
            do
            {
                try
                {
                    WriteLog.Log(System.Diagnostics.TraceLevel.Verbose, MultilinhasObjects.LogTypeName.WsSoapRequest, LM35.input.SerializeToString(), AbArgs.USERNT, AbArgs.SN_HOSTNAME);

                    response = client.LM35CONTASDOML(LM35.BarclaysBankAccountSettings, LM35.input);
                    string sresponse = response.SerializeToString();

                    WriteLog.Log(System.Diagnostics.TraceLevel.Error, LogTypeName.WsSoapRequest, sresponse, AbArgs.USERNT, AbArgs.SN_HOSTNAME);
                    atempt++;
                }
                catch (Exception ex)
                {
                    WriteLog.Log(System.Diagnostics.TraceLevel.Verbose, LogTypeName.WsSoapResponse, ex, AbArgs.USERNT, AbArgs.SN_HOSTNAME);
                    response.Erro = new BCDWSProxy.TransactionError();
                    response.Erro.MensagemErro = tratamentoExcepcoes(ex, AbArgs, out bRetry);
                }
            } while (bRetry && atempt <= 1);

            return(response);
        }
Example #16
0
        public BCDWSProxy.LM32Transaction LM32Request(ABUtil.ABCommandArgs AbArgs, LM32_PedidosContratoML _lm32, string accao, bool pedido)
        {
            BCDWSProxy.LM32Transaction response = new BCDWSProxy.LM32Transaction();

            LM32.BarclaysBankAccountSettings = new BCDWSProxy.BarclaysBankAccountSettings();
            LM32.BarclaysBankAccountSettings.ApplicationID = ConfigurationManager.AppSettings["ApplicationID"];
            LM32.BarclaysBankAccountSettings.UserRequester = AbArgs.USERNT;
            LM32.BarclaysBankAccountSettings.ClientName    = AbArgs.SN_HOSTNAME;

            LM32.input                  = new BCDWSProxy.LM32Input();
            LM32.input.btn_accept       = _lm32.btnAccept ? "S" : "N";
            LM32.input.btn_reject       = _lm32.btnReject ? "S" : "N";
            LM32.input.caccao           = accao;
            LM32.input.cbalcao          = _lm32.nBalcao.ToString();
            LM32.input.cbalcao_cidctrml = _lm32.txtidmultilinha_balcao;
            LM32.input.cdigictaml       = _lm32.idmultilinha.Length > 10 ? _lm32.idmultilinha.ToString().Substring(8, 1) : "";
            LM32.input.cnumectaml       = _lm32.idmultilinha.Length > 10 ? _lm32.idmultilinha.ToString().Substring(2, 6) : "";
            LM32.input.cprodutoml       = _lm32.idmultilinha.Length > 10 ? _lm32.idmultilinha.ToString().Substring(0, 2) : "";
            LM32.input.cprodml          = _lm32.ProductCode;
            LM32.input.csubprodml       = _lm32.SubProdutoCode;
            LM32.input.gbalcao          = _lm32.gBalcao;
            LM32.input.gcliente         = _lm32.Nome;
            LM32.input.gdescml          = _lm32.SubProductDescription;
            LM32.input.pedido_dados     = pedido;
            LM32.input.tppedido         = _lm32.TipoPedido;
            LM32.input.zcliente         = _lm32.Cliente.ToString();


            BCDWSProxy.BarclaysBTSSoapClient client = new BCDWSProxy.BarclaysBTSSoapClient();
            bool bRetry = false;

            atempt = 0;
            do
            {
                try
                {
                    WriteLog.Log(System.Diagnostics.TraceLevel.Verbose, MultilinhasObjects.LogTypeName.WsSoapRequest, LM32.input.SerializeToString(), AbArgs.USERNT, AbArgs.SN_HOSTNAME);

                    response = client.LM32APROVACOESML(LM32.BarclaysBankAccountSettings, LM32.input);
                    string sresponse = response.SerializeToString();

                    WriteLog.Log(System.Diagnostics.TraceLevel.Error, LogTypeName.WsSoapRequest, sresponse, AbArgs.USERNT, AbArgs.SN_HOSTNAME);
                    atempt++;
                }
                catch (Exception ex)
                {
                    WriteLog.Log(System.Diagnostics.TraceLevel.Verbose, LogTypeName.WsSoapResponse, ex, AbArgs.USERNT, AbArgs.SN_HOSTNAME);
                    response.Erro = new BCDWSProxy.TransactionError();
                    response.Erro.MensagemErro = tratamentoExcepcoes(ex, AbArgs, out bRetry);
                }
            } while (bRetry && atempt <= 1);


            return(response);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                ABUtil.ABCommandArgs abargs = Session["ABCommandArgs"] as ABUtil.ABCommandArgs;
                MultilinhasDataLayer.WriteLog.Log(System.Diagnostics.TraceLevel.Info, LogTypeName.PageLoad, this.Page.AppRelativeVirtualPath, abargs.USERNT, abargs.SN_HOSTNAME);
                userAb = abargs.CUTILIZA;

                string op = Helper.getTransactionMode(Context, Request);
                Helper.AddRemoveHidden(true, dvAcoes_V);
                Helper.AddRemoveHidden(true, dvAcoes_M);

                switch (op.ToUpper())
                {
                case "V":
                    //dropdownlists
                    ddlTipoPedido.DataSource = ML_Objectos.GetTiposPedidoML();
                    ddlTipoPedido.DataBind();

                    //navigation
                    Helper.AddRemoveActive(true, liPedidosAprovacao);
                    lblTransaction.CssClass = lblTransaction.CssClass.Replace("atab", "atabD");

                    Helper.AddRemoveHidden(true, dvproduto);

                    break;

                case "M":

                    Helper.SetEnableControler(camposChave, false);
                    Helper.AddRemoveHidden(false, dvproduto);
                    Helper.AddRemoveHidden(false, dvAcoes_M);
                    Helper.AddRemoveHidden(true, dvAcoes_V);
                    Helper.AddRemoveHidden(true, dvTipoPedido);
                    btnAprovarPedido.Enabled  = true;
                    btnRejeitarPedido.Enabled = true;
                    btnSearch.Visible         = false;

                    //navigation
                    Helper.AddRemoveActive(true, liAprovacaoPedido);
                    lblTransactionAp.CssClass = lblTransactionAp.CssClass.Replace("atab", "atabD");

                    //Contexto Modificação - Proveniente da Aprovação LM35
                    LM35_AssociacaoContasDO LM35 = Context.Items["HAprovacao"] as LM35_AssociacaoContasDO;
                    if (LM35 != null && LM35.Cliente != 0)
                    {
                        ViewState["HPedido"] = LM35;
                        Helper.CopyObjectToControls(camposChave, LM35);
                    }

                    break;
                }
            }
        }
        protected void btnCriar_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                //Validações
                //1º: Verificar que o nº minimo de produtos está selecionado
                int nMinimoProdutosAtivar;
                Int32.TryParse(txtNumeroMinimoProdutos.Text, out nMinimoProdutosAtivar);
                bool val = validacaoCP(nMinimoProdutosAtivar);
                if (!val)
                {
                    ClientScript.RegisterStartupScript(this.GetType(), "scroll", "ToTopOfPage();", true);
                    return;
                }

                //2º Verificar Valor Sublimites
                bool val1 = validacaoSublimitesRisco();
                if (!val1)
                {
                    ClientScript.RegisterStartupScript(this.GetType(), "scroll", "ToTopOfPage();", true);
                    return;
                }

                bool val2 = true; //validacaoDtProximaCobrabca();
                if (val && val1 && val2)
                {
                    //Call LM33 - C
                    LM33_ContratoML _LM33 = new LM33_ContratoML();
                    Helper.CopyPropertiesTo(MC33C, _LM33);

                    getSublimites(_LM33);

                    ABUtil.ABCommandArgs             abargs   = Session["ABCommandArgs"] as ABUtil.ABCommandArgs;
                    MensagemOutput <LM33_ContratoML> response = bl.LM33Request(_LM33, abargs, "C", "", false);

                    if (response.ResultResult != null && response.ResultResult.Cliente != null)
                    {
                        lberror.Text      = Constantes.Mensagens.LM33ContratoCriado;
                        lberror.Visible   = true;
                        lberror.ForeColor = System.Drawing.Color.Green;
                    }
                    else
                    {
                        lberror.Text      = TAT2.GetMsgErroTATDescription(response.mensagem, abargs);
                        lberror.Visible   = true;
                        lberror.ForeColor = System.Drawing.Color.Red;
                    }

                    ClientScript.RegisterStartupScript(this.GetType(), "scroll", "ToTopOfPage();", true);
                    Helper.SetEnableControler(this, false);
                    btnSeguinte.Enabled = true;
                }
            }
        }
        protected void txtproduto_TextChanged(object sender, EventArgs e)
        {
            ABUtil.ABCommandArgs abargs         = Session["ABCommandArgs"] as ABUtil.ABCommandArgs;
            List <string>        lstsubprodutos = TAT2.GetSubProdByProdCode(txtProdutoml.Text, Global.ConnectionStringMaster, abargs);


            ddlSubprodutoml.DataSource = lstsubprodutos;
            ddlSubprodutoml.DataBind();

            ddlSubprodutoml.Enabled = true;
            ddlSubProdCode_TextChanged(sender, e);
        }
Example #20
0
        public DataTable GetCodMensagens(ABUtil.ABCommandArgs AbArgs)
        {
            try
            {
                DataTable CodMsgs = cache["CodigosMensagens"] as DataTable;

                WriteLog.Log(System.Diagnostics.TraceLevel.Info, LogTypeName.TAT2Request, "CodigosMensagens LM  - SYT05L", AbArgs.USERNT, AbArgs.SN_HOSTNAME);


                if (CodMsgs == null)
                {
                    //Vai lêr à tabela

                    OdbcConnection connection = new OdbcConnection(ConfigurationManager.ConnectionStrings["MASTERDB2LOCAL"].ConnectionString);
                    DataSet        ds         = new DataSet();

                    try
                    {
                        OdbcDataAdapter ad = new OdbcDataAdapter("SELECT CELEMTAB2, NELEMC01 FROM SYT05L WHERE CELEMTAB1 = 'LM' AND CELEMTAB3 = 'PO'", connection); //Tabela sistema SYT05
                        ad.Fill(ds);
                    }
                    finally
                    {
                        connection.Close();
                    }

                    WriteLog.Log(System.Diagnostics.TraceLevel.Verbose, LogTypeName.TAT2Request, "Setting cache for [CodigosMensagens]", AbArgs.USERNT, AbArgs.SN_HOSTNAME);

                    //Set Cache
                    CacheItemPolicy policy = new CacheItemPolicy();
                    policy.AbsoluteExpiration = DateTimeOffset.Now.AddDays(1);
                    cache.Set("CodigosMensagens", ds.Tables[0], policy);

                    WriteLog.Log(System.Diagnostics.TraceLevel.Verbose, LogTypeName.TAT2Request, "Retun value count: " + ds.Tables[0].Rows.Count, AbArgs.USERNT, AbArgs.SN_HOSTNAME);

                    return(ds.Tables[0]);
                }
                //Devolver valor em cache
                else
                {
                    WriteLog.Log(System.Diagnostics.TraceLevel.Verbose, LogTypeName.TAT2Request, "Cache found for [CodigosMensagens] : " + CodMsgs.Rows.Count, AbArgs.USERNT, AbArgs.SN_HOSTNAME);

                    return(CodMsgs);
                }
            }
            catch (Exception ex)
            {
                WriteLog.Log(System.Diagnostics.TraceLevel.Error, LogTypeName.TAT2Request, ex, AbArgs.USERNT, AbArgs.SN_HOSTNAME);
                DataTable dt = new DataTable();

                return(dt);
            }
        }
Example #21
0
        //ENQUANTO NAO SAO INSERIDAS NA SYT05
        public static string tratamentoExcepcoes(Exception ex, ABUtil.ABCommandArgs AbArgs, out bool bRetry)
        {
            string mensagem = "";

            bRetry = false;
            try
            {
                System.ServiceModel.FaultCode fault = ex.GetType().GetProperty("Code").GetValue(ex, null) as System.ServiceModel.FaultCode;

                switch (fault.Name)
                {
                case "0002":
                    mensagem = MultilinhasObjects.Constantes.Mensagens.UtilizadorSessaoInvalida;
                    if (!bRetry)
                    {
                        bRetry = SelectLogonUser(AbArgs);
                    }
                    break;

                case "0066":
                    mensagem = MultilinhasObjects.Constantes.Mensagens.BalcaoInativo;
                    break;

                case "0012":
                    mensagem = MultilinhasObjects.Constantes.Mensagens.UserRequesterInvalido;
                    break;

                case "0025":
                    mensagem = MultilinhasObjects.Constantes.Mensagens.UtilizadorSemAcesso;
                    break;

                case "9999":
                    if (ex.Message.Contains("0006 - Resposta vazia"))
                    {
                        mensagem = MultilinhasObjects.Constantes.Mensagens.SistemaIndisponivel;
                    }
                    else
                    {
                        mensagem = ex.Message;
                    }
                    break;

                default:
                    mensagem = ex.Message;
                    break;
                }
            }
            catch
            {
            }

            return(mensagem);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            ABUtil.ABCommandArgs abargs = Session["ABCommandArgs"] as ABUtil.ABCommandArgs;
            if (!IsPostBack)
            {
                MultilinhasDataLayer.WriteLog.Log(System.Diagnostics.TraceLevel.Info, LogTypeName.PageLoad, this.Page.AppRelativeVirtualPath, abargs.USERNT, abargs.SN_HOSTNAME);

                string op = Helper.getTransactionMode(Context, Request);
                Helper.AddRemoveHidden(true, divBtnConsultar);
                Helper.AddRemoveHidden(true, hr2);
            }
        }
        protected void ddlSubProdCode_TextChanged(object sender, EventArgs e)
        {
            ABUtil.ABCommandArgs abargs = Session["ABCommandArgs"] as ABUtil.ABCommandArgs;
            string subprodutodesc       = TAT2.GetSubProdDescriptionByCode(txtProductCode.Text, ddlSubProdutoCode.SelectedValue, Global.ConnectionStringMaster, abargs);

            txtSubProductDescription.Text = subprodutodesc;

            //for debug!
            //if (string.IsNullOrEmpty(subprodutodesc))
            //{

            //    txtSubProductDescription.Text = TAT2.SearchSubProdutDescriptionML(ddlSubProductCode.SelectedValue)[0].ToString();
            //}
        }
Example #24
0
        public DataTable GetProdutos(string connection, ABUtil.ABCommandArgs AbArgs)
        {
            try
            {
                DataTable Produtos = cache["Produtos"] as DataTable;

                WriteLog.Log(System.Diagnostics.TraceLevel.Info, LogTypeName.TAT2Request, "GetProdutos  - TB196 ", AbArgs.USERNT, AbArgs.SN_HOSTNAME);

                //Vai lêr à tabela
                if (Produtos == null)
                {
                    OdbcConnection con = new OdbcConnection(connection);
                    DataSet        ds  = new DataSet();

                    try
                    {
                        OdbcDataAdapter ad = new OdbcDataAdapter("SELECT CELEMTAB1, GELEM30, NELEMC01, NELEMC02 FROM TB196 where NELEMC01 != '' AND NELEMC13 = 'S'  order by NELEMC01", con); //Tabela geral TB196
                        ad.Fill(ds);
                    }
                    finally
                    {
                        con.Close();
                    }

                    WriteLog.Log(System.Diagnostics.TraceLevel.Verbose, LogTypeName.TAT2Request, "Setting cache for [Produtos]", AbArgs.USERNT, AbArgs.SN_HOSTNAME);

                    //Set Cache
                    System.Runtime.Caching.CacheItemPolicy policy = new System.Runtime.Caching.CacheItemPolicy();
                    policy.AbsoluteExpiration = DateTimeOffset.Now.AddDays(1);
                    cache.Set("Produtos", ds.Tables[0], policy);

                    WriteLog.Log(System.Diagnostics.TraceLevel.Verbose, LogTypeName.TAT2Request, "Retun value count: " + ds.Tables[0].Rows.Count, AbArgs.USERNT, AbArgs.SN_HOSTNAME);

                    return(ds.Tables[0]);
                }
                //Devolver valor em cache
                else
                {
                    WriteLog.Log(System.Diagnostics.TraceLevel.Verbose, LogTypeName.TAT2Request, "Cache found for [Produtos] : " + Produtos.Rows.Count, AbArgs.USERNT, AbArgs.SN_HOSTNAME);
                    return(Produtos);
                }
            }
            catch (Exception ex)
            {
                WriteLog.Log(System.Diagnostics.TraceLevel.Error, MultilinhasObjects.LogTypeName.TAT2Request, ex, AbArgs.USERNT, AbArgs.SN_HOSTNAME);
                DataTable dt = new DataTable();

                return(dt);
            }
        }
        protected void txtnBalcao_TextChanged(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(txtnBalcao.Text))
            {
                ABUtil.ABCommandArgs abargs = Session["ABCommandArgs"] as ABUtil.ABCommandArgs;
                string desc = TAT2.GetBalcaoDesc(txtnBalcao.Text, Global.ConnectionStringMaster, abargs);

                txtgBalcao.Text = desc;
            }
            else
            {
                txtgBalcao.Text = "";
            }
        }
        protected void txtProductCode_TextChanged(object sender, EventArgs e)
        {
            ABUtil.ABCommandArgs abargs         = Session["ABCommandArgs"] as ABUtil.ABCommandArgs;
            List <string>        lstsubprodutos = TAT2.GetSubProdByProdCode(txtProductCode.Text, Global.ConnectionStringMaster, abargs);

            //for debug!!
            //if (lstsubprodutos.Count < 1)
            //{
            //    lstsubprodutos = TAT2.SearchSubProdutML("");
            //}

            ddlSubProdutoCode.DataSource = lstsubprodutos;
            ddlSubProdutoCode.DataBind();

            ddlSubProdutoCode.Enabled = true;
            ddlSubProdCode_TextChanged(sender, e);
        }
Example #27
0
        protected void btnConsultar_Click(object sender, EventArgs e)
        {
            //LM36_ContratosProduto lm36 = TAT2.SearchLM36(1234124);
            LM36_ContratosProduto chaves = new LM36_ContratosProduto();

            Helper.CopyPropertiesTo(camposChave, chaves);

            ABUtil.ABCommandArgs abargs = Session["ABCommandArgs"] as ABUtil.ABCommandArgs;
            MensagemOutput <LM36_ContratosProduto> lm36 = bl.LM36Request(chaves, new LM36_ContratosProduto.ContratosProduto(), abargs, "V", true);

            if (lm36 != null && lm36.ResultResult != null)
            {
                if (lm36.ResultResult.ContratosProdutos.Count > 0 && lm36.ResultResult.ContratosProdutos[0].NContratoProduto != null)
                {
                    Helper.AddRemoveHidden(false, dvLimites);
                    Helper.CopyObjectToControls(dvLimites, lm36);

                    lvConsultaProdutos.DataSource = lm36.ResultResult.ContratosProdutos;
                    lvConsultaProdutos.DataBind();

                    //Para Paginacao
                    if (lm36.ResultResult.ContratosProdutos.Count > 10)
                    {
                        Dictionary <int, LM36_ContratosProduto.ContratosProduto> dic = new Dictionary <int, LM36_ContratosProduto.ContratosProduto>();
                        Helper.AddPageFirstItem <LM36_ContratosProduto.ContratosProduto>(dic, lm36.ResultResult.ContratosProdutos.First());

                        ViewState["PaginasCTS"] = dic;
                        ViewState["UltimoCT"]   = lm36.ResultResult.ContratosProdutos.Last();

                        lkpaginaanterior.Visible = true;
                        lkpaginaseguinte.Visible = true;
                    }
                }
                lvConsultaProdutos.DataBind();
            }
            else
            {
                lberror.Text = TAT2.GetMsgErroTATDescription(lm36.erro.ToString(), abargs);
                if (string.IsNullOrEmpty(lberror.Text))
                {
                    lberror.Text = lm36.mensagem;
                }
                lberror.Visible   = true;
                lberror.ForeColor = System.Drawing.Color.Red;
            }
        }
Example #28
0
        public BCDWSProxy.CL55Transaction CL55Request(ABUtil.ABCommandArgs AbArgs, int numerocliente, string accao, string tipoacesso, string tipoConsulta)
        {
            BCDWSProxy.CL55Transaction response = new BCDWSProxy.CL55Transaction();

            CL55.BarclaysBankAccountSettings = new BCDWSProxy.BarclaysBankAccountSettings();
            CL55.BarclaysBankAccountSettings.ApplicationID = ConfigurationManager.AppSettings["ApplicationID"];
            CL55.BarclaysBankAccountSettings.UserRequester = AbArgs.USERNT;
            CL55.BarclaysBankAccountSettings.ClientName    = AbArgs.SN_HOSTNAME;

            CL55.input              = new BCDWSProxy.CL55Input();
            CL55.input.caccao       = accao;
            CL55.input.zcliente     = numerocliente.ToString().PadLeft(7, '0');
            CL55.input.ctipcon      = Convert.ToInt64(tipoConsulta);
            CL55.input.cacesso      = tipoacesso;
            CL55.input.pedido_dados = false;


            BCDWSProxy.BarclaysBTSSoapClient client = new BCDWSProxy.BarclaysBTSSoapClient();
            bool bRetry = false;

            atempt = 0;
            do
            {
                try
                {
                    WriteLog.Log(System.Diagnostics.TraceLevel.Verbose, MultilinhasObjects.LogTypeName.WsSoapRequest, CL55.input.SerializeToString(), AbArgs.USERNT, AbArgs.SN_HOSTNAME);

                    response = client.CL55ConsultaRelacoes(CL55.BarclaysBankAccountSettings, CL55.input);

                    string sresponse = response.SerializeToString();

                    WriteLog.Log(System.Diagnostics.TraceLevel.Verbose, MultilinhasObjects.LogTypeName.WsSoapResponse, sresponse, AbArgs.USERNT, AbArgs.SN_HOSTNAME);

                    atempt++;
                }
                catch (Exception ex)
                {
                    WriteLog.Log(System.Diagnostics.TraceLevel.Error, MultilinhasObjects.LogTypeName.WsSoapRequest, ex, AbArgs.USERNT, AbArgs.SN_HOSTNAME);
                    response.Erro = new BCDWSProxy.TransactionError();
                    response.Erro.MensagemErro = tratamentoExcepcoes(ex, AbArgs, out bRetry);
                }
            } while (bRetry && atempt <= 1);
            return(response);
        }
Example #29
0
        public string GetBalcaoDesc(string codBalcao, string connection, ABUtil.ABCommandArgs AbArgs)
        {
            string desc = "";

            WriteLog.Log(System.Diagnostics.TraceLevel.Info, MultilinhasObjects.LogTypeName.Internal, "GetBalcaoDesc", AbArgs.USERNT, AbArgs.SN_HOSTNAME);

            DataTable balcoes = GetBalcoes(connection, AbArgs);

            if (balcoes != null && balcoes.Rows.Count > 0)
            {
                DataRow[] drs = balcoes.Select("CELEMTAB1 = '" + codBalcao.ToUpper() + "'");

                //select first
                if (drs.Count() > 0)
                {
                    desc = drs[0]["NELEMC01"].ToString();
                }
            }
            return(desc);
        }
Example #30
0
        public DateTime DataOperacao_Fechas(ABUtil.ABCommandArgs AbArgs, string balcao)
        {
            DateTime fechasdt = new DateTime();

            try
            {
                WriteLog.Log(System.Diagnostics.TraceLevel.Info, LogTypeName.TAT2Request, "DataOperacao_Fechas  - FECHAS", AbArgs.USERNT, AbArgs.SN_HOSTNAME);

                //Vai lêr à tabela
                OdbcConnection connection = new OdbcConnection(ConfigurationManager.ConnectionStrings["MASTERDB2LOCAL"].ConnectionString);
                DataSet        ds         = new DataSet();

                try
                {
                    string          query = "SELECT FE_COD_BALCAO, FE_OPER FROM FECHAS WHERE FE_COD_BALCAO = " + balcao;
                    OdbcDataAdapter ad    = new OdbcDataAdapter(query, connection); //Tabela sistema DATAS
                    ad.Fill(ds);
                }
                finally
                {
                    connection.Close();
                }

                WriteLog.Log(System.Diagnostics.TraceLevel.Verbose, LogTypeName.TAT2Request, "Retun value count: " + ds.Tables[0].Rows.Count, AbArgs.USERNT, AbArgs.SN_HOSTNAME);

                string dtacol = ds.Tables[0].Rows[0][1].ToString(); //coluna 1 da 1a linha

                //retorna data
                DateTime.TryParseExact(dtacol, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out fechasdt);
                return(fechasdt);
            }
            catch (Exception ex)
            {
                WriteLog.Log(System.Diagnostics.TraceLevel.Error, MultilinhasObjects.LogTypeName.TAT2Request, ex, AbArgs.USERNT, AbArgs.SN_HOSTNAME);
                DataTable dt = new DataTable();

                return(fechasdt);
            }
        }