Пример #1
0
        public void Gravar(TB_FIN_CAIXA_LANCAMENTO_X_USUARIO caixa, ref int posicaoTransacao)
        {
            try
            {
                Conexao.Iniciar(ref posicaoTransacao);

                var existente = Conexao.BancoDados.TB_FIN_CAIXA_LANCAMENTO_X_USUARIOs.FirstOrDefault(a => a.ID_USUARIO == caixa.ID_USUARIO && a.DT_INICIAL != null);

                // Abre o caixa geral
                if (existente == null)
                {
                    var caixaGeral = new QCaixaGeral();
                    caixaGeral.Abrir(ref posicaoTransacao);

                    Conexao.BancoDados.TB_FIN_CAIXA_LANCAMENTOs.InsertOnSubmit(new TB_FIN_CAIXA_LANCAMENTO
                    {
                        ID_CAIXA      = Conexao.BancoDados.TB_FIN_CAIXAs.Max(p => p.ID_CAIXA),
                        ID_LANCAMENTO = (Conexao.BancoDados.TB_FIN_CAIXA_LANCAMENTOs.Any(a => a.ID_LANCAMENTO == caixa.ID_LANCAMENTO) ? Conexao.BancoDados.TB_FIN_CAIXA_LANCAMENTOs.Where(a => a.ID_LANCAMENTO == caixa.ID_LANCAMENTO).Max(a => a.ID_LANCAMENTO) : 0) + 1,
                        TP_MOVIMENTO  = "E",
                        VL            = caixa.VL_FINAL == null ? caixa.VL_INICIAL : caixa.VL_FINAL
                    });
                    Conexao.Enviar();

                    var vCaixa = new TB_FIN_CAIXA_LANCAMENTO_X_USUARIO
                    {
                        //(QQuery.BancoDados.TB_EST_GRUPOs.Any(a => a.ID_GRUPO == grupo.ID_GRUPO) ? QQuery.BancoDados.TB_EST_GRUPOs.Where(a => a.ID_GRUPO == grupo.ID_GRUPO).Max(a => a.ID_GRUPO) : 0) + 1;
                        ID_CAIXA      = (Conexao.BancoDados.TB_FIN_CAIXA_LANCAMENTO_X_USUARIOs.Any(a => a.ID_CAIXA == caixa.ID_CAIXA) ? Conexao.BancoDados.TB_FIN_CAIXA_LANCAMENTO_X_USUARIOs.Where(a => a.ID_CAIXA == caixa.ID_CAIXA).Max(a => a.ID_CAIXA) : 0) + 1,
                        ID_USUARIO    = caixa.ID_USUARIO,
                        ID_LANCAMENTO = (Conexao.BancoDados.TB_FIN_CAIXA_LANCAMENTOs.Any(a => a.ID_LANCAMENTO == caixa.ID_LANCAMENTO) ? Conexao.BancoDados.TB_FIN_CAIXA_LANCAMENTOs.Where(a => a.ID_LANCAMENTO == caixa.ID_LANCAMENTO).Max(a => a.ID_LANCAMENTO) : 0) + 1,
                        VL_INICIAL    = caixa.VL_INICIAL,
                        VL_FINAL      = caixa.VL_FINAL,
                        DT_INICIAL    = caixa.DT_INICIAL,
                        DT_FINAL      = caixa.DT_FINAL
                    };
                    Conexao.BancoDados.TB_FIN_CAIXA_LANCAMENTO_X_USUARIOs.InsertOnSubmit(vCaixa);
                }
                else
                {
                    existente.VL_FINAL = caixa.VL_FINAL;
                    existente.DT_FINAL = caixa.DT_FINAL;
                }



                Conexao.Enviar();

                Conexao.Finalizar(ref posicaoTransacao);
            }
            catch (Exception excessao)
            {
                Conexao.Voltar(ref posicaoTransacao);
                throw excessao;
            }
        }
Пример #2
0
        public TB_FIN_LIQUIDACAO Gravar(TB_FIN_PARCELA parcela, decimal valorDesconto, decimal valorJuros, int?formaPagamento, ref int posicaoTransacao)
        {
            try
            {
                Conexao.Iniciar(ref posicaoTransacao);

                // Abre o caixa geral
                var caixa = new QCaixaGeral();
                caixa.Abrir(ref posicaoTransacao);

                var liquidacao = new TB_FIN_LIQUIDACAO
                {
                    ID_LIQUIDACAO     = (Conexao.BancoDados.TB_FIN_LIQUIDACAOs.Any() ? Conexao.BancoDados.TB_FIN_LIQUIDACAOs.Max(a => a.ID_LIQUIDACAO) : 0) + 1,
                    ID_PARCELA        = parcela.ID_PARCELA,
                    ID_DUPLICATA      = parcela.ID_DUPLICATA,
                    ID_EMPRESA        = parcela.ID_EMPRESA,
                    ID_USUARIO        = Parametros.ID_Usuario,
                    VL                = parcela.VL,
                    ST                = true,
                    VL_DESCONTO       = valorDesconto,
                    ID_FORMAPAGAMENTO = formaPagamento
                };

                Conexao.BancoDados.TB_FIN_LIQUIDACAOs.InsertOnSubmit(liquidacao);


                Conexao.Enviar();

                Conexao.Finalizar(ref posicaoTransacao);

                return(liquidacao);
            }
            catch (Exception excessao)
            {
                Conexao.Voltar(ref posicaoTransacao);
                throw excessao;
            }
        }