예제 #1
0
        protected void btnConfirmar_Click(object sender, EventArgs e)
        {
            try
            {
                var idNf   = Conversoes.StrParaUint(Request["idNf"]);
                var idLoja = Glass.Data.DAL.NotaFiscalDAO.Instance.ObtemIdLoja(idNf);

                System.Security.Cryptography.X509Certificates.X509Certificate2 cert = Certificado.GetCertificado(idLoja);

                if (DateTime.Now > cert.NotAfter)
                {
                    throw new Exception("O certificado digital cadastrado está vencido, insira um novo certificado para emitir esta nota. Data Venc.: " + cert.GetExpirationDateString());
                }

                string msg = EnviaXML.EnviaInutilizacao(idNf, txtMotivo.Text);

                MensagemAlerta.ShowMsg(msg, Page);

                Page.ClientScript.RegisterStartupScript(typeof(string), Guid.NewGuid().ToString(),
                                                        "window.close();", true);
            }
            catch (Exception ex)
            {
                if (ex.Message.Contains("URI está vazio.") || ex.Message.Contains("URI is empty."))
                {
                    var mensagem = "A inutilização não está disponivel na versão 4.00 da NF-e para o seu Estado, assim que possível será disponibilizada.";
                    Glass.MensagemAlerta.ErrorMsg("Info.:", new Exception(mensagem), Page);
                    return;
                }

                Glass.MensagemAlerta.ErrorMsg("Falha ao inutilizar NFe.", ex, Page);
                return;
            }
        }
        protected void grdConfigRegistroRentabilidade_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Up" || e.CommandName == "Down")
            {
                var key        = (string)e.CommandArgument;
                var parts      = key.Split('x');
                var tipo       = 0;
                var idRegistro = 0;

                if (parts.Length > 1 && int.TryParse(parts[0], out tipo) && int.TryParse(parts[1], out idRegistro))
                {
                    var rentabilidadeFluxo = Microsoft.Practices.ServiceLocation.ServiceLocator
                                             .Current.GetInstance <Glass.Rentabilidade.Negocios.IRentabilidadeFluxo>();

                    var config = rentabilidadeFluxo.ObterConfigRegistroRentabilidade((byte)tipo, idRegistro);

                    if (config != null)
                    {
                        var result = new Colosoft.Business.SaveResult();

                        if ((e.CommandName == "Up" && !(result = rentabilidadeFluxo.MoverConfigRegistroRentabilidade(config, true))) ||
                            (e.CommandName == "Down" && !(result = rentabilidadeFluxo.MoverConfigRegistroRentabilidade(config, false))))
                        {
                            MensagemAlerta.ShowMsg($"Falha ao mover configuração. { result.Message }", Page);
                        }

                        grdConfigRegistroRentabilidade.DataBind();
                    }
                }
            }
        }
예제 #3
0
        protected void odsObra_Inserted(object sender, Colosoft.WebControls.VirtualObjectDataSourceStatusEventArgs e)
        {
            if (e.Exception == null)
            {
                var idObra = e.ReturnValue.ToString().StrParaUint();

                if (!GerarCreditoObra(idObra) && ObraDAO.Instance.IsGerarCredito(idObra))
                {
                    MensagemAlerta.ShowMsg("Faça logout e login no sistema e refaça esta operação.", Page);
                    return;
                }

                if (GerarCreditoObra() || !PedidoConfig.DadosPedido.UsarControleNovoObra)
                {
                    Response.Redirect("~/Cadastros/CadObra.aspx?idObra=" + e.ReturnValue + (GerarCreditoObra() ? "&gerarCredito=1" : "") +
                                      (Request["cxDiario"] == "1" ? "&cxDiario=1" : ""));
                }
                else
                {
                    Response.Redirect("~/Listas/LstObra.aspx" + (GerarCreditoObra() ? "?gerarCredito=1" : "") +
                                      (Request["cxDiario"] == "1" ? (GerarCreditoObra() ? "&" : "?") + "cxDiario=1" : ""));
                }
            }
            else
            {
                MensagemAlerta.ErrorMsg(string.Format("Erro ao inserir {0}.", DescrTipoObra()),
                                        e.Exception.InnerException == null ? e.Exception : e.Exception.InnerException, this);
                e.ExceptionHandled = true;
            }
        }
예제 #4
0
        protected void btnConfirmar_Click(object sender, EventArgs e)
        {
            var idCartaoNaoIdentificado = Conversoes.StrParaUint(Request["IdCartaoNaoIdentificado"]);

            using (var transaction = new GDATransaction())
            {
                try
                {
                    transaction.BeginTransaction();
                    CartaoNaoIdentificadoDAO.Instance.Cancelar(transaction, new[] { idCartaoNaoIdentificado }, txtMotivo.Text);
                    transaction.Commit();
                    transaction.Close();
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    transaction.Close();
                    MensagemAlerta.ErrorMsg("Erro ao cancelar Arquivo.", ex, this);
                }
            }

            MensagemAlerta.ShowMsg("Arquivo cancelado.", this);

            ClientScript.RegisterClientScriptBlock(this.GetType(), "ok", "window.opener.redirectUrl(window.opener.location.href);closeWindow();", true);
        }
