public ActionResult Edit(TipoTelefone obj)
 {
     using (ISession session = NHibernateHelper.OpenSession()) {
         using (ITransaction transaction = session.BeginTransaction()) {
             try {
                 session.Merge(obj);
                 transaction.Commit();
                 ViewData[Constantes.VD_MSG_SUCESSO] =
                     Constantes.MSG_SUCESSO_REGISTRO_ATUALIZADO;
             } catch (PropertyValueException) {
                 ViewData[Constantes.VD_MSG_ERRO] =
                         Constantes.MSG_ERRO_REGISTRO_ATUALIZADO;
                 transaction.Rollback();
             } catch (GenericADOException) {
                 ViewData[Constantes.VD_MSG_ERRO] =
                         Constantes.MSG_ERRO_REGISTRO_ATUALIZADO;
                 transaction.Rollback();
             }
         }
     }
     return View("Edit", obj);
 }
 public ActionResult Edit(int id)
 {
     TipoTelefone obj = new TipoTelefone();
     if (id > 0) {
         obj = NHibernateHelper.OpenSession().CreateCriteria<TipoTelefone>()
             .Add(Restrictions.Eq(Projections.Property(TipoTelefone.ID), id))
             .UniqueResult<TipoTelefone>();
     }
     return View("Edit", obj);
 }