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); }