예제 #5
0
        protected void btnImportarArquivo_Click(object sender, EventArgs e)
        {
            try
            {
                var stream = new MemoryStream(fluArquivo.FileBytes);

                var extensao = Path.GetExtension(fluArquivo.FileName);

                _cadastroCNI = Microsoft.Practices.ServiceLocation.ServiceLocator.Current
                               .GetInstance <Financeiro.UI.Web.Process.CartaoNaoIdentificado.CadastroCartaoNaoIdentificadoFluxo>();

                var retorno = _cadastroCNI.Importar(stream, extensao, Request["cxDiario"] == "1");

                var script = string.Empty;

                if (retorno.Message != null && !string.IsNullOrEmpty(retorno.Message.ToString()))
                {
                    MensagemAlerta.ErrorMsg("Falha ao importar arquivo. ", retorno);
                }
                else
                {
                    MensagemAlerta.ShowMsg("Arquivo importado com sucesso!", this);
                }
            }
            catch (Exception ex)
            {
                Glass.MensagemAlerta.ErrorMsg("Falha ao importar arquivo de cartões não identificados.", ex, Page);
            }
        }
예제 #6
0
        protected void grdProdutos_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Remover")
            {
                try
                {
                    var idProdPed   = e.CommandArgument.ToString().StrParaUint();
                    var qtdeRemover = ((TextBox)((ImageButton)e.CommandSource).Parent.Parent.FindControl("txtQtde")).Text.StrParaFloat();
                    ProdutosPedidoDAO.Instance.RemoverProdutoDescontoAdmin(ref idProdPed, qtdeRemover);

                    if (PedidoConfig.LiberarPedido)
                    {
                        var idPedido = ProdutosPedidoDAO.Instance.ObtemIdPedido(idProdPed);
                        if (PedidoEspelhoDAO.Instance.ExisteEspelho(idPedido))
                        {
                            var idProdPedEsp = ProdutosPedidoDAO.Instance.ObterIdProdPedEsp(idProdPed);
                            if (idProdPedEsp.GetValueOrDefault(0) == 0)
                            {
                                MensagemAlerta.ShowMsg("Não foi possível remover o produto do PCP. Produto não encontrado.", Page);
                            }
                        }

                        dtvPedido.DataBind();
                    }

                    grdProdutos.DataBind();
                    grdProdutosRem.DataBind();
                    AtualizarOpener();
                }
                catch (Exception ex)
                {
                    Glass.MensagemAlerta.ErrorMsg("Falha ao remover produto do pedido.", ex, Page);
                }
            }
        }
예제 #7
0
        protected void SalvaTipoFunc(List <int> idsMenu, List <int> idsFuncaoMenu)
        {
            var funcionarioFluxo = Microsoft.Practices.ServiceLocation.ServiceLocator
                                   .Current.GetInstance <Glass.Global.Negocios.IFuncionarioFluxo>();

            // Recupera o funcionário
            var tipoFunc = funcionarioFluxo.ObtemTipoFuncionario(int.Parse(drpTipoFunc.SelectedValue));

            // Limpa os menus e funções que o mesmo tem acesso (Tem que fazer desta forma ao invés de usar o .Clear() para que salve o log corretamente)
            foreach (var configMenu in tipoFunc.ConfigsMenuTipoFunc.ToList())
            {
                if (!idsMenu.Contains(configMenu.IdMenu))
                {
                    tipoFunc.ConfigsMenuTipoFunc.Remove(configMenu);
                }
            }

            foreach (var configFuncao in tipoFunc.ConfigsFuncaoTipoFunc.ToList())
            {
                if (!idsFuncaoMenu.Contains(configFuncao.IdFuncaoMenu))
                {
                    tipoFunc.ConfigsFuncaoTipoFunc.Remove(configFuncao);
                }
            }

            // Adiciona menus e funções associados
            foreach (var id in idsMenu)
            {
                if (!tipoFunc.ConfigsMenuTipoFunc.Any(f => f.IdMenu == id))
                {
                    tipoFunc.ConfigsMenuTipoFunc.Add(new ConfigMenuTipoFunc()
                    {
                        IdTipoFunc = tipoFunc.IdTipoFuncionario, IdMenu = id
                    });
                }
            }

            foreach (var id in idsFuncaoMenu)
            {
                if (!tipoFunc.ConfigsFuncaoTipoFunc.Any(f => f.IdFuncaoMenu == id))
                {
                    tipoFunc.ConfigsFuncaoTipoFunc.Add(new ConfigFuncaoTipoFunc()
                    {
                        IdTipoFunc = tipoFunc.IdTipoFuncionario, IdFuncaoMenu = id
                    });
                }
            }

            var resultado = funcionarioFluxo.SalvarTipoFuncionario(tipoFunc);

            if (!resultado)
            {
                MensagemAlerta.ErrorMsg("Falha ao salvar permissões.", resultado);
            }
            else
            {
                MensagemAlerta.ShowMsg("Permissões modificadas com sucesso. ATENÇÃO! Estas mudanças não são refletidas para os funcionários que tiverem este tipo, o " +
                                       "funcinário terá estas permissões apenas se trocar para este tipo ou se criar um novo funcionário a partir desta alteração.", Page);
            }
        }
