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