public void DeleteModelDetail()
        {
            // 新增表
            ModelInputModel inputMaster = new ModelInputModel()
            {
                ModelCode = "tb_test",
                ModelName = "测试表"
            };
            BaseResultModel <ModelOutputModel> resultMaster = this.ModelService.ModifyModel(inputMaster);

            Assert.IsTrue(resultMaster.IsSuccess, resultMaster.ErrorMessage);

            // 新增动态表字段
            ModelDetailInputModel inputModel = new ModelDetailInputModel()
            {
                ColIndex = 1,
                ColMemo  = "AA",
                ColName  = "BB",
                ColType  = "nvarchar(256)",
                ModelID  = resultMaster?.Data?.ModelID
            };

            BaseResultModel <ModelDetailOutputModel> result = this.ModelDetailService.ModifyModelDetail(inputModel);

            Assert.IsTrue(result.IsSuccess, result.ErrorMessage);

            // 删除动态字段表
            BaseResultModel <int> delResult = this.ModelDetailService.DeleteModelDetail(new List <Guid?> {
                result.Data.ModelDetailID
            });

            Assert.IsTrue(delResult.IsSuccess && delResult.Data > 0, delResult.ErrorMessage);
        }
        public void ListPageModelDetail()
        {
            // 新增表
            ModelDetailInputModel inputModel = new ModelDetailInputModel()
            {
                PageNO   = 1,
                PageSize = 20,
            };
            BaseResultModel <PageModel <ModelDetailOutputModel> > result = this.ModelDetailService.ListPageModelDetail(inputModel);

            Assert.IsTrue(result.IsSuccess, result.ErrorMessage);
        }
        public void InsertDynamicModel()
        {
            // 新增表
            ModelInputModel inputMaster = new ModelInputModel()
            {
                ModelCode = "tb_test",
                ModelName = "测试表"
            };
            BaseResultModel <ModelOutputModel> resultMaster = this.ModelService.ModifyModel(inputMaster);

            Assert.IsTrue(resultMaster.IsSuccess, resultMaster.ErrorMessage);

            // 新增动态表字段
            ModelDetailInputModel inputModel = new ModelDetailInputModel()
            {
                ColIndex = 1,
                ColMemo  = "AA",
                ColName  = "BB",
                ColType  = "nvarchar(256)",
                ModelID  = resultMaster?.Data?.ModelID
            };

            BaseResultModel <ModelDetailOutputModel> resultDetail = this.ModelDetailService.ModifyModelDetail(inputModel);

            Assert.IsTrue(resultDetail.IsSuccess, resultDetail.ErrorMessage);

            //  新增动态表数据
            TableSelModel selTable = new TableSelModel()
            {
                TableName = inputMaster.ModelCode,
                ColSel    = new List <TableColSelModel>()
                {
                    new TableColSelModel()
                    {
                        ColName  = inputModel.ColName,
                        ColValue = "BBValue"
                    }
                }
            };
            BaseResultModel <int> result = this.ModelService.InsertDynamicModel(selTable);

            Assert.IsTrue(result.IsSuccess, result.ErrorMessage);
        }
        public void ModifyModelDetail()
        {
            // 新增表
            ModelInputModel inputMaster = new ModelInputModel()
            {
                ModelCode = "tb_test",
                ModelName = "测试表"
            };
            BaseResultModel <ModelOutputModel> resultMaster = this.ModelService.ModifyModel(inputMaster);

            Assert.IsTrue(resultMaster.IsSuccess, resultMaster.ErrorMessage);

            // 新增动态表字段
            ModelDetailInputModel inputModel = new ModelDetailInputModel()
            {
                ColIndex = 1,
                ColMemo  = "AA",
                ColName  = "BB",
                ColType  = "nvarchar(256)",
                ModelID  = resultMaster?.Data?.ModelID
            };

            BaseResultModel <ModelDetailOutputModel> result = this.ModelDetailService.ModifyModelDetail(inputModel);

            Assert.IsTrue(result.IsSuccess, result.ErrorMessage);

            // 编辑动态表字段
            inputModel = new ModelDetailInputModel()
            {
                ModelDetailID = result?.Data?.ModelDetailID,
                ColIndex      = 1,
                ColMemo       = "AA",
                ColName       = "BB",
                ColType       = "nvarchar(256)",
                ModelID       = resultMaster?.Data?.ModelID
            };

            result = this.ModelDetailService.ModifyModelDetail(inputModel);
            Assert.IsTrue(result.IsSuccess, result.ErrorMessage);
        }