예제 #8
0
        protected void btnImportarArquivo_Click(object sender, EventArgs e)
        {
            var quitacaoParcelaCartaoFluxo = ServiceLocator.Current.GetInstance <IQuitacaoParcelaCartaoFluxo>();

            fluArquivo = (System.Web.UI.WebControls.FileUpload)Session["FluArquivoQuitacaoParcelaCartao"];

            // Insere o registro do arquivo e salva o mesmo na pasta
            var stream    = new MemoryStream(fluArquivo.FileBytes);
            var extensao  = Path.GetExtension(fluArquivo.FileName);
            var resultado = quitacaoParcelaCartaoFluxo.InserirNovoArquivo(stream, extensao);

            if (!resultado)
            {
                MensagemAlerta.ErrorMsg("Falha ao salvar arquivo.", resultado);
                return;
            }

            var idArquivoQuitacaoParcelaCartao = Conversoes.StrParaInt(resultado.Message.Format());

            var quitacaoParcelaCartaoPesquisa = (List <QuitacaoParcelaCartaoPesquisa>)Session["QuitacaoParcelaCartao"];

            // Atualiza o idArquivoQuitacaoParcelaCartao
            if (quitacaoParcelaCartaoPesquisa != null && quitacaoParcelaCartaoPesquisa.Count() > 0)
            {
                foreach (var q in quitacaoParcelaCartaoPesquisa)
                {
                    q.IdArquivoQuitacaoParcelaCartao = idArquivoQuitacaoParcelaCartao;
                }
            }

            try
            {
                var retorno = quitacaoParcelaCartaoFluxo.QuitarParcelas(ObterEntidade());

                if (!retorno)
                {
                    Response.Clear();
                    Response.ClearHeaders();

                    Response.AddHeader("Content-Length", retorno.Message.Format().Length.ToString());
                    Response.ContentType = "text/plain";
                    Response.AppendHeader("content-disposition", "attachment;filename=\"Falhas.txt\"");

                    Response.Write(retorno.Message.Format());
                    Response.End();
                }
                else
                {
                    MensagemAlerta.ShowMsg("Parcelas quitadas com sucesso!", this);
                }
            }
            catch (Exception ex)
            {
                MensagemAlerta.ErrorMsg("Falha ao importar arquivo.", ex, Page);
            }

            Session["QuitacaoParcelaCartao"]           = null;
            Session["FluArquivoQuitacaoParcelaCartao"] = null;
            btnCancelar_Click(sender, e);
        }
예제 #9
0
        private void ExibirRecebimento(bool exibir)
        {
            var valorObra = ObraDAO.Instance.GetValorObra(null, Request["idObra"].StrParaUint());

            if (exibir && valorObra == 0)
            {
                MensagemAlerta.ShowMsg("O valor do pagamento antecipado não pode ser zero.", Page);
                return;
            }

            var editar       = dtvObra.FindControl("btnEditar") as Button;
            var finalizar    = dtvObra.FindControl("btnFinalizar") as Button;
            var voltar       = dtvObra.FindControl("btnVoltar") as Button;
            var receber      = dtvObra.FindControl("btnReceber") as Button;
            var cancelar     = dtvObra.FindControl("btnCancelar") as Button;
            var grdProdutos  = dtvObra.FindControl("grdProdutoObra") as GridView;
            var panelReceber = dtvObra.FindControl("panReceber") as Panel;

            if (editar != null)
            {
                editar.Visible = !exibir;
            }
            if (finalizar != null)
            {
                finalizar.Visible = !exibir;
            }
            if (voltar != null)
            {
                voltar.Visible = !exibir;
            }
            if (receber != null)
            {
                receber.Visible = exibir;
            }
            if (cancelar != null)
            {
                cancelar.Visible = exibir;
            }
            if (panelReceber != null)
            {
                panelReceber.Visible = exibir;
            }

            if (grdProdutos != null)
            {
                grdProdutos.Columns[0].Visible = !exibir;
                grdProdutos.ShowFooter         = !exibir;
                grdProdutos.AllowPaging        = !exibir;
            }

            if (exibir)
            {
                ((HiddenField)dtvObra.FindControl("hdfTotalObra")).Value = valorObra.ToString(CultureInfo.InvariantCulture);
            }
        }
예제 #10
0
        protected void btnAterarDataMov_Click(object sender, EventArgs e)
        {
            var data = (TextBox)ctrlData.FindControl("txtData");

            if (string.IsNullOrEmpty(data.Text))
            {
                MensagemAlerta.ShowMsg("Digite uma data válida para redefinição.", Page);
                return;
            }

            SinalDAO.Instance.RetificarDataMovBanco(Conversoes.StrParaUint(hdfIdSinal.Value), ctrlData.Data);
            MensagemAlerta.ShowMsg("Data das movimentações alteradas com sucesso.", Page);
        }
예제 #11
0
        protected void odsDesconto_Updated(object sender, Colosoft.WebControls.VirtualObjectDataSourceStatusEventArgs e)
        {
            var resultado = (Colosoft.Business.SaveResult)e.ReturnValue;

            if (!resultado)
            {
                _sucessoAtualizacao = false;
                MensagemAlerta.ShowMsg(resultado.Message.ToString(), Page);
            }
            else
            {
                _sucessoAtualizacao = true;
            }
        }
예제 #12
0
        protected void odsPedido_Updating(object sender, Colosoft.WebControls.VirtualObjectDataSourceMethodEventArgs e)
        {
            var idPedido = Request["idPedido"].StrParaInt();

            if (idPedido > 0)
            {
                if (!VerificarPodeApagarAtualizarInserir(idPedido))
                {
                    e.Cancel = true;
                    Page.ClientScript.RegisterClientScriptBlock(GetType(), "Erro", "alert('O pedido não está ativo, não é possível alterá-lo!'); " +
                                                                "redirectUrl('../Listas/LstPedidos.aspx');", true);
                    MensagemAlerta.ShowMsg("O pedido não está ativo, não é possível alterá - lo.", Page);
                }
            }
        }
