示例#1
0
        public async Task <IHttpActionResult> Post(ModelInputModel newModel)
        {
            if (newModel == null)
            {
                return(BadRequest(ErrorMessage.Model.RequiredModelInputModel));
            }
            if (string.IsNullOrWhiteSpace(newModel.Name))
            {
                return(BadRequest(ErrorMessage.Model.RequiredModelName));
            }
            //Create model and comments
            Model model = new Model()
            {
                Id            = newModel.Id,
                Name          = newModel.Name,
                VehicleTypeId = newModel.VehicleTypeId
            };
            CommentsStagingModel comment = new CommentsStagingModel()
            {
                Comment = newModel.Comment
            };
            var attachments = SetUpAttachmentsModels(newModel.Attachments);

            var changeRequestId = await _modelApplicationService.AddAsync(model, CurrentUser.Email, comment, attachments);

            return(Ok(changeRequestId));
        }
        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);
        }
示例#3
0
        public async Task <IHttpActionResult> Put(int id, ModelInputModel model)
        {
            if (id == default(int))
            {
                return(BadRequest(ErrorMessage.Model.InvalidModelId));
            }
            if (model == null)
            {
                return(BadRequest(ErrorMessage.Model.RequiredModelInputModel));
            }
            if (string.IsNullOrWhiteSpace(model.Name))
            {
                return(BadRequest(ErrorMessage.Model.RequiredModelName));
            }
            //Create Model and Comments
            Model _model = new Model()
            {
                Id               = model.Id,
                Name             = model.Name,
                VehicleTypeId    = model.VehicleTypeId,
                BaseVehicleCount = model.BaseVehicleCount,
                VehicleCount     = model.VehicleCount
            };
            CommentsStagingModel comment = new CommentsStagingModel()
            {
                Comment = model.Comment
            };

            var attachments     = SetUpAttachmentsModels(model.Attachments);
            var changeRequestId = await _modelApplicationService.UpdateAsync(_model, id, CurrentUser.Email, comment, attachments);

            return(Ok(changeRequestId));
        }
        public IActionResult GetPFPredictionGrade([FromBody] ModelInputModel input)
        {
            var data = mapper.Map <PFPrediction.Model.DataModels.ModelInput>(input);
            var pred = mlService.GetPFPredictionForStudent(data);

            return(Ok(pred));
        }
示例#5
0
        /// <summary>
        /// 新增、修改模块表
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public BaseResultModel <ModelOutputModel> ModifyModel(ModelInputModel model)
        {
            SuccessResultModel <ModelOutputModel> result = new SuccessResultModel <ModelOutputModel>();

            try
            {
                ModelOutputModel selModel = this.ModelRepository.SelectWithModel(new ModelModel()
                {
                    ModelName = model.ModelName
                });
                ModelOutputModel selModelCode = this.ModelRepository.SelectWithModel(new ModelModel()
                {
                    ModelCode = model.ModelCode
                });
                if (model.ModelID.IsNullOrEmpty())
                {
                    if (selModel != null)
                    {
                        return(new ErrorResultModel <ModelOutputModel>(EnumErrorCode.参数校验未通过, "名称已存在"));
                    }
                    if (selModelCode != null)
                    {
                        return(new ErrorResultModel <ModelOutputModel>(EnumErrorCode.参数校验未通过, "编号已存在"));
                    }

                    model.ModelID = model.ModelID ?? Guid.NewGuid();
                    List <ModelDetailInputModel> initModelDeatil = GetInitModelDetailList(model);

                    TransactionOptions option = new TransactionOptions();
                    option.IsolationLevel = IsolationLevel.ReadCommitted;
                    using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, option))
                    {
                        // 初始化表-- 》 全局固定字段: 工号、审核状态、审核时间、确认标识、确认人、确认时间
                        this.ModelDetailRepository.InsertCol(initModelDeatil.ToArray());
                        this.ModelDetailRepository.InitDBTable(model);
                        result.Data = this.ModelRepository.InsertAndReturn(model);
                        scope.Complete();
                    }
                }
                else
                {
                    if (selModel != null && selModel.ModelID != model.ModelID)
                    {
                        return(new ErrorResultModel <ModelOutputModel>(EnumErrorCode.参数校验未通过, "名称已存在"));
                    }
                    if (selModelCode != null && selModelCode.ModelID != model.ModelID)
                    {
                        return(new ErrorResultModel <ModelOutputModel>(EnumErrorCode.参数校验未通过, "编号已存在"));
                    }
                    result.Data = this.ModelRepository.UpdateWithKeysAndReturn(model);
                }
                return(result);
            }
            catch (Exception ex)
            {
                LogWriter.WriteLog(EnumLogLevel.Fatal, "ModifyModel", JsonConvert.SerializeObject(model), "Model", "新增、修改模块表异常!", ex);
                return(new ErrorResultModel <ModelOutputModel>(EnumErrorCode.系统异常, "新增、修改模块表异常"));
            }
        }