示例#5
0
        /// <summary>
        /// 新增、修改模块明细表
        /// </summary>
        /// <param name="model">OutputModel</param>
        /// <returns>OutputModel</returns>
        public BaseResultModel <ModelDetailOutputModel> ModifyModelDetail(ModelDetailInputModel model)
        {
            if (model == null)
            {
                return(new ErrorResultModel <ModelDetailOutputModel>(EnumErrorCode.请求参数错误, "参数不能为空"));
            }
            ModelAttrEx arrtEx        = new ModelAttrEx();
            string      modelErrorMes = "";

            if (model.ModelDetailID.IsNullOrEmpty())
            {
                modelErrorMes += arrtEx.AddAttrVaild <ModelDetailInputModel>(ModelState, model);
            }
            else
            {
                modelErrorMes += arrtEx.EditAttrVaild <ModelDetailInputModel>(ModelState, model);
            }
            if (!modelErrorMes.IsNullOrEmpty())
            {
                return(new ErrorResultModel <ModelDetailOutputModel>(EnumErrorCode.请求参数错误, modelErrorMes));
            }
            return(ModelDetailService.ModifyModelDetail(model));
        }
示例#6
0
 /// <summary>
 /// 获取模块明细表列表分页
 /// </summary>
 /// <param name="model">InputModel</param>
 /// <returns>OutputModel</returns>
 public BaseResultModel <PageModel <ModelDetailOutputModel> > ListPageModelDetail(ModelDetailInputModel model)
 {
     return(ModelDetailService.ListPageModelDetail(model));
 }
        public void ListPageDynamicJoinModelList()
        {
            // 新增表
            ModelInputModel inputMaster = new ModelInputModel()
            {
                ModelCode = "tb_test",
                ModelName = "测试表"
            };
            BaseResultModel <ModelOutputModel> resultMaster = this.ModelService.ModifyModel(inputMaster);

            Assert.IsTrue(resultMaster.IsSuccess, resultMaster.ErrorMessage);

            ModelInputModel inputSon = new ModelInputModel()
            {
                ModelCode = "tb_testDetail",
                ModelName = "测试子表"
            };
            BaseResultModel <ModelOutputModel> resultSon = this.ModelService.ModifyModel(inputSon);

            Assert.IsTrue(resultSon.IsSuccess, resultSon.ErrorMessage);

            // 新增动态表字段
            ModelDetailInputModel inputSonModel = new ModelDetailInputModel()
            {
                ColIndex = 1,
                ColMemo  = "备注",
                ColName  = "dynamicID",
                ColType  = "nvarchar(256)",
                ModelID  = resultSon?.Data?.ModelID
            };
            BaseResultModel <ModelDetailOutputModel> resultSonDetail = this.ModelDetailService.ModifyModelDetail(inputSonModel);

            Assert.IsTrue(resultSonDetail.IsSuccess, resultSonDetail.ErrorMessage);

            // 新增动态表数据
            string        tempGuid       = Guid.NewGuid() + string.Empty;
            TableSelModel selMasterTable = new TableSelModel()
            {
                TableName = inputMaster.ModelCode,
                ColSel    = new List <TableColSelModel>()
                {
                    new TableColSelModel()
                    {
                        ColName  = "testID",
                        ColValue = tempGuid
                    }
                }
            };
            BaseResultModel <int> resultMasterTab = this.ModelService.InsertDynamicModel(selMasterTable);

            Assert.IsTrue(resultMasterTab.IsSuccess, resultMasterTab.ErrorMessage);

            TableSelModel selSonTable = new TableSelModel()
            {
                TableName = inputSon.ModelCode,
                ColSel    = new List <TableColSelModel>()
                {
                    new TableColSelModel()
                    {
                        ColName  = "dynamicID",
                        ColValue = tempGuid
                    }
                }
            };
            BaseResultModel <int> resultSonTab = this.ModelService.InsertDynamicModel(selSonTable);

            Assert.IsTrue(resultSonTab.IsSuccess, resultSonTab.ErrorMessage);

            // 查询动态表分页
            TableSelModel selTableList = new TableSelModel()
            {
                PageNo              = 1,
                PageSize            = 20,
                TableName           = inputSon.ModelCode,
                JoinMasterTableName = inputMaster.ModelCode,
                WhereSel            = new List <TableColSelModel>()
                {
                    new TableColSelModel()
                    {
                        ColName  = "dynamicID",
                        ColValue = tempGuid
                    }
                }
            };
            BaseResultModel <ResultModel> resultTableList = this.ModelService.ListPageDynamicJoinModelList(selTableList);

            Assert.IsTrue(resultTableList.IsSuccess && resultTableList.Data.dataCount > 0, resultTableList.ErrorMessage);
        }
示例#8
0
        /// <summary>
        /// 新增、修改模块明细表
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public BaseResultModel <ModelDetailOutputModel> ModifyModelDetail(ModelDetailInputModel model)
        {
            SuccessResultModel <ModelDetailOutputModel> result = new SuccessResultModel <ModelDetailOutputModel>();
            ErrorResultModel <ModelDetailOutputModel>   error  = new ErrorResultModel <ModelDetailOutputModel>();

            try
            {
                ModelOutputModel selModel = this.ModelRepository.SelectWithModel(new ModelModel()
                {
                    ModelID = model.ModelID
                });
                if (selModel == null)
                {
                    return(new ErrorResultModel <ModelDetailOutputModel>(EnumErrorCode.参数校验未通过, "明细表对应的模块项目不存在!"));
                }

                ModelDetailViewModel selDetailModel = new ModelDetailViewModel();
                using (this.ModelDetailRepository.BeginSelView())
                {
                    selDetailModel = this.ModelDetailRepository.SelectWithViewModel(new ModelDetailViewModel()
                    {
                        ModelID = model.ModelID,
                        ColName = model.ColName
                    });
                }

                if (selDetailModel != null)
                {
                    if (model.ModelDetailID.IsNullOrEmpty())
                    {
                        return(new ErrorResultModel <ModelDetailOutputModel>(EnumErrorCode.参数校验未通过, "名称已存在!"));
                    }
                    else if (selDetailModel.ModelDetailID != model.ModelDetailID)
                    {
                        return(new ErrorResultModel <ModelDetailOutputModel>(EnumErrorCode.参数校验未通过, "名称已存在!"));
                    }
                }

                selDetailModel           = new ModelDetailViewModel();
                selDetailModel.ModelCode = selModel.ModelCode;
                selDetailModel.ColName   = model.ColName;
                selDetailModel.ColType   = model.ColType;
                TransactionOptions option = new TransactionOptions();
                option.IsolationLevel = IsolationLevel.ReadCommitted;
                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, option))
                {
                    if (model.ModelDetailID.IsNullOrEmpty())
                    {
                        result.Data = this.ModelDetailRepository.InsertAndReturn(model);
                        this.ModelDetailRepository.AddDynamicTableCol(selDetailModel);
                    }
                    else
                    {
                        result.Data = this.ModelDetailRepository.UpdateWithKeysAndReturn(model);
                        this.ModelDetailRepository.ModifyDynamicTableCol(selDetailModel);
                    }
                    scope.Complete();
                }
                return(result);
            }
            catch (Exception ex)
            {
                LogWriter.WriteLog(EnumLogLevel.Fatal, "ModifyModelDetail", JsonConvert.SerializeObject(model), "ModelDetail", "新增、修改模块明细表异常!", ex);
                return(new ErrorResultModel <ModelDetailOutputModel>(EnumErrorCode.系统异常, "新增、修改模块明细表异常!"));
            }
        }
示例#9
0
 /// <summary>
 /// 获取模块明细表列表分页
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public BaseResultModel <PageModel <ModelDetailOutputModel> > ListPageModelDetail(ModelDetailInputModel model)
 {
     try
     {
         model.PageNO   = model.PageNO ?? 1;
         model.PageSize = model.PageSize ?? int.MaxValue;
         model.IsDelete = false;
         using (this.ModelDetailRepository.BeginLikeMode())
         {
             PageModel <ModelDetailOutputModel> resultList = this.ModelDetailRepository.ListPage(model);
             List <ModelDetailOutputModel>      resultData = resultList.ListData?.ToList();
             if (model.OrderAscByColIndex && resultData.Count > 0)
             {
                 resultList.ListData = resultData.OrderBy(x => x.ColIndex);
             }
             return(new SuccessResultModel <PageModel <ModelDetailOutputModel> >(resultList));
         }
     }
     catch (Exception e)
     {
         LogWriter.WriteLog(EnumLogLevel.Fatal, "ListPageModelDetail", JsonConvert.SerializeObject(model), "ModelDetail", "获取模块明细表列表分页查询数据时发生错误.", e);
         return(new ErrorResultModel <PageModel <ModelDetailOutputModel> >(EnumErrorCode.系统异常, "获取模块明细表列表分页查询数据时发生错误!"));
     }
 }