예제 #13
0
        public void VerificarPodeApagarAtualizarInserir(Colosoft.WebControls.VirtualObjectDataSourceMethodEventArgs e)
        {
            var idOrcamento = Request["idOrca"].StrParaInt();
            var situacao    = OrcamentoDAO.Instance.ObterSituacao(null, idOrcamento);

            if (idOrcamento > 0)
            {
                if (situacao == (int)Data.Model.Orcamento.SituacaoOrcamento.Negociado)
                {
                    e.Cancel = true;
                    Page.ClientScript.RegisterClientScriptBlock(GetType(), "Erro", $"alert('O orçamento está negociado, não é possível alterá-lo!'); redirectUrl('{ CaminhoListagemOrcamento() }');", true);
                    MensagemAlerta.ShowMsg("O orçamento está negociado, não é possível alterá - lo.", Page);
                }
            }
        }
예제 #14
0
        protected void dtvPedido_ItemCommand(object sender, DetailsViewCommandEventArgs e)
        {
            if (e.CommandName == "Atualizar" || e.CommandName == "Recalcular")
            {
                try
                {
                    var pe = new PedidoEspelho();
                    pe.IdPedido = Glass.Conversoes.StrParaUint(Request["idPedido"]);

                    var pedidoEspelho = PedidoEspelhoDAO.Instance.GetElementByPrimaryKey(null, pe.IdPedido);

                    pe.TipoDesconto   = ((DropDownList)dtvPedido.FindControl("drpTipoDesconto")) != null ? ((DropDownList)dtvPedido.FindControl("drpTipoDesconto")).SelectedValue.StrParaInt() : pedidoEspelho.TipoDesconto;
                    pe.Desconto       = ((TextBox)dtvPedido.FindControl("txtDesconto")) != null ? ((TextBox)dtvPedido.FindControl("txtDesconto")).Text.StrParaDecimal() : pedidoEspelho.Desconto;
                    pe.TipoAcrescimo  = ((DropDownList)dtvPedido.FindControl("drpTipoAcrescimo")) != null ? ((DropDownList)dtvPedido.FindControl("drpTipoAcrescimo")).SelectedValue.StrParaInt() : pedidoEspelho.TipoAcrescimo;
                    pe.Acrescimo      = ((TextBox)dtvPedido.FindControl("txtAcrescimo")) != null ? ((TextBox)dtvPedido.FindControl("txtAcrescimo")).Text.StrParaDecimal() : pedidoEspelho.Acrescimo;
                    pe.DataFabrica    = ((Glass.UI.Web.Controls.ctrlData)dtvPedido.FindControl("ctrlDataFabrica")) != null ? ((Glass.UI.Web.Controls.ctrlData)dtvPedido.FindControl("ctrlDataFabrica")).Data : pedidoEspelho.DataFabrica;
                    pe.Obs            = ((TextBox)dtvPedido.FindControl("txtObs")) != null ? ((TextBox)dtvPedido.FindControl("txtObs")).Text : pedidoEspelho.Obs;
                    pe.IdComissionado = ((HiddenField)dtvPedido.FindControl("hdfIdComissionado")) != null ? ((HiddenField)dtvPedido.FindControl("hdfIdComissionado")).Value.StrParaUintNullable() : pedidoEspelho.IdComissionado;
                    pe.PercComissao   = ((HiddenField)dtvPedido.FindControl("hdfPercComissao")) != null ? ((HiddenField)dtvPedido.FindControl("hdfPercComissao")).Value.StrParaFloat() : pedidoEspelho.PercComissao;

                    PedidoEspelhoDAO.Instance.UpdateDados(null, pe, e.CommandName == "Recalcular");

                    dtvPedido.DataBind();
                    grdAmbiente.DataBind();
                    grdProdutos.DataBind();

                    if (e.CommandName == "Recalcular")
                    {
                        MensagemAlerta.ShowMsg("Pedido recalculado com sucesso!", Page);
                    }
                    else
                    {
                        MensagemAlerta.ShowMsg("Pedido atualizado com sucesso!", Page);
                    }
                }
                catch (Exception ex)
                {
                    if (e.CommandName == "Recalcular")
                    {
                        MensagemAlerta.ErrorMsg("Falha ao recalcular o pedido.", ex, Page);
                    }
                    else
                    {
                        MensagemAlerta.ErrorMsg("Falha ao atualizar o pedido.", ex, Page);
                    }
                }
            }
        }
예제 #15
0
        /// <summary>
        /// Método chamado ao clicar no botão Importar.
        /// </summary>
        protected void btnImportar_Click(object sender, EventArgs e)
        {
            try
            {
                // Recupera o fluxo de exportação de ferragem.
                var exportacaoImportacaoFerragemFluxo = Microsoft.Practices.ServiceLocation.ServiceLocator.Current.GetInstance <Glass.Projeto.Negocios.IExportacaoImportacaoFerragem>();
                // Importa o arquivo carregado pelo usuário.
                var retorno = exportacaoImportacaoFerragemFluxo.Importar(fluArquivo.FileBytes, chkSubstituirFerragemExistente.Checked);

                MensagemAlerta.ShowMsg(retorno.Message.ToString(), Page);
            }
            catch (Exception ex)
            {
                MensagemAlerta.ErrorMsg(ex.InnerException != null ? string.Format("{0}\n", ex.Message) : string.Empty, ex, Page);
            }
        }
