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; }
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); } }