internal bool DeleteAccount(Account conta) { try { _transaction = TransacaoDAL.GetTransaction(); EntityState entityState = EntityState.Deleted; AccountDAL.persistAccount(conta, entityState, _transaction); CommitTransaction(); return(true); } catch (System.Data.Entity.Validation.DbEntityValidationException ex) { RollBackTransaction(); throw new OperacaoException(Helper.ViewEntityException(ex)); } catch (Exception ex) { RollBackTransaction(); throw ex; } }
internal bool PersistAccount(Account conta) { try { _transaction = TransacaoDAL.GetTransaction(); EntityState entityState = EntityState.Modified; Account contaDB = AccountDAL.getAccountByID(conta.ID); if (contaDB == null) { entityState = EntityState.Added; } AccountDAL.persistAccount(conta, entityState, _transaction); CommitTransaction(); return(true); } catch (System.Data.Entity.Validation.DbEntityValidationException ex) { RollBackTransaction(); throw new OperacaoException(Helper.ViewEntityException(ex)); } catch (Exception ex) { RollBackTransaction(); throw ex; } }
/// <summary> /// Método que Aplica o rollback na transacao /// </summary> /// <param name="rec">Requisição a ser alterada</param> internal static void RollBackTransaction(ref ZeusDataSource ctx) { try { if (ctx != null) { ctx.Database.CurrentTransaction.Rollback(); } } catch (Exception ex) { throw ex; } finally { try { ctx.Dispose(); } catch { } finally { ctx = null; } } }
/// <summary> /// Método que inicia uma Transacao /// </summary> /// <param name="rec">Requisição a ser alterada</param> internal static ZeusDataSource GetTransaction() { var ctx = new ZeusDataSource(); var transaction = ctx.Database.BeginTransaction(System.Data.IsolationLevel.ReadCommitted); return(ctx); }
internal static void persistAccount(Account conta, EntityState entityState, ZeusDataSource _transaction) { accounts obj = new accounts { BLOKED = conta.BLOKED, EMAIL = conta.EMAIL, GROUPID = conta.GROUPID, ID = conta.ID, KEY = conta.KEY, LASTDAY = conta.LASTDAY, NAME = conta.NAME, PASSWORD = conta.PASSWORD, PREMDAYS = conta.PREMDAYS, WARNINGS = conta.WARNINGS }; _transaction.Entry <accounts>(obj).State = entityState; }
internal static List <Account> getAllAccounts() { using (var ctx = new ZeusDataSource()) { return(ctx.accounts .Select(conta => new Account { BLOKED = conta.BLOKED, EMAIL = conta.EMAIL, GROUPID = conta.GROUPID, ID = conta.ID, KEY = conta.KEY, LASTDAY = conta.LASTDAY, NAME = conta.NAME, PASSWORD = conta.PASSWORD, PREMDAYS = conta.PREMDAYS, WARNINGS = conta.WARNINGS }).ToList()); } }
internal static Account getAccountByID(int contaID) { using (var ctx = new ZeusDataSource()) { return(ctx.accounts .Where(conta => conta.ID.Equals(contaID)) .Select(conta => new Account { BLOKED = conta.BLOKED, EMAIL = conta.EMAIL, GROUPID = conta.GROUPID, ID = conta.ID, KEY = conta.KEY, LASTDAY = conta.LASTDAY, NAME = conta.NAME, PASSWORD = conta.PASSWORD, PREMDAYS = conta.PREMDAYS, WARNINGS = conta.WARNINGS }).FirstOrDefault()); } }