예제 #16
0
        private void ExibirRecebimento(bool exibir)
        {
            var valorObra = ObraDAO.Instance.GetValorObra(null, Request["idObra"].StrParaUint());

            if (exibir && valorObra == 0)
            {
                MensagemAlerta.ShowMsg("O valor do " + DescrTipoObra() + " não pode ser zero.", Page);
                return;
            }

            var btnEditar    = dtvObra.FindControl("btnEditar") as Button;
            var btnFinalizar = dtvObra.FindControl("btnFinalizar") as Button;
            var btnVoltar    = dtvObra.FindControl("btnVoltar") as Button;
            var btnReceber   = dtvObra.FindControl("btnReceber") as Button;
            var btnCancelar  = dtvObra.FindControl("btnCancelar") as Button;
            var panReceber   = dtvObra.FindControl("panReceber") as Panel;

            if (btnEditar != null)
            {
                btnEditar.Visible = !exibir;
            }
            if (btnFinalizar != null)
            {
                btnFinalizar.Visible = !exibir;
            }
            if (btnVoltar != null)
            {
                btnVoltar.Visible = !exibir;
            }
            if (btnReceber != null)
            {
                btnReceber.Visible = exibir;
            }
            if (btnCancelar != null)
            {
                btnCancelar.Visible = exibir;
            }
            if (panReceber != null)
            {
                panReceber.Visible = exibir;
            }

            if (exibir)
            {
                ((HiddenField)dtvObra.FindControl("hdfTotalObra")).Value = valorObra.ToString(CultureInfo.InvariantCulture);
            }
        }
예제 #17
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                drpTipoContratante_SelectedIndexChanged(null, null);
            }

            // Exibe a mensagem de retorno ao usuário
            var retornoEmissao = Request["Retorno"];

            if (retornoEmissao != null)
            {
                MensagemAlerta.ShowMsg(retornoEmissao, Page);
            }

            Ajax.Utility.RegisterTypeForAjax(typeof(LstManifestoEletronico));
        }
예제 #18
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (this.Request.QueryString["erroNf"] != null)
            {
                this.ClientScript.RegisterClientScriptBlock(this.GetType(), "erroNf", "alert('O arquivo dessa nota fiscal não foi encontrado.')", true);
            }

            if (this.Request["autorizada"] != null)
            {
                if (this.Request["autorizada"] == "true")
                {
                    MensagemAlerta.ShowMsg("Nota autorizada.", this.Page);
                }
                else
                {
                    MensagemAlerta.ShowMsg(this.Request["autorizada"], this.Page);
                }
            }
        }
예제 #19
0
        protected void odsRota_Updated(object sender, Colosoft.WebControls.VirtualObjectDataSourceStatusEventArgs e)
        {
            if (e.Exception != null)
            {
                Glass.MensagemAlerta.ErrorMsg("Falha ao atualizar Rota.", e.Exception, Page);
                e.ExceptionHandled = true;
            }
            else
            {
                if (e.ReturnValue is Colosoft.Business.SaveResult && !(Colosoft.Business.SaveResult)e.ReturnValue)
                {
                    e.ExceptionHandled = true;
                    return;
                }

                Page.ClientScript.RegisterClientScriptBlock(GetType(), "rotaAtualizada", "alert('Rota atualizada com sucesso!'); " +
                                                            "redirectUrl('../Listas/LstRota.aspx');", true);
                MensagemAlerta.ShowMsg("Rota atualizada com sucesso.", Page);
            }
        }
예제 #20
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtNumPedido.Text) || !PedidoDAO.Instance.PedidoExists(Glass.Conversoes.StrParaUint(txtNumPedido.Text)))
            {
                tbInfPedido.Visible    = false;
                tbInfAdicional.Visible = false;
                lnkImprimir.Visible    = false;

                if (!string.IsNullOrEmpty(txtNumPedido.Text))
                {
                    MensagemAlerta.ShowMsg("O pedido informado não existe.", Page);
                }

                return;
            }

            if (!string.IsNullOrEmpty(txtNumPedido.Text) && Glass.Conversoes.StrParaInt(txtNumPedido.Text) > 0)
            {
                Glass.Data.Model.Pedido ped = PedidoDAO.Instance.GetElement(Glass.Conversoes.StrParaUint(txtNumPedido.Text));

                if (ped == null)
                {
                    return;
                }

                lblCli.Text  = ped.NomeCliente;
                lblVend.Text = ped.NomeFunc;
                lblOrca.Text = ped.IdOrcamento.ToString();
                lblPed.Text  = ped.IdPedido.ToString();

                tbInfPedido.Visible    = true;
                tbInfAdicional.Visible = true;
                lnkImprimir.Visible    = true;
            }
            else
            {
                tbInfPedido.Visible    = false;
                tbInfAdicional.Visible = false;
                lnkImprimir.Visible    = false;
            }
        }
예제 #21
0
        protected void btnConfirmar_Click(object sender, EventArgs e)
        {
            var idArquivoCartaoNaoIdentificado = Conversoes.StrParaInt(Request["IdCartaoNaoIdentificado"]);

            var fluxoACNI = Microsoft.Practices.ServiceLocation.ServiceLocator
                            .Current.GetInstance <Financeiro.Negocios.IArquivoCartaoNaoIdentificadoFluxo>();

            var resultado = fluxoACNI
                            .CancelarArquivoCartaoNaoIdentificado(fluxoACNI.ObterArquivoCartaoNaoIdentificado(idArquivoCartaoNaoIdentificado), txtMotivo.Text);

            if (!resultado)
            {
                MensagemAlerta.ErrorMsg("Erro ao cancelar Arquivo", resultado);
            }
            else
            {
                MensagemAlerta.ShowMsg("Arquivo cancelado.", this);
            }

            ClientScript.RegisterClientScriptBlock(this.GetType(), "ok", "window.opener.redirectUrl(window.opener.location.href);closeWindow();", true);
        }
