public virtual bool Update(ZOperationResult operationResult, TEntityDTO entityDTO, bool isTransaction = true) { bool inTransaction = false; try { if (IsUpdate(operationResult)) { TEntity entity = (TEntity)entityDTO.ToData(); inTransaction = UnitOfWork.BeginTransaction(operationResult, isTransaction); if (inTransaction) { string logOperation = "U"; string logMode; bool isAuditTrail = AuditTrailManager.IsAuditTrail(UnitOfWork.Domain, Repository.Entity, logOperation, out logMode); TEntity entityBefore = null; if (isAuditTrail) { entityBefore = Repository.GetById(entity.GetId()); } if (Repository.Update(operationResult, entity)) { if (UnitOfWork.Save(operationResult)) { if (UnitOfWork.CommitTransaction(operationResult, isTransaction)) { entityDTO.FromData(entity); if (isAuditTrail) { AuditTrailManager.AuditTrail(operationResult, AuthenticationManager.UserName, UnitOfWork.Domain, Repository.Entity, logOperation, entityBefore, entity); } } } } } } } catch (Exception exception) { operationResult.ParseException(exception); } finally { if (inTransaction && !operationResult.Ok) { UnitOfWork.RollbackTransaction(operationResult, isTransaction); } } return(operationResult.Ok); }
public virtual bool Update(ZOperationResult operationResult, TEntityDTO entityDTO, bool isTransaction = true) { bool inTransaction = false; try { if (IsUpdate(operationResult)) { TEntity entity = (TEntity)entityDTO.ToData(); inTransaction = UnitOfWork.BeginTransaction(operationResult, isTransaction); if (inTransaction) { string logOperation = "U"; bool isAuditTrail = AuditTrailManager.IsAuditTrail(UnitOfWork.Domain, Repository.Entity, logOperation); TEntity entityBefore = null; if (isAuditTrail) { entityBefore = Repository.GetById(entity.GetId()); } if (Repository.Update(operationResult, entity)) { if (UnitOfWork.Save(operationResult)) { if (UnitOfWork.CommitTransaction(operationResult, isTransaction)) { // ??? //LibraryHelper.Clone((TEntityDTO)Activator.CreateInstance(typeof(TEntityDTO), entity), entityDTO); entityDTO.FromData(entity); if (isAuditTrail) { AuditTrailManager.AuditTrail(operationResult, UnitOfWork.Domain, Repository.Entity, logOperation, entityBefore, entity); } } } } } } } catch (Exception exception) { operationResult.ParseException(exception); } finally { if (inTransaction && !operationResult.Ok) { UnitOfWork.RollbackTransaction(operationResult, isTransaction); } } return(operationResult.Ok); }
public bool Update(ZOperationResult operationResult, TEntity entity, bool isTransaction = true) { bool inTransaction = false; try { if (IsUpdate(operationResult)) { inTransaction = UnitOfWork.BeginTransaction(operationResult, isTransaction); if (inTransaction) { string logOperation = "U"; bool isAuditTrail = AuditTrailManager.IsAuditTrail(UnitOfWork.Domain, Repository.Entity, logOperation); TEntity entityBefore = null; if (isAuditTrail) { entityBefore = Repository.GetById(entity.GetId()); } if (Repository.Update(operationResult, entity)) { if (UnitOfWork.Save(operationResult)) { if (UnitOfWork.CommitTransaction(operationResult, isTransaction)) { if (isAuditTrail) { AuditTrailManager.AuditTrail(operationResult, UnitOfWork.Domain, Repository.Entity, logOperation, entityBefore, entity); } } } } } } } catch (Exception exception) { operationResult.ParseException(exception); } finally { if (inTransaction && !operationResult.Ok) { UnitOfWork.RollbackTransaction(operationResult, isTransaction); } } return(operationResult.Ok); }
public virtual bool Update(ZOperationResult operationResult, TEntityDTO entityDTO) { try { if (IsUpdate(operationResult)) { TEntity entity = (TEntity)entityDTO.ToData(); string logOperation = "U"; string logMode; bool isAuditTrail = AuditTrailManager.IsAuditTrail(UnitOfWork.Domain, Repository.Entity, logOperation, out logMode); TEntity entityBefore = null; if (isAuditTrail) { entityBefore = Repository.GetById(entity.GetId()); } if (Repository.Update(operationResult, entity)) { if (UnitOfWork.Save(operationResult)) { entityDTO.FromData(entity); if (isAuditTrail) { AuditTrailManager.AuditTrail(operationResult, AuthenticationManager.UserName, UnitOfWork.Domain, Repository.Entity, logOperation, entityBefore, entity); } } } } } catch (Exception exception) { operationResult.ParseException(exception); } return(operationResult.Ok); }