public async Task <ActionResult <BoolResult> > Submit([FromBody] SubmitRequest request) { if (!await _authManager.HasSitePermissionsAsync(request.SiteId, MenuUtils.SitePermissions.SettingsContentTag)) { return(Unauthorized()); } var tagNames = await _contentTagRepository.GetTagNamesAsync(request.SiteId); foreach (var tagName in ListUtils.GetStringListByReturnAndNewline(request.TagNames)) { if (ListUtils.Contains(tagNames, tagName)) { continue; } await _contentTagRepository.InsertAsync(request.SiteId, tagName); } await _authManager.AddSiteLogAsync(request.SiteId, "新增内容标签"); return(new BoolResult { Value = true }); }
private async Task <(bool Success, string ErrorMessage)> InsertTableStyleAsync(SubmitRequest request) { var relatedIdentities = ListUtils.GetIntList(request.RelatedIdentities); var relatedIdentity = relatedIdentities[0]; if (string.IsNullOrEmpty(request.AttributeName)) { return(false, "操作失败,字段名不能为空!"); } if (await _tableStyleRepository.IsExistsAsync(relatedIdentity, request.TableName, request.AttributeName)) { return(false, $@"显示样式添加失败:字段名""{request.AttributeName}""已存在"); } var style = await _databaseManager.IsAttributeNameExistsAsync(request.TableName, request.AttributeName) ? await _tableStyleRepository.GetTableStyleAsync(request.TableName, request.AttributeName, relatedIdentities) : new Models.TableStyle(); style.RelatedIdentity = relatedIdentity; style.TableName = request.TableName; style.AttributeName = request.AttributeName; style.DisplayName = request.DisplayName; style.HelpText = request.HelpText; style.Taxis = request.Taxis; style.InputType = request.InputType; style.DefaultValue = request.DefaultValue; style.Horizontal = request.Horizontal; style.Items = new List <InputStyleItem>(); if (request.InputType == InputType.CheckBox || request.InputType == InputType.Radio || request.InputType == InputType.SelectMultiple || request.InputType == InputType.SelectOne) { if (request.IsRapid) { foreach (var rapidValue in ListUtils.GetStringListByReturnAndNewline(request.RapidValues)) { var itemInfo = new InputStyleItem { Label = rapidValue, Value = rapidValue, Selected = false }; style.Items.Add(itemInfo); } } else { var isHasSelected = false; foreach (var styleItem in request.Items) { if (request.InputType != InputType.SelectMultiple && request.InputType != InputType.CheckBox && isHasSelected && styleItem.Selected) { return(false, "操作失败,只能有一个初始化时选定项!"); } if (styleItem.Selected) { isHasSelected = true; } var itemInfo = new InputStyleItem { Label = styleItem.Label, Value = styleItem.Value, Selected = styleItem.Selected }; style.Items.Add(itemInfo); } } } else if (request.InputType == InputType.TextArea || request.InputType == InputType.TextEditor) { style.Height = request.Height; } else if (request.InputType == InputType.Customize) { style.CustomizeCode = request.CustomizeCode; } await _tableStyleRepository.InsertAsync(relatedIdentities, style); return(true, string.Empty); }
private async Task <(bool Success, string ErrorMessage)> UpdateTableStyleAsync(Models.TableStyle style, SubmitRequest request) { style.AttributeName = request.AttributeName; style.DisplayName = request.DisplayName; style.HelpText = request.HelpText; style.Taxis = request.Taxis; style.InputType = request.InputType; style.DefaultValue = request.DefaultValue; style.Horizontal = request.Horizontal; style.Items = new List <InputStyleItem>(); if (request.InputType == InputType.CheckBox || request.InputType == InputType.Radio || request.InputType == InputType.SelectMultiple || request.InputType == InputType.SelectOne) { if (request.IsRapid) { foreach (var rapidValue in ListUtils.GetStringListByReturnAndNewline(request.RapidValues)) { var itemInfo = new InputStyleItem { Label = rapidValue, Value = rapidValue, Selected = false }; style.Items.Add(itemInfo); } } else { var isHasSelected = false; foreach (var styleItem in request.Items) { if (request.InputType != InputType.SelectMultiple && request.InputType != InputType.CheckBox && isHasSelected && styleItem.Selected) { return(false, "操作失败,只能有一个初始化时选定项!"); } if (styleItem.Selected) { isHasSelected = true; } var itemInfo = new InputStyleItem { Label = styleItem.Label, Value = styleItem.Value, Selected = styleItem.Selected }; style.Items.Add(itemInfo); } } } else if (request.InputType == InputType.TextArea || request.InputType == InputType.TextEditor) { style.Height = request.Height; } else if (request.InputType == InputType.Customize) { style.CustomizeCode = request.CustomizeCode; } await _tableStyleRepository.UpdateAsync(style); return(true, string.Empty); }
public async Task <ActionResult <ObjectResult <List <int> > > > Submit([FromBody] SubmitRequest request) { if (!await _authManager.HasSitePermissionsAsync(request.SiteId, MenuUtils.SitePermissions.Contents) || !await _authManager.HasContentPermissionsAsync(request.SiteId, request.ChannelId, MenuUtils.ContentPermissions.Add)) { return(Unauthorized()); } var site = await _siteRepository.GetAsync(request.SiteId); if (site == null) { return(NotFound()); } var channel = await _channelRepository.GetAsync(request.ChannelId); if (channel == null) { return(this.Error("无法确定内容对应的栏目")); } var isChecked = request.CheckedLevel >= site.CheckContentLevel; var adminId = _authManager.AdminId; var contentIdList = new List <int>(); var titles = ListUtils.GetStringListByReturnAndNewline(request.Titles); titles.Reverse(); foreach (var title in titles) { if (string.IsNullOrWhiteSpace(title)) { continue; } var contentInfo = new Content { ChannelId = channel.Id, SiteId = request.SiteId, AdminId = adminId, LastEditAdminId = adminId, AddDate = DateTime.Now, Checked = isChecked, CheckedLevel = request.CheckedLevel, Title = StringUtils.Trim(title), ImageUrl = string.Empty, Body = string.Empty }; await _contentRepository.InsertAsync(site, channel, contentInfo); contentIdList.Add(contentInfo.Id); } if (isChecked) { foreach (var contentId in contentIdList) { await _createManager.CreateContentAsync(request.SiteId, channel.Id, contentId); } await _createManager.TriggerContentChangedEventAsync(request.SiteId, channel.Id); } return(new ObjectResult <List <int> > { Value = contentIdList }); }