예제 #22
0
        protected void btnSalvarAssocContaBanco_Click(object sender, EventArgs e)
        {
            try
            {
                var idTipoCartao = drpCartao.SelectedValue.StrParaUint();
                var idContaBanco = drpContaBanco.SelectedValue.StrParaUintNullable();
                var idLoja       = drpLoja.SelectedValue.StrParaUint();

                var contaAntiga = AssocContaBancoDAO.Instance.GetContaBancoCartao(idTipoCartao, idLoja);

                AssocContaBancoDAO.Instance.AtualizarTipoCartao(idTipoCartao, idContaBanco, chkBloquearContaBanco.Checked, drpLoja.SelectedValue.StrParaUint());
                LogAlteracaoDAO.Instance.LogTipoCartaoJurosParcelas(null, (int)idTipoCartao, (int)idLoja, ContaBancoDAO.Instance.GetDescricao(contaAntiga.IdContaBanco), ContaBancoDAO.Instance.GetDescricao(idContaBanco.GetValueOrDefault(0)));

                MensagemAlerta.ShowMsg("Conta bancária associada ao cartão.", Page);
                drpTipoCartao_SelectedIndexChanged(sender, e);
            }
            catch (Exception ex)
            {
                MensagemAlerta.ErrorMsg("Falha ao associar conta bancária ao cartão.", ex, Page);
            }
        }
        protected void btnRetificarArquivoRemessa_Click(object sender, EventArgs e)
        {
            try
            {
                var idsContaRRemessa = new List <Tuple <int, int> >();

                // Pega o id das contas que serão removidas da comissão já paga
                foreach (GridViewRow r in grdContasReceber.Rows)
                {
                    if (!((CheckBox)r.FindControl("chkSel")).Checked)
                    {
                        var idContaR         = ((HiddenField)r.FindControl("hdfIdContaR")).Value.StrParaInt();
                        var idArquivoRemessa = ((HiddenField)r.FindControl("hdfIdArquivoRemessa")).Value.StrParaInt();

                        idsContaRRemessa.Add(new Tuple <int, int>(idContaR, idArquivoRemessa));
                    }
                }

                if (idsContaRRemessa.Count == 0)
                {
                    throw new InvalidOperationException("Nenhuma conta foi removida");
                }

                var idsRemessa = idsContaRRemessa.Select(f => f.Item2).Distinct();

                foreach (var idRemessa in idsRemessa)
                {
                    var idsConta = idsContaRRemessa.Where(f => f.Item2 == idRemessa).Select(f => f.Item1);
                    Data.DAL.ArquivoRemessaDAO.Instance.RetificarArquivoRemessa(idsConta, idRemessa);
                }

                MensagemAlerta.ShowMsg("Arquivo remessa retificado", Page);

                grdContasReceber.DataBind();
            }
            catch (Exception ex)
            {
                MensagemAlerta.ErrorMsg("Falha ao retificar", ex, Page);
            }
        }
예제 #24
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Ajax.Utility.RegisterTypeForAjax(typeof(MetodosAjax));
            Ajax.Utility.RegisterTypeForAjax(typeof(Glass.UI.Web.Cadastros.CadNotaFiscalGerarCompra));

            txtIdFornec.Text   = "";
            txtNomeFornec.Text = "";

            if (!IsPostBack)
            {
                if (!String.IsNullOrEmpty(Request["idCompra"]))
                {
                    ClientScript.RegisterStartupScript(GetType(), "adcomp", "addCompra(" + Request["idCompra"] + ");", true);
                }
            }
            else if (!string.IsNullOrEmpty(hdfBuscarIdsCompras.Value.Trim(',')) && drpPlanoContas.Items.Count == 1)
            {
                var idCompra = Glass.Conversoes.StrParaUint(hdfBuscarIdsCompras.Value.TrimEnd(','));
                var compra   = CompraDAO.Instance.GetElementByPrimaryKey(idCompra);

                drpTipoCompra.SelectedValue = compra.TipoCompra == (int)Compra.TipoCompraEnum.AVista ||
                                              compra.TipoCompra == (int)Compra.TipoCompraEnum.AntecipFornec ? "1" : "2";

                drpPlanoContas.DataBind();

                if (compra.IdConta > 0)
                {
                    var situacao = PlanoContasDAO.Instance.ObterSituacao(null, (int)compra.IdConta.Value);

                    if (situacao != PlanoContas.SituacaoEnum.Ativo)
                    {
                        MensagemAlerta.ShowMsg("O plano de contas associado à compra está inativo. Ative-o ou selecione outro plano de contas para a nota fiscal.", Page);
                    }
                    else
                    {
                        drpPlanoContas.SelectedValue = compra.IdConta.ToString();
                    }
                }
            }
        }
예제 #25
0
        protected void imbPesq_Click(object sender, ImageClickEventArgs e)
        {
            string etiqueta = txtEtiqueta.Text;

            if (string.IsNullOrEmpty(etiqueta))
            {
                tbSaida.Visible = false;
                Glass.MensagemAlerta.ShowMsg("Informe o número da etiqueta.", Page);
                return;
            }

            string[] dadosEtiqueta = etiqueta.Split('-', '.', '/');

            if (!dadosEtiqueta.Any() ||
                dadosEtiqueta[0][0].ToString().ToUpper() != "N")
            {
                tbSaida.Visible = false;
                MensagemAlerta.ShowMsg("A etiqueta informada não é de uma nota fiscal.", Page);
                return;
            }

            uint idImpressao = ProdutoImpressaoDAO.Instance.ObtemIdImpressao(etiqueta);

            if (idImpressao < 1)
            {
                tbSaida.Visible = false;
                Glass.MensagemAlerta.ShowMsg("A impressão desta etiqueta não foi encontrada.", Page);
                return;
            }

            hdfIdImpressao.Value = idImpressao.ToString();

            grdProduto.DataBind();

            if (grdProduto.Rows.Count > 0)
            {
                tbSaida.Visible = true;
            }
        }
