public IActionResult AddLogic(MetaField metaField)
        {
            if (string.IsNullOrEmpty(metaField.Name))
            {
                return(View("Add", ResponseModel.Error("名称不能为空", metaField)));
            }
            if (string.IsNullOrEmpty(metaField.Code))
            {
                return(View("Add", ResponseModel.Error("编码不能为空", metaField)));
            }
            //校验code格式
            if (!metaField.Code.IsAlnum(2, 50))
            {
                return(View("Add", ResponseModel.Error("编码不合法,2-50位且只能包含字母和数字(字母开头)", metaField)));
            }

            //检查编码或名称重复
            var checkResult = metaFieldService.CheckSameCodeOrName(CurrentMetaObjectId, metaField);

            if (!checkResult.IsSuccess)
            {
                return(View("Add", checkResult.ToResponseModel()));
            }

            metaField.MetaObjectId = CurrentMetaObjectId;
            metaField.CreateBy     = CurrentUserId;
            metaFieldService.Add(metaField);

            return(Redirect("/MetaField/List?metaObjectId=" + CurrentMetaObjectId));
        }
Exemple #2
0
        public IActionResult AddLogic(MetaField entity)
        {
            var result = Result.Success()
                         .ContinueEnsureArgumentNotNullOrEmpty(entity, nameof(entity))
                         .ContinueEnsureArgumentNotNullOrEmpty(entity.Name, nameof(entity.Name))
                         .ContinueEnsureArgumentNotNullOrEmpty(entity.Code, nameof(entity.Code))
                         .ContinueAssert(_ => entity.Code.IsAlnum(2, 50), "编码不合法,2-50位且只能包含字母和数字(字母开头)")
                         .Continue(_ =>
            {
                entity.MetaObjectId = CurrentMetaObjectId;
                entity.CreateBy     = CurrentUserId;
                entity.ShortCode    = entity.Code;
                entity.Code         = string.Concat(CurrentMetaObjectCode, ".", entity.ShortCode);

                return(_metaFieldService.Add(entity));
            });

            if (!result.IsSuccess)
            {
                return(View("Add", result.ToResponseModel(data: entity)));
            }

            return(Redirect($"/MetaField/List?metaObjectId={CurrentMetaObjectId}&metaObjectCode={CurrentMetaObjectCode}"));
        }