Exemplo n.º 1
0
        public override void Deletar()
        {
            base.Deletar();

            var selecionado = gvCondicaoPagamento.GetSelectedRow();

            if (selecionado == null)
            {
                Mensagens.Selecionar();
            }

            int ID = selecionado.ID;

            var consulta = new QCondicaoPagamento();

            var condicaoPagamento = consulta.Buscar(ID).FirstOrDefault();

            if (Mensagens.Deletar() == System.Windows.Forms.DialogResult.Yes)
            {
                var posicaoTransacao = 0;
                consulta.Deletar(condicaoPagamento, ref posicaoTransacao);
                Mensagens.Deletado();
                Buscar();
            }
        }
Exemplo n.º 2
0
        public override void Alterar()
        {
            base.Alterar();

            var selecionado = gvCondicaoPagamento.GetSelectedRow();

            if (selecionado == null)
            {
                Mensagens.Selecionar();
            }
            else
            {
                var condicaoPagamento = new QCondicaoPagamento().Buscar((selecionado.ID as int?).Padrao()).FirstOrDefault();

                using (var alterar = new FCondicaoPagamento_Cadastro()
                {
                    CondicaoPagamento = condicaoPagamento, Modo = Modo.Alterar
                })
                {
                    if (alterar.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                    {
                        teID_CONDICAOPAGAMENTO.Text = alterar.CondicaoPagamento.ID_CONDICAOPAGAMENTO.ToString();
                        Mensagens.Sucesso();
                        Buscar();
                    }
                }
            }
        }
Exemplo n.º 3
0
        public void Gravar(TB_FIN_DUPLICATA duplicata, decimal valorDesconto, decimal valorJuros, int?formaPagamento, ref int posicaoTransacao)
        {
            try
            {
                Conexao.Iniciar(ref posicaoTransacao);

                if (duplicata.ID_DUPLICATA.ToString().Length > 0)
                {
                    Deletar(duplicata, ref posicaoTransacao);
                }

                duplicata.ID_DUPLICATA = duplicata.ID_DUPLICATA.TemValor() ? duplicata.ID_DUPLICATA : ((Conexao.BancoDados.TB_FIN_DUPLICATAs.Any() ? Conexao.BancoDados.TB_FIN_DUPLICATAs.Max(a => a.ID_DUPLICATA) : 0) + 1);

                if (!duplicata.ID_CONDICAOPAGAMENTO.TemValor())
                {
                    throw new SYSException(Mensagens.Necessario("informar a condição de pagamento"));
                }

                Conexao.BancoDados.TB_FIN_DUPLICATAs.InsertOnSubmit(duplicata);
                Conexao.Enviar();

                duplicata.TB_FIN_PARCELAs = new System.Data.Linq.EntitySet <TB_FIN_PARCELA>();

                var condicaoPagamento = new QCondicaoPagamento().Buscar(duplicata.ID_CONDICAOPAGAMENTO.Padrao()).FirstOrDefault();

                for (var i = 0; i < (duplicata.QT_PARCELAS ?? 1); i++)
                {
                    var data = condicaoPagamento.QT_DIASDESDOBRO.Padrao() == 0 ? Conexao.Data : Conexao.Data.AddDays(Convert.ToDouble(condicaoPagamento.QT_DIASDESDOBRO.Padrao()) * (i + 1));

                    var parcela = new TB_FIN_PARCELA
                    {
                        ID_PARCELA    = i + 1,
                        ID_DUPLICATA  = duplicata.ID_DUPLICATA,
                        ID_EMPRESA    = duplicata.ID_EMPRESA,
                        VL            = duplicata.VL / duplicata.QT_PARCELAS,
                        DT_VENCIMENTO = data,
                        DT_PAGAMENTO  = data == Conexao.Data ? Conexao.DataHora : (DateTime?)null
                    };

                    Conexao.BancoDados.TB_FIN_PARCELAs.InsertOnSubmit(parcela);

                    Conexao.Enviar();

                    if (parcela.DT_VENCIMENTO == Conexao.Data)
                    {
                        new QLiquidacao().Gravar(parcela, valorDesconto, valorJuros, formaPagamento, ref posicaoTransacao);
                    }

                    Conexao.Enviar();
                }

                Conexao.Finalizar(ref posicaoTransacao);
            }
            catch (Exception excessao)
            {
                Conexao.Voltar(ref posicaoTransacao);
                throw excessao;
            }
        }
Exemplo n.º 4
0
        private IQueryable CondicaoPagamento(bool leave)
        {
            var Condicao = beCondicao.Text.ToInt32(true).Padrao();

            if (leave && Condicao <= 0)
            {
                return(null);
            }

            var consulta = new QCondicaoPagamento();
            var retorno  = (from a in consulta.Buscar(Condicao)
                            select new
            {
                ID = a.ID_CONDICAOPAGAMENTO,
                NM = a.DS
            }).AsQueryable();

            if (leave)
            {
                retorno = retorno.Take(1);
            }

            return(retorno);
        }