예제 #26
0
        protected void Page_Load(object sender, EventArgs e)
        {
            imgLogo.ImageUrl = Configuracoes.Logotipo.GetLogoVirtualPath();

            /* Chamado 53668. */
            if (Configuracoes.Geral.SistemaLite)
            {
                lblTelSuporte.Visible = false;
            }

            if (!Data.Helper.Utils.IsLocalUrl(HttpContext.Current) && !string.IsNullOrEmpty(Request["token"]))
            {
                var usuarioSync = Seguranca.AutenticacaoAutomatica.Autenticar(Request["token"], System.Configuration.ConfigurationManager.AppSettings["sistema"]);
                var idAdmin     = FuncionarioDAO.Instance.ObterIdAdminSync();

                if (string.IsNullOrEmpty(usuarioSync))
                {
                    MensagemAlerta.ShowMsg("Falha ao descriptografar token.", Page);
                    return;
                }
                else if (usuarioSync.Split('|')[0] == "Erro")
                {
                    MensagemAlerta.ShowMsg(usuarioSync.Split('|')[1], Page);
                    return;
                }

                if (idAdmin == 0)
                {
                    MensagemAlerta.ShowMsg("Nenhum admin sync cadastrado.", Page);
                    return;
                }

                var dadosLogin = string.Format("{0}||{1}", idAdmin, usuarioSync);

                FormsAuthentication.RedirectFromLoginPage(dadosLogin, false);
                Response.Redirect("Main.aspx", false);
            }
        }
예제 #27
0
        protected void grdCli_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "CriarVinculo")
            {
                try
                {
                    if (FornecedorDAO.Instance.GetVinculados(Request["idFornec"].StrParaInt())
                        .Any(f => f.IdFornec == e.CommandArgument.ToString().StrParaInt()))
                    {
                        MensagemAlerta.ShowMsg("Fornecedor já vinculado.", Page);
                        return;
                    }

                    FornecedorVinculoDAO.Instance.CriarVinculo(Request["idFornec"].StrParaInt(), e.CommandArgument.ToString().StrParaInt());

                    grdVinculados.DataBind();
                }
                catch (Exception ex)
                {
                    MensagemAlerta.ErrorMsg("Falha ao vincular fornecedor.", ex, Page);
                }
            }
        }
예제 #28
0
        protected void grdCli_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "CriarVinculo")
            {
                try
                {
                    if (ClienteDAO.Instance.GetVinculados(Glass.Conversoes.StrParaUint(Request["idCliente"]))
                        .Any(f => f.IdCli == Glass.Conversoes.StrParaUint(e.CommandArgument.ToString())))
                    {
                        MensagemAlerta.ShowMsg("Cliente já vinculado.", Page);
                        return;
                    }

                    ClienteVinculoDAO.Instance.CriarVinculo(Glass.Conversoes.StrParaUint(Request["idCliente"]), Glass.Conversoes.StrParaUint(e.CommandArgument.ToString()));

                    grdVinculados.DataBind();
                }
                catch (Exception ex)
                {
                    Glass.MensagemAlerta.ErrorMsg("Falha ao vincular cliente.", ex, Page);
                }
            }
        }
예제 #29
0
        protected void grdManifestoEletronico_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "ConsultaSitLoteMDFe")
            {
                try
                {
                    // Consulta a situação do lote e da MDFe, caso o lote tenha sido processado
                    string msg = ConsultaSituacao.ConsultaSitLoteMDFe(Glass.Conversoes.StrParaInt(e.CommandArgument.ToString()));
                    MensagemAlerta.ShowMsg(msg, Page);

                    grdManifestoEletronico.DataBind();
                }
                catch (Exception ex)
                {
                    MensagemAlerta.ErrorMsg("Falha ao consultar situação.", ex, Page);
                }
            }
            else if (e.CommandName == "ConsultaSitMDFe")
            {
                try
                {
                    // Consulta a situação do lote e do MDFe, caso o lote tenha sido processado
                    string msg = ConsultaSituacao.ConsultaSitMDFe(Glass.Conversoes.StrParaInt(e.CommandArgument.ToString()));
                    MensagemAlerta.ShowMsg(msg, Page);

                    grdManifestoEletronico.DataBind();
                }
                catch (Exception ex)
                {
                    MensagemAlerta.ErrorMsg("Falha ao consultar situação.", ex, Page);
                }
            }
            else if (e.CommandName == "EmitirMDFeOffline")
            {
                try
                {
                    var idManifestoEletronico = Glass.Conversoes.StrParaInt(e.CommandArgument.ToString());
                    var retorno = ManifestoEletronicoDAO.Instance.EmitirMDFeOffline(idManifestoEletronico);

                    // Consulta a situação se o arquivo tiver sido enviado corretamente.
                    if (retorno == "Arquivo recebido com sucesso")
                    {
                        retorno = ConsultaSituacao.ConsultaSitLoteMDFe(idManifestoEletronico);
                    }

                    Response.Redirect("~/Listas/LstManifestoEletronico.aspx?Retorno=" + retorno);
                }
                catch (Exception ex)
                {
                    // Se for erro na validação do arquivo XML, abre popup para mostrar erros
                    if (ex.Message.Contains("XML inconsistente."))
                    {
                        string msg = MensagemAlerta.FormatErrorMsg("", ex).Replace("XML inconsistente.", "").Replace("Linha:", "%bl%%bl%Linha:");
                        ClientScript.RegisterClientScriptBlock(typeof(string), "msg", "openWindow(410, 540, '../Utils/ShowMsg.aspx?title=Falha na validação do arquivo do MDF-e&msg=" + msg + "')", true);
                    }
                    else
                    {
                        MensagemAlerta.ErrorMsg("Falha ao emitir o MDFe.", ex, Page);
                    }
                }
            }
        }
예제 #30
0
        protected void btnSalvarPlanoConta_Click(object sender, EventArgs e)
        {
            try
            {
                //Verifica se todos os planos de conta forma informados.
                if (hdfDevolucaoPagto.Value.StrParaUint() == 0 || hdfEntrada.Value.StrParaUint() == 0 || hdfEstorno.Value.StrParaUint() == 0 ||
                    hdfEstornoChequeDev.Value.StrParaUint() == 0 || hdfEstornoDevolucaoPagto.Value.StrParaUint() == 0 || hdfEstornoEntrada.Value.StrParaUint() == 0 ||
                    hdfEstornoRecPrazo.Value.StrParaUint() == 0 || hdfFunc.Value.StrParaUint() == 0 || hdfRecChequeDev.Value.StrParaUint() == 0 ||
                    hdfRecPrazo.Value.StrParaUint() == 0 || hdfVista.Value.StrParaUint() == 0)
                {
                    MensagemAlerta.ShowMsg("Planos de conta associados.", Page);
                    return;
                }

                List <uint> listPlanoContas = new List <uint>();
                listPlanoContas.Add(hdfDevolucaoPagto.Value.StrParaUint());
                listPlanoContas.Add(hdfEntrada.Value.StrParaUint());
                listPlanoContas.Add(hdfEstorno.Value.StrParaUint());
                listPlanoContas.Add(hdfEstornoChequeDev.Value.StrParaUint());
                listPlanoContas.Add(hdfEstornoDevolucaoPagto.Value.StrParaUint());
                listPlanoContas.Add(hdfEstornoEntrada.Value.StrParaUint());
                listPlanoContas.Add(hdfEstornoRecPrazo.Value.StrParaUint());
                listPlanoContas.Add(hdfFunc.Value.StrParaUint());
                listPlanoContas.Add(hdfRecChequeDev.Value.StrParaUint());
                listPlanoContas.Add(hdfRecPrazo.Value.StrParaUint());
                listPlanoContas.Add(hdfVista.Value.StrParaUint());
                //Verifica se existe algum plano de conta duplicado dentro do mesmo tipo de cartão
                var duplicado = listPlanoContas.GroupBy(x => x)
                                .Where(x => x.Count() > 1)
                                .ToList().Count > 0;
                if (duplicado)
                {
                    throw new Exception("Foi selecionado o mesmo plano de conta para mais de uma forma de recebimento.");
                }

                var idTipoCartao = drpCartao.SelectedValue.StrParaUint();

                //Verifica se existe algum plano de conta duplicado entre todos os tipos de cartão.
                var listPlanoContasEmUsoTipoCartao = TipoCartaoCreditoDAO.Instance.PlanosContaEmUsoTipoCartao(idTipoCartao);
                var listPlanoRepetido = listPlanoContas.Intersect(listPlanoContasEmUsoTipoCartao);
                if (listPlanoRepetido.Count <uint>() > 0)
                {
                    throw new Exception("Um ou mais planos de conta informados para esse tipo de cartão já está sendo utilizado por outro tipo de cartão.");
                }

                var tipoCartao = TipoCartaoCreditoDAO.Instance.GetElementByPrimaryKey(idTipoCartao);

                tipoCartao.IdContaDevolucaoPagto        = hdfDevolucaoPagto.Value.StrParaInt();
                tipoCartao.IdContaEntrada               = hdfEntrada.Value.StrParaInt();
                tipoCartao.IdContaEstorno               = hdfEstorno.Value.StrParaInt();
                tipoCartao.IdContaEstornoChequeDev      = hdfEstornoChequeDev.Value.StrParaInt();
                tipoCartao.IdContaEstornoDevolucaoPagto = hdfEstornoDevolucaoPagto.Value.StrParaInt();
                tipoCartao.IdContaEstornoEntrada        = hdfEstornoEntrada.Value.StrParaInt();
                tipoCartao.IdContaEstornoRecPrazo       = hdfEstornoRecPrazo.Value.StrParaInt();
                tipoCartao.IdContaFunc         = hdfFunc.Value.StrParaInt();
                tipoCartao.IdContaRecChequeDev = hdfRecChequeDev.Value.StrParaInt();
                tipoCartao.IdContaRecPrazo     = hdfRecPrazo.Value.StrParaInt();
                tipoCartao.IdContaVista        = hdfVista.Value.StrParaInt();

                TipoCartaoCreditoDAO.Instance.Update(tipoCartao);

                /* Chamado 44948. */
                Data.Helper.UtilsPlanoConta.CarregarContasCartoes();

                MensagemAlerta.ShowMsg("Planos de conta associados.", Page);
                drpTipoCartao_SelectedIndexChanged(sender, e);
                CarregaPlanoContas(Request["idTipoCartao"].StrParaInt());
            }
            catch (Exception ex)
            {
                MensagemAlerta.ErrorMsg("Falha ao associar plano de conta ao cartão.", ex, Page);
            }
        }