コード例 #1
0
        /// <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));
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
        /// <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);
        }
コード例 #5
0
        /// <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);
        }
コード例 #6
0
        /// <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);
        }
コード例 #7
0
 /// <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));
 }
コード例 #8
0
 /// <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));
 }