public async Task <IActionResult> UpdateBusinessScopeAsync([FromBody] UpdateDictionaryRequestDto request) { if (string.IsNullOrWhiteSpace(request.ParentGuid)) { request.ParentGuid = DictionaryType.BusinessScopeDic; } var response = await UpdateDictionaryAsync(request); return(response); }
public async Task <IActionResult> UpdateDictionaryAsync([FromBody] UpdateDictionaryRequestDto request) { var sss = Converter.GetValues(new DictionaryType()); //if (sss.Contains(request.DicGuid)) //{ // return Failed(ErrorCode.UserData, "元数据不能编辑"); //} if (request.DicGuid == request.ParentGuid) { return(Failed(ErrorCode.UserData, "父节点不能是自己")); } var dictionaryBiz = new DictionaryBiz(); if ((await dictionaryBiz.GetDictionaryChildrenAsync(request.DicGuid, request.ParentGuid)) > 0) { return(Failed(ErrorCode.UserData, "父节点不能移动到自己的子节点里面去")); } var entity2 = await dictionaryBiz.GetDictionaryByNameAsync(request.ConfigName); if (entity2 != null && entity2.DicGuid != request.DicGuid) { return(Failed(ErrorCode.UserData, "已经存在相同的字典名")); } var entity = await dictionaryBiz.GetAsync(request.DicGuid); if (entity == null) { return(Failed(ErrorCode.UserData, "找不到数据")); } if (!entity.Enable) { return(Failed(ErrorCode.UserData, "此数据被禁用")); } if (string.IsNullOrWhiteSpace(request.ParentGuid)) { entity.TypeCode = "matedata"; entity.TypeName = "元数据"; entity.ParentGuid = null; } else { var pentity = (await dictionaryBiz.GetAsync(request.ParentGuid)); if (pentity == null) { return(Failed(ErrorCode.UserData, "父级数据被禁用")); } entity.TypeCode = pentity.ConfigCode; entity.TypeName = pentity?.ConfigName ?? "元数据"; entity.ParentGuid = pentity?.DicGuid; } entity.ConfigName = request.ConfigName; entity.ExtensionField = request.ExtensionField; entity.ValueType = request.ValueType; entity.ValueRange = string.IsNullOrWhiteSpace(request.ValueRange) ? "{}" : request.ValueRange; entity.ExtensionField = request.ExtensionField; entity.Sort = request.Sort; entity.Enable = request.Enable; entity.LastUpdatedDate = DateTime.Now; entity.LastUpdatedBy = UserID; var result = await dictionaryBiz.UpdateAsync(entity); if (!result) { return(Failed(ErrorCode.UserData, "修改失败")); } return(Success()); }