Exemple #1
0
        private void gSaldoAdto_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            if (gSaldoAdto.Columns[e.ColumnIndex].SortMode == DataGridViewColumnSortMode.NotSortable)
            {
                return;
            }
            if (bsAdto.Count < 1)
            {
                return;
            }
            PropertyDescriptorCollection lP = TypeDescriptor.GetProperties(new CamadaDados.Financeiro.Adiantamento.TRegistro_LanAdiantamento());

            CamadaDados.Financeiro.Adiantamento.TList_LanAdiantamento lComparer;
            SortOrder direcao = SortOrder.None;

            if ((gSaldoAdto.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection == SortOrder.None) ||
                (gSaldoAdto.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection == SortOrder.Descending))
            {
                lComparer = new CamadaDados.Financeiro.Adiantamento.TList_LanAdiantamento(lP.Find(gSaldoAdto.Columns[e.ColumnIndex].DataPropertyName, true), SortOrder.Ascending);
                foreach (DataGridViewColumn c in gSaldoAdto.Columns)
                {
                    c.HeaderCell.SortGlyphDirection = SortOrder.None;
                }
                direcao = SortOrder.Ascending;
            }
            else
            {
                lComparer = new CamadaDados.Financeiro.Adiantamento.TList_LanAdiantamento(lP.Find(gSaldoAdto.Columns[e.ColumnIndex].DataPropertyName, true), SortOrder.Descending);
                foreach (DataGridViewColumn c in gSaldoAdto.Columns)
                {
                    c.HeaderCell.SortGlyphDirection = SortOrder.None;
                }
                direcao = SortOrder.Descending;
            }
            (bsAdto.List as CamadaDados.Financeiro.Adiantamento.TList_LanAdiantamento).Sort(lComparer);
            bsAdto.ResetBindings(false);
            gSaldoAdto.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection = direcao;
        }
Exemple #2
0
        private void afterGrava()
        {
            //Verificar se existe sessao aberta para o usuario
            if (new TCD_Sessao().BuscarEscalar(
                    new Utils.TpBusca[]
            {
                new Utils.TpBusca()
                {
                    vNM_Campo = "a.login",
                    vOperador = "=",
                    vVL_Busca = "'" + pLogin.Trim() + "'"
                },
                new Utils.TpBusca()
                {
                    vNM_Campo = "isnull(a.st_registro, 'A')",
                    vOperador = "<>",
                    vVL_Busca = "'F'"
                }
            }, "1") == null)
            {
                if (bsPortador.Count > 0)
                {
                    if (vl_fechamento.Focused)
                    {
                        (bsPortador.Current as CamadaDados.Financeiro.Cadastros.TRegistro_CadPortador).Vl_pagtoPDV = vl_fechamento.Value;
                    }
                    if (!(bsPortador.List as CamadaDados.Financeiro.Cadastros.TList_CadPortador).Exists(p => p.Vl_pagtoPDV > decimal.Zero))
                    {
                        if ((new TCD_CaixaPDV().BuscarEscalarMovCaixa(
                                 new Utils.TpBusca[]
                        {
                            new Utils.TpBusca()
                            {
                                vNM_Campo = "a.id_caixa",
                                vOperador = "=",
                                vVL_Busca = Id_caixa
                            }
                        }, "1") != null) ||
                            (new TCD_CaixaPDV().BuscarEscalar(
                                 new Utils.TpBusca[]
                        {
                            new Utils.TpBusca()
                            {
                                vNM_Campo = "a.id_caixa",
                                vOperador = "=",
                                vVL_Busca = Id_caixa
                            },
                            new Utils.TpBusca()
                            {
                                vNM_Campo = "a.vl_suprimento",
                                vOperador = ">",
                                vVL_Busca = "0"
                            }
                        }, "1") != null))
                        {
                            if (MessageBox.Show("Caixa possui movimentação. Deseja informar valor de fechamento para os portadores movimentados?",
                                                "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                            {
                                return;
                            }
                        }
                    }
                    //Buscar Portadores com Movimento
                    CamadaDados.Financeiro.Cadastros.TList_CadPortador lPort =
                        new CamadaDados.Financeiro.Cadastros.TCD_CadPortador().Select(
                            new Utils.TpBusca[]
                    {
                        new Utils.TpBusca()
                        {
                            vNM_Campo = string.Empty,
                            vOperador = "exists",
                            vVL_Busca = "(select 1 from vtb_pdv_movcaixa x " +
                                        "where x.cd_portador = a.cd_portador " +
                                        "and x.id_caixa = " + Id_caixa + ") "
                        }
                    }, 0, string.Empty, string.Empty);

                    List <string> lista = new List <string>();
                    (bsPortador.DataSource as CamadaDados.Financeiro.Cadastros.TList_CadPortador).ForEach(p =>
                    {
                        if (p.Vl_pagtoPDV.Equals(0))
                        {
                            if (lPort.Exists(x => x.Cd_portador.Equals(p.Cd_portador)))
                            {
                                lista.Add(lPort.Find(x => x.Cd_portador.Equals(p.Cd_portador)).Ds_portador);
                            }
                        }
                    });
                    if (lista.Count > decimal.Zero)
                    {
                        string msg = string.Empty;
                        if (lista.Count > 1)
                        {
                            for (int i = 0; lista.Count > i; i++)
                            {
                                msg += lista[i].Trim() + "\r\n";
                            }
                        }
                        if (MessageBox.Show((lista.Count == 1 ? "O portador " + lista[0].Trim() + " possui movimento!" :
                                             "Os portadores possuem movimento:\r\n" + msg) + "\r\nDeseja informar valor de fechamento para os portadores movimentados? ", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)
                            == DialogResult.Yes)
                        {
                            return;
                        }
                    }

                    //Buscar crédito avulso
                    if (st_ignorar.Equals(false))
                    {
                        CamadaDados.Financeiro.Adiantamento.TList_LanAdiantamento lCredAvulso
                            = CamadaNegocio.Financeiro.Adiantamento.TCN_LanAdiantamento.Buscar(string.Empty,
                                                                                               string.Empty,
                                                                                               string.Empty,
                                                                                               string.Empty,
                                                                                               string.Empty,
                                                                                               string.Empty,
                                                                                               decimal.Zero,
                                                                                               string.Empty,
                                                                                               string.Empty,
                                                                                               decimal.Zero,
                                                                                               decimal.Zero,
                                                                                               false,
                                                                                               false,
                                                                                               false,
                                                                                               string.Empty,
                                                                                               false,
                                                                                               false,
                                                                                               Id_caixa,
                                                                                               string.Empty,
                                                                                               0,
                                                                                               string.Empty,
                                                                                               null);
                        if (lCredAvulso.Count > 0)
                        {
                            if (MessageBox.Show("Houve lançamento de crédito avulso para o caixa. \r\nDeseja informar o valor referente?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)
                                == DialogResult.Yes)
                            {
                                st_ignorar = true; return;
                            }
                        }
                    }
                }
                this.DialogResult = DialogResult.OK;
            }
            else
            {
                MessageBox.Show("Existe sessão aberta para o Usuário." + pLogin.Trim() + "\r\n" +
                                "Para fazer o fechamento caixa, feche a tela de venda", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }