예제 #1
0
        public async Task <ApiResult> UpdateColumnAsync(ColumnInfoDO model)
        {
            var state = this.State;

            if (state.ColumnInfos.Any(m => m.Id == model.Id))
            {
                var columnInfo = state.ColumnInfos.First(mbox => mbox.Id == model.Id);
                columnInfo.IsDel       = model.IsDel;
                columnInfo.SelfColumn  = string.IsNullOrWhiteSpace(model.SelfColumn) ? columnInfo.SelfColumn : model.SelfColumn;
                columnInfo.ModelColumn = string.IsNullOrWhiteSpace(model.ModelColumn) ? columnInfo.ModelColumn : model.ModelColumn;
                columnInfo.Desc        = string.IsNullOrWhiteSpace(model.Desc) ? columnInfo.Desc : model.Desc;
                columnInfo.SortNo      = model.SortNo > 0 ? model.SortNo : columnInfo.SortNo;
                columnInfo.DisplayName = string.IsNullOrWhiteSpace(model.DisplayName) ? columnInfo.DisplayName : model.DisplayName;
                columnInfo.Version++;
                columnInfo.ModityDate = DateTime.Now;

                bool bRet = await _columnInfoRepository.SetAsync(columnInfo);

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

                //刷新缓存
                var groupCodes = new List <string> {
                    this.State.TableInfos.First(mbox => mbox.Id == columnInfo.TableId).GroupCode
                };
                await RefrshGroupState(groupCodes.ToList());

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

            return(ApiResultUtil.IsFailed($"列ID【{model.Id}】不存在!"));
        }
예제 #2
0
 public Task <ApiResult> UpdateColumnAsync(ColumnInfoDO model)
 {
     return(factory.GetGrain <IDataSyncSettingAllStateGrain>(System.Guid.Empty).UpdateColumnAsync(model));
 }