protected virtual async Task CreateColumnInfoAsync(CreateOrUpdateColumnInfoDto input) { if (_columnInfoRepository.GetAll().Any(p => p.Title == input.ColumnInfo.Title)) { throw new UserFriendlyException(L("TitleExist")); } //如果排序号为空,则自动设置序号 if (!input.ColumnInfo.SortNo.HasValue) { input.ColumnInfo.SortNo = _columnInfoRepository.GetAll().DefaultIfEmpty().Max(p => p.SortNo.HasValue ? p.SortNo.Value : 0) + 1; } var columnInfo = new ColumnInfo() { Code = GetCode(), ParentId = input.ColumnInfo.ParentId, Title = input.ColumnInfo.Title, SortNo = input.ColumnInfo.SortNo, IsActive = input.ColumnInfo.IsActive, IsNeedAuthorizeAccess = input.ColumnInfo.IsNeedAuthorizeAccess, Description = input.ColumnInfo.Description, Introduction = input.ColumnInfo.Introduction, IconCls = input.ColumnInfo.IconCls, Url = input.ColumnInfo.Url, MaxItemCount = input.ColumnInfo.MaxItemCount, ColumnType = input.ColumnInfo.ColumnType, IsStatic = input.ColumnInfo.IsStatic, CreatorUserId = AbpSession.UserId, CreationTime = Clock.Now, TenantId = AbpSession.TenantId }; await _columnInfoRepository.InsertAsync(columnInfo); }
protected virtual async Task UpdateColumnInfoAsync(CreateOrUpdateColumnInfoDto input) { Debug.Assert(input.ColumnInfo.Id != null, "必须设置input.ColumnInfo.Id的值"); var columnInfo = await _columnInfoRepository.GetAsync(input.ColumnInfo.Id.Value); if (input.ColumnInfo.Title != columnInfo.Title) { if (_columnInfoRepository.GetAll().Any(p => p.Title == input.ColumnInfo.Title)) { throw new UserFriendlyException(L("TitleExist")); } } columnInfo.ParentId = input.ColumnInfo.ParentId; columnInfo.Title = input.ColumnInfo.Title; columnInfo.SortNo = input.ColumnInfo.SortNo; columnInfo.IsActive = input.ColumnInfo.IsActive; columnInfo.IsNeedAuthorizeAccess = input.ColumnInfo.IsNeedAuthorizeAccess; columnInfo.Description = input.ColumnInfo.Description; columnInfo.Introduction = input.ColumnInfo.Introduction; columnInfo.IconCls = input.ColumnInfo.IconCls; columnInfo.Url = input.ColumnInfo.Url; columnInfo.MaxItemCount = input.ColumnInfo.MaxItemCount; columnInfo.ColumnType = input.ColumnInfo.ColumnType; columnInfo.IsStatic = input.ColumnInfo.IsStatic; }
public async Task CreateOrUpdateColumnInfo(CreateOrUpdateColumnInfoDto input) { if (!input.ColumnInfo.Id.HasValue) { await CreateColumnInfoAsync(input); } else { await UpdateColumnInfoAsync(input); } }