示例#6
0
        /// <summary>
        /// 删除模块表 (逻辑删除)
        /// </summary>
        /// <param name="IDs"></param>
        /// <returns></returns>
        public BaseResultModel <int> DeleteModel(List <Guid?> IDs)
        {
            SuccessResultModel <int> result = new SuccessResultModel <int>();
            ErrorResultModel <int>   error  = new ErrorResultModel <int>();

            try
            {
                ModelOutputModel   selModel   = new ModelOutputModel();
                ModelInputModel    inputModel = new ModelInputModel();
                TransactionOptions option     = new TransactionOptions();
                option.IsolationLevel = IsolationLevel.ReadCommitted;
                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, option))
                {
                    foreach (Guid?item in IDs)
                    {
                        selModel = this.ModelRepository.SelectWithKeys(new ModelModel()
                        {
                            ModelID = item
                        });

                        inputModel = new ModelInputModel()
                        {
                            ModelID   = selModel.ModelID,
                            ModelCode = selModel.ModelCode,
                            IsDelete  = true
                        };

                        result.Data = this.ModelDetailRepository.UpdateWithModel(new ModelDetailModel()
                        {
                            IsDelete = true
                        }, new ModelDetailModel()
                        {
                            ModelID = selModel.ModelID
                        });
                        result.Data = this.ModelRepository.UpdateWithKeys(inputModel);

                        this.ModelRepository.DelDBTable(inputModel);
                    }
                    scope.Complete();
                }
                if (result.Data == 0)
                {
                    error.ErrorCode    = EnumErrorCode.业务执行失败;
                    error.ErrorMessage = "请确认需要删除的数据!";
                    return(error);
                }
                return(result);
            }
            catch (Exception ex)
            {
                LogWriter.WriteLog(EnumLogLevel.Fatal, "DeleteModel", JsonConvert.SerializeObject(IDs), "Model", "删除模块表 (逻辑删除)异常!", ex);
                error.ErrorCode    = EnumErrorCode.系统异常;
                error.ErrorMessage = "删除模块表 (逻辑删除)异常!";
                return(error);
            }
        }
示例#7
0
        /// <summary>
        /// 删除数据库表
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public void DelDBTable(ModelInputModel model)
        {
            string sql = @"
                IF EXISTS(SELECT 1 FROM sysobjects WHERE id = OBJECT_ID('[{0}]'))
                drop table {0}
";

            sql = string.Format(sql, model.ModelCode);
            base.Internal_DataHelper.ExecuteNonQuery(sql);
        }
        public void ListPageModel()
        {
            // 新增表
            ModelInputModel inputModel = new ModelInputModel()
            {
                PageNO   = 1,
                PageSize = 20,
            };
            BaseResultModel <PageModel <ModelOutputModel> > result = this.ModelService.ListPageModel(inputModel);

            Assert.IsTrue(result.IsSuccess, result.ErrorMessage);
        }
