示例#1
0
        private void gComissao_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            if (gComissao.Columns[e.ColumnIndex].SortMode == DataGridViewColumnSortMode.NotSortable)
            {
                return;
            }
            if (bsComissao.Count < 1)
            {
                return;
            }
            PropertyDescriptorCollection lP = TypeDescriptor.GetProperties(new CamadaDados.Faturamento.Comissao.TRegistro_Fechamento_Comissao());

            CamadaDados.Faturamento.Comissao.TList_Fechamento_Comissao lComparer;
            SortOrder direcao = SortOrder.None;

            if ((gComissao.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection == SortOrder.None) ||
                (gComissao.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection == SortOrder.Descending))
            {
                lComparer = new CamadaDados.Faturamento.Comissao.TList_Fechamento_Comissao(lP.Find(gComissao.Columns[e.ColumnIndex].DataPropertyName, true), SortOrder.Ascending);
                foreach (DataGridViewColumn c in gComissao.Columns)
                {
                    c.HeaderCell.SortGlyphDirection = SortOrder.None;
                }
                direcao = SortOrder.Ascending;
            }
            else
            {
                lComparer = new CamadaDados.Faturamento.Comissao.TList_Fechamento_Comissao(lP.Find(gComissao.Columns[e.ColumnIndex].DataPropertyName, true), SortOrder.Descending);
                foreach (DataGridViewColumn c in gComissao.Columns)
                {
                    c.HeaderCell.SortGlyphDirection = SortOrder.None;
                }
                direcao = SortOrder.Descending;
            }
            (bsComissao.List as CamadaDados.Faturamento.Comissao.TList_Fechamento_Comissao).Sort(lComparer);
            bsComissao.ResetBindings(false);
            gComissao.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection = direcao;
        }
示例#2
0
        public static void ProcessarComissao(TRegistro_OutrasReceitas val, BancoDados.TObjetoBanco banco)
        {
            bool st_transacao = false;
            TCD_OutrasReceitas qtb_receita = new TCD_OutrasReceitas();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_receita.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_receita.Banco_Dados = banco;
                }
                //Verificar se ja existe comissao
                CamadaDados.Faturamento.Comissao.TList_Fechamento_Comissao lComissao =
                    CamadaNegocio.Faturamento.Comissao.TCN_Fechamento_Comissao.Buscar(string.Empty,
                                                                                      val.Cd_empresa,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      val.Id_receitastr,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      qtb_receita.Banco_Dados);
                if (lComissao.Count > 0)
                {
                    //Verificar se comissao possui faturamento
                    if (new CamadaDados.Faturamento.Comissao.TCD_Comissao_X_Duplicata(qtb_receita.Banco_Dados).BuscarEscalar(
                            new Utils.TpBusca[]
                    {
                        new Utils.TpBusca()
                        {
                            vNM_Campo = "a.cd_empresa",
                            vOperador = "=",
                            vVL_Busca = "'" + lComissao[0].Cd_empresa.Trim() + "'"
                        },
                        new Utils.TpBusca()
                        {
                            vNM_Campo = "a.id_comissao",
                            vOperador = "=",
                            vVL_Busca = lComissao[0].Id_comissaostr
                        }
                    }, "1") == null)
                    {
                        CamadaNegocio.Faturamento.Comissao.TCN_Fechamento_Comissao.Excluir(lComissao[0], qtb_receita.Banco_Dados);
                    }
                    else
                    {
                        throw new Exception("Receita possui comissão faturada. Obrigatorio antes cancelar faturamento comissão.");
                    }
                }
                if (!string.IsNullOrEmpty(val.Cd_motorista))
                {
                    decimal vl_basecalc = val.Vl_receita;
                    decimal pc_comissao = decimal.Zero;
                    string  tp_comissao = "P";
                    decimal vl_comissao = CamadaNegocio.Faturamento.Comissao.TCN_Fechamento_Comissao.CalcularComissao(val.Cd_empresa,
                                                                                                                      val.Cd_motorista,
                                                                                                                      string.Empty,
                                                                                                                      string.Empty,
                                                                                                                      string.Empty,
                                                                                                                      decimal.Zero,
                                                                                                                      ref vl_basecalc,
                                                                                                                      ref pc_comissao,
                                                                                                                      ref tp_comissao,
                                                                                                                      qtb_receita.Banco_Dados);
                    //Gravar fechamento comissao
                    if (vl_comissao > decimal.Zero)
                    {
                        CamadaNegocio.Faturamento.Comissao.TCN_Fechamento_Comissao.Gravar(
                            new CamadaDados.Faturamento.Comissao.TRegistro_Fechamento_Comissao()
                        {
                            Cd_empresa  = val.Cd_empresa,
                            Cd_vendedor = val.Cd_motorista,
                            Dt_lancto   = val.Dt_receita.HasValue ? val.Dt_receita : CamadaDados.UtilData.Data_Servidor(qtb_receita.Banco_Dados),
                            Id_receita  = val.Id_receita,
                            Tp_comissao = tp_comissao,
                            Pc_comissao = pc_comissao,
                            Vl_basecalc = vl_basecalc,
                            Vl_comissao = vl_comissao
                        }, qtb_receita.Banco_Dados);
                        if (st_transacao)
                        {
                            qtb_receita.Banco_Dados.Commit_Tran();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                if (banco == null)
                {
                    qtb_receita.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro processar comissão: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_receita.deletarBanco_Dados();
                }
            }
        }