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