public static void InsertRoleAndFeatures(Rol role) { /* Lo tengo que hacer transaccionado ya que no quiero que pueda llegar a quedar un rol insertado * sin las funcionalidades asociadas debido a un error */ using (var transaction = DataBaseManager.Instance().Connection.BeginTransaction(IsolationLevel.Serializable)) { try { role = Insert(role, transaction); FuncionalidadPersistance.InsertByRole(role, transaction); transaction.Commit(); } catch (Exception) { transaction.Rollback(); throw new Exception("Se produjo un error durante la insercion del rol"); } } }
public static int Update(Publicacion publication) { /* Lo tengo que hacer transaccionado ya que no quiero que pueda llegar a quedar un rol insertado * sin las funcionalidades asociadas debido a un error */ using (var transaction = DataBaseManager.Instance().Connection.BeginTransaction(IsolationLevel.Serializable)) { try { Update(publication, transaction); if (RubroPersistance.DeleteByPublication(publication, transaction) > 0) { if (RubroPersistance.InsertByPublication(publication, transaction) > 0) { //La unica forma que se realice la transaction: borro todas los rubros viejos e inserto los nuevos transaction.Commit(); return(1); } else { //Tuvo que haber insertado por lo menos uno, sino es un error transaction.Rollback(); return(0); } } else { //Tuvo que haber insertado por lo menos uno, sino es un error transaction.Rollback(); return(0); } } catch (Exception) { transaction.Rollback(); throw new Exception("Se produjo un error durante la modificacion de la publicacion"); } } }
public static void UpdateRoleAndFeatures(Rol role) { /* Lo tengo que hacer transaccionado ya que no quiero que pueda llegar a quedar un rol insertado * sin las funcionalidades asociadas debido a un error */ using (var transaction = DataBaseManager.Instance().Connection.BeginTransaction(IsolationLevel.Serializable)) { try { Update(role, transaction); if (FuncionalidadPersistance.DeleteByRole(role, transaction) > 0) { if (FuncionalidadPersistance.InsertByRole(role, transaction) > 0) { //La unica forma que se realice la transaction: borro todas las funcionalidades viejas e inserto las nuevas transaction.Commit(); } else { //Tuvo que haber insertado por lo menos una, sino es un error transaction.Rollback(); } } else { //Tuvo que haber insertado por lo menos una, sino es un error transaction.Rollback(); } } catch (Exception) { transaction.Rollback(); throw new Exception("Se produjo un error durante la modificacion del rol"); } } }