public ViewFinLancamentoReceberDTO saveOrUpdate(ViewFinLancamentoReceberDTO objeto)
        {
            try
            {
                FinParcelaReceberDTO parcela = new FinParcelaReceberDTO();
                parcela.Id = objeto.IdParcelaReceber;
                parcela.IdFinLancamentoReceber = objeto.IdLancamentoReceber;
                parcela.ContaCaixa             = new ContaCaixaDTO();
                parcela.ContaCaixa.Id          = objeto.IdContaCaixa;
                parcela.IdFinStatusParcela     = (Int32)objeto.IdStatusParcela;

                base.saveOrUpdate <FinParcelaReceberDTO>(parcela);

                IList <FinParcelaRecebimentoDTO> listaExclusaoParcelaRecebimento = session.CreateCriteria(typeof(FinParcelaRecebimentoDTO)).
                                                                                   Add(Expression.Eq("IdFinParcelaReceber", objeto.IdParcelaReceber)).List <FinParcelaRecebimentoDTO>();

                foreach (FinParcelaRecebimentoDTO objLista in listaExclusaoParcelaRecebimento)
                {
                    session.Delete(objLista);
                }

                if (objeto.ListaFinParcelaRecebimento != null)
                {
                    foreach (FinParcelaRecebimentoDTO objLista in objeto.ListaFinParcelaRecebimento)
                    {
                        objLista.IdFinParcelaReceber = parcela.Id;
                        session.Save(objLista);
                    }
                }

                session.Flush();

                return(objeto);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }