Ejemplo n.º 1
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.系统异常, "新增、修改模块表异常"));
            }
        }
Ejemplo n.º 2
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);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 删除模块明细表 (逻辑删除)
        /// </summary>
        /// <param name="IDs"></param>
        /// <returns></returns>
        public BaseResultModel <int> DeleteModelDetail(List <Guid?> IDs)
        {
            SuccessResultModel <int> result = new SuccessResultModel <int>();
            ErrorResultModel <int>   error  = new ErrorResultModel <int>();

            try
            {
                ModelDetailViewModel selDetailModel = new ModelDetailViewModel();
                ModelOutputModel     selModel       = new ModelOutputModel();

                TransactionOptions option = new TransactionOptions();
                option.IsolationLevel = IsolationLevel.ReadCommitted;

                foreach (Guid?item in IDs)
                {
                    using (this.ModelDetailRepository.BeginSelView())
                    {
                        selDetailModel = this.ModelDetailRepository.SelectWithViewModel(new ModelDetailViewModel()
                        {
                            ModelDetailID = item,
                        });
                    }

                    if (this.ModelDetailRepository.ListDynamicTableListByPer(selDetailModel))
                    {
                        error.ErrorCode    = EnumErrorCode.业务执行失败;
                        error.ErrorMessage = "该数据字段已有业务数据,不可删除";
                        return(error);
                    }
                    selDetailModel.IsDelete = true;

                    using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, option))
                    {
                        result.Data = this.ModelDetailRepository.UpdateWithKeys(selDetailModel);
                        this.ModelDetailRepository.DropDynamicTableCol(selDetailModel);
                        scope.Complete();
                    }
                }

                if (result.Data == 0)
                {
                    error.ErrorCode    = EnumErrorCode.业务执行失败;
                    error.ErrorMessage = "请确认需要删除的数据!";
                    return(error);
                }
                return(result);
            }
            catch (Exception ex)
            {
                LogWriter.WriteLog(EnumLogLevel.Fatal, "DeleteModelDetail", JsonConvert.SerializeObject(IDs), "ModelDetail", "删除模块明细表 (逻辑删除)异常!", ex);
                error.ErrorCode    = EnumErrorCode.系统异常;
                error.ErrorMessage = "删除模块明细表 (逻辑删除)异常!";
                return(error);
            }
        }
Ejemplo n.º 4
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.系统异常, "新增、修改模块明细表异常!"));
            }
        }