示例#9
0
        public async Task <IHttpActionResult> Post(int id, ModelInputModel modelInputModel)
        {
            //System.Threading.Thread.Sleep(2000);
            //return Ok(-1);
            // create model and list of comments
            CommentsStagingModel comment = new CommentsStagingModel()
            {
                Comment = modelInputModel.Comment
            };
            var attachments     = SetUpAttachmentsModels(modelInputModel.Attachments);
            var changeRequestId = await _modelApplicationService.DeleteAsync(null, id, CurrentUser.Email, comment, attachments);

            return(Ok(changeRequestId));
        }
        /// <summary>
        /// 初始化数据库表明细字段
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public void InitDBTable(ModelInputModel model)
        {
            string firstTableSql = @"
                IF EXISTS(SELECT 1 FROM sysobjects WHERE id = OBJECT_ID('[{0}]'))
                drop table {0}

                /*==============================================================*/
                /* Table: {0}                                              */
                /*==============================================================*/
                CREATE TABLE [dbo].[{0}](
 ";

            string desSql = @"
)
declare @CurrentUser sysname
select @CurrentUser = '******'
execute sp_addextendedproperty 'MS_Description', '{1}','user', @CurrentUser, 'table', '{0}'
";


            StringBuilder colSqlSB = new StringBuilder();
            StringBuilder desSqlSB = new StringBuilder();

            List <ModelDetailOutputModel> selModelDetail = this.List(new ModelDetailModel()
            {
                ModelID = model.ModelID
            }).ToList();

            foreach (ModelDetailOutputModel modelDetail in selModelDetail)
            {
                colSqlSB.Append($" {modelDetail.ColName} {modelDetail.ColType} ");
                if (modelDetail.ColName == (model.ModelCode + "ID"))
                {
                    colSqlSB.Append(" NOT NULL PRIMARY KEY ");
                }
                colSqlSB.Append(" , ");
                desSqlSB.Append($" execute sp_addextendedproperty 'MS_Description',  '{modelDetail.ColMemo}' ,'user', @CurrentUser, 'table', '{model.ModelCode}', 'column', '{modelDetail.ColName}'   ");
            }



            string sql = string.Format(firstTableSql, model.ModelCode) + colSqlSB.ToString() + string.Format((desSql + desSqlSB.ToString()), model.ModelCode, model.ModelName);

            base.Internal_DataHelper.ExecuteNonQuery(sql);
        }
示例#11
0
 /// <summary>
 /// 获取模块表列表分页
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public BaseResultModel <PageModel <ModelOutputModel> > ListPageModel(ModelInputModel model)
 {
     try
     {
         model.PageNO   = model.PageNO ?? 1;
         model.PageSize = model.PageSize ?? int.MaxValue;
         model.IsDelete = false;
         using (this.ModelRepository.BeginLikeMode())
         {
             return(new SuccessResultModel <PageModel <ModelOutputModel> >(this.ModelRepository.ListPage(model)));
         }
     }
     catch (Exception e)
     {
         LogWriter.WriteLog(EnumLogLevel.Fatal, "ListPageModel", JsonConvert.SerializeObject(model), "Model", "获取模块表列表分页查询数据时发生错误.", e);
         return(new ErrorResultModel <PageModel <ModelOutputModel> >(EnumErrorCode.系统异常, "获取模块表列表分页查询数据时发生错误!"));
     }
 }
        public void DeleteModel()
        {
            // 新增表
            ModelInputModel inputModel = new ModelInputModel()
            {
                ModelCode = "tb_test",
                ModelName = "测试表"
            };
            BaseResultModel <ModelOutputModel> result = this.ModelService.ModifyModel(inputModel);

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

            // 删除表
            BaseResultModel <int> delResult = this.ModelService.DeleteModel(new List <Guid?> {
                result.Data.ModelID
            });

            Assert.IsTrue(delResult.IsSuccess && delResult.Data > 0, delResult.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);
        }
