/// <summary> /// save data /// </summary> /// <param name="data">data</param> /// <param name="activationOption">activation option</param> /// <returns></returns> public async Task <IActivationRecord> SaveAsync(ET data, ActivationOption activationOption = null) { await WarehouseManager.SaveAsync(data).ConfigureAwait(false); var identityValue = data.GetIdentityValue(); return(DefaultActivationRecord <ET, DAI> .CreateSaveRecord(identityValue, activationOption)); }
/// <summary> /// modify /// </summary> /// <param name="modifyExpression">modify expression</param> /// <param name="query">query</param> /// <returns></returns> public async Task <IActivationRecord> ModifyAsync(IModify modifyExpression, IQuery query, ActivationOption activationOption = null) { await WarehouseManager.ModifyAsync <ET>(modifyExpression, query); var record = DefaultActivationRecord <ET, DAI> .CreateModifyRecord(modifyExpression, query, activationOption); return(record); }
/// <summary> /// remove /// </summary> /// <param name="query"></param> /// <returns></returns> public async Task <IActivationRecord> RemoveAsync(IQuery query, ActivationOption activationOption = null) { await WarehouseManager.RemoveAsync <ET>(query); var record = DefaultActivationRecord <ET, DAI> .CreateRemoveByConditionRecord(query, activationOption); return(record); }
/// <summary> /// Remove data /// </summary> /// <param name="datas">Datas</param> /// <param name="activationOption">Activation option</param> /// <returns>Return the activation record</returns> public IActivationRecord Remove(IEnumerable <TEntity> datas, ActivationOption activationOption = null) { if (datas.IsNullOrEmpty()) { return(null); } var packageRecord = DefaultActivationRecord <TEntity, TDataAccess> .CreatePackageRecord(); foreach (var data in datas) { var dataRecord = Remove(data, activationOption); packageRecord.AddFollowRecords(dataRecord); } return(packageRecord); }
/// <summary> /// remove data /// </summary> /// <param name="datas">datas</param> /// <param name="activationOption">activation option</param> /// <returns></returns> public async Task <IActivationRecord> RemoveAsync(IEnumerable <ET> datas, ActivationOption activationOption = null) { if (datas.IsNullOrEmpty()) { return(null); } var packageRecord = DefaultActivationRecord <ET, DAI> .CreatePackageRecord(); foreach (var data in datas) { var dataRecord = await RemoveAsync(data, activationOption).ConfigureAwait(false); packageRecord.AddFollowRecords(dataRecord); } return(packageRecord); }
/// <summary> /// remove data /// </summary> /// <typeparam name="ET">entity</typeparam> /// <typeparam name="DAI">persistent data service</typeparam> /// <param name="datas">datas</param> /// <returns></returns> public async Task <IActivationRecord> RemoveAsync(params ET[] datas) { if (datas.IsNullOrEmpty()) { return(null); } await WarehouseManager.RemoveAsync(datas); var packageRecord = DefaultActivationRecord <ET, DAI> .CreatePackageRecord(); foreach (var data in datas) { var identityValue = data.GetIdentityValue(); packageRecord.AddFollowRecords(DefaultActivationRecord <ET, DAI> .CreateRemoveObjectRecord(identityValue)); } return(packageRecord); }
/// <summary> /// Modify /// </summary> /// <param name="modifyExpression">Modify expression</param> /// <param name="query">Query object</param> /// <returns>Return the activation record</returns> public IActivationRecord Modify(IModify modifyExpression, IQuery query, ActivationOptions activationOptions = null) { WarehouseManager.Modify <TEntity>(modifyExpression, query); return(DefaultActivationRecord <TEntity, TDataAccess> .CreateModifyRecord(modifyExpression, query, activationOptions)); }
/// <summary> /// Remove /// </summary> /// <param name="query">Query object</param> /// <returns>Return the activation record</returns> public IActivationRecord Remove(IQuery query, ActivationOptions activationOptions = null) { WarehouseManager.Remove <TEntity>(query); return(DefaultActivationRecord <TEntity, TDataAccess> .CreateRemoveByConditionRecord(query, activationOptions)); }