public async Task <ApiResult> UpdateTableAsync(TableInfoDO model)
        {
            var state = this.State;

            if (state.TableInfos.Any(m => m.Id == model.Id))
            {
                var tableInfoDO = state.TableInfos.First(mbox => mbox.Id == model.Id);
                tableInfoDO.IsDel     = model.IsDel;
                tableInfoDO.TableName = string.IsNullOrWhiteSpace(model.TableName) ? tableInfoDO.TableName : model.TableName;
                tableInfoDO.GroupCode = string.IsNullOrWhiteSpace(model.GroupCode) ? tableInfoDO.GroupCode : model.GroupCode;
                tableInfoDO.Desc      = string.IsNullOrWhiteSpace(model.Desc) ? tableInfoDO.Desc : model.Desc;
                tableInfoDO.Version++;
                tableInfoDO.ModityDate = DateTime.Now;

                bool bRet = await _tableInfoRepository.SetAsync(tableInfoDO);

                if (!bRet)
                {
                    return(ApiResultUtil.IsFailed("更新失败!"));
                }

                //刷新缓存
                var groupCodes = new List <string> {
                    tableInfoDO.GroupCode
                };
                await RefrshGroupState(groupCodes.ToList());

                await this.Persist(Kaneko.Core.Contract.ProcessAction.Update, this.State);
            }

            return(ApiResultUtil.IsFailed($"表ID【{model.Id}】不存在!"));
        }
Esempio n. 2
0
 public Task <ApiResult> UpdateTableAsync(TableInfoDO model)
 {
     return(factory.GetGrain <IDataSyncSettingAllStateGrain>(System.Guid.Empty).UpdateTableAsync(model));
 }