public virtual bool Delete(ZOperationResult operationResult, TEntity entity) { try { if (UnitOfWork.BeforeDelete(operationResult, entity)) { if (BeforeDelete(operationResult, entity)) { string predicate = DataDictionary.LINQWhere; object[] ids = entity.GetId(); Expression <Func <TEntity, bool> > filter = System.Linq.Dynamic.DynamicExpression.ParseLambda <TEntity, bool>(predicate, ids); Collection.DeleteOne <TEntity>(filter); if (AfterDelete(operationResult, entity)) { UnitOfWork.AfterDelete(operationResult, entity); } } } } catch (Exception exception) { operationResult.ParseExceptionMongoDB(exception); } return(operationResult.Ok); }
public virtual bool Update(ZOperationResult operationResult, TEntity entity) { try { if (entity.BeforeUpdate(operationResult)) { if (BeforeUpdate(operationResult, entity)) { //if (UnitOfWork.BeforeUpdate(operationResult, entity)) { string predicate = Profile.LINQWhere; object[] ids = entity.GetId(); Expression <Func <TEntity, bool> > filter = System.Linq.Dynamic.DynamicExpression.ParseLambda <TEntity, bool>(predicate, ids); Collection.ReplaceOne <TEntity>(filter, entity); if (entity.AfterUpdate(operationResult)) { AfterUpdate(operationResult, entity); //{ // UnitOfWork.AfterUpdate(operationResult, entity); //} } } } } } catch (Exception exception) { operationResult.ParseExceptionMongoDB(exception); } return(operationResult.Ok); }
public virtual bool Create(ZOperationResult operationResult, TEntity entity) { try { if (UnitOfWork.BeforeCreate(operationResult, entity)) { if (BeforeCreate(operationResult, entity)) { object id = GetNextSequence(); if (id != null) { (entity as ZDataBase).SetId(new object[] { id }); } Collection.InsertOne(entity); if (AfterCreate(operationResult, entity)) { UnitOfWork.AfterCreate(operationResult, entity); } } } } catch (Exception exception) { operationResult.ParseExceptionMongoDB(exception); } return(operationResult.Ok); }