示例#15
0
        private static List <ModelDetailInputModel> GetInitModelDetailList(ModelInputModel model)
        {
            List <ModelDetailInputModel> initModelDeatil = new List <ModelDetailInputModel>();

            initModelDeatil.Add(new ModelDetailInputModel()
            {
                ModelID  = model.ModelID,
                ColIndex = 1,
                ColName  = $"{model.ModelCode.Replace("tb_", "")}ID",
                ColMemo  = "主键ID",
                ColType  = "uniqueidentifier"
            });
            initModelDeatil.Add(new ModelDetailInputModel()
            {
                ModelID  = model.ModelID,
                ColIndex = 2,
                ColName  = "IsDelete",
                ColMemo  = "是否删除",
                ColType  = "bit"
            });
            return(initModelDeatil);
        }
示例#16
0
        public ModelOutputModel AddModel(Guid makeId, string modelName)
        {
            modelName = modelName.Trim();
            // The make with the id should exist in the make list
            if (!DataProvider.Makes.Any(x => x.Key == makeId))
            {
                throw new ResourceNotFoundException(nameof(makeId), makeId.ToString());
            }

            return(LockHelper.LockAction <ModelOutputModel>(
                       _modelLock,
                       // De-duplicate the model with the same name & makeId...
                       () => !DataProvider.Models.Any(x => x.Value.MakeId == makeId &&
                                                      String.Equals(x.Value.Name, modelName, StringComparison.InvariantCultureIgnoreCase)),
                       () =>
            {
                var model = new ModelInputModel(makeId, modelName);
                DataProvider.Models.TryAdd(model.Id, model);
                return _mapper.Map <ModelOutputModel>(model);
            },
                       () => throw new ResourceConflictException(nameof(modelName), modelName)));
        }
        public void ModifyModel()
        {
            // 新增表
            ModelInputModel inputModel = new ModelInputModel()
            {
                ModelCode = "tb_test",
                ModelName = "测试表"
            };
            BaseResultModel <ModelOutputModel> result = this.ModelService.ModifyModel(inputModel);

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

            // 编辑表
            inputModel = new ModelInputModel()
            {
                ModelID   = result?.Data?.ModelID,
                ModelCode = "tb_test1",
                ModelName = "测试表1"
            };
            result = this.ModelService.ModifyModel(inputModel);
            Assert.IsTrue(result.IsSuccess, result.ErrorMessage);
        }
示例#18
0
        /// <summary>
        /// 新增、修改模块表
        /// </summary>
        /// <param name="model">OutputModel</param>
        /// <returns>OutputModel</returns>
        public BaseResultModel <ModelOutputModel> ModifyModel(ModelInputModel model)
        {
            if (model == null)
            {
                return(new ErrorResultModel <ModelOutputModel>(EnumErrorCode.请求参数错误, "参数不能为空"));
            }
            ModelAttrEx arrtEx        = new ModelAttrEx();
            string      modelErrorMes = "";

            if (model.ModelID.IsNullOrEmpty())
            {
                modelErrorMes += arrtEx.AddAttrVaild <ModelInputModel>(ModelState, model);
            }
            else
            {
                modelErrorMes += arrtEx.EditAttrVaild <ModelInputModel>(ModelState, model);
            }
            if (!modelErrorMes.IsNullOrEmpty())
            {
                return(new ErrorResultModel <ModelOutputModel>(EnumErrorCode.请求参数错误, modelErrorMes));
            }
            return(ModelService.ModifyModel(model));
        }
示例#19
0
 /// <summary>
 /// 获取模块表列表分页
 /// </summary>
 /// <param name="model">InputModel</param>
 /// <returns>OutputModel</returns>
 public BaseResultModel <PageModel <ModelOutputModel> > ListPageModel(ModelInputModel model)
 {
     return(ModelService.ListPageModel(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);
        }