Beispiel #1
0
        public async Task <IHttpActionResult> GetModelById(int id)
        {
            var selectedModel = await _modelApplicationService.GetAsync(id);

            ModelDetailViewModel model = Mapper.Map <ModelDetailViewModel>(selectedModel);

            return(Ok(model));
        }
Beispiel #2
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);
            }
        }
Beispiel #3
0
 public ModelDetailViewModel Get(int id)
 {
     return(EntityStore.Models.Include("Make").Include("Images").Where(x => x.Id == id).AsEnumerable().Select(x => ModelDetailViewModel.FromModel(x)).SingleOrDefault());
 }
Beispiel #4
0
 /// <summary>
 /// 获取模块明细表视图列表分页
 /// </summary>
 /// <param name="model">ViewModel</param>
 /// <returns>ViewModel</returns>
 public BaseResultModel <PageModel <ModelDetailViewModel> > ListViewPageModelDetail(ModelDetailViewModel model)
 {
     return(ModelDetailService.ListViewPageModelDetail(model));
 }
Beispiel #5
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.系统异常, "新增、修改模块明细表异常!"));
            }
        }
Beispiel #6
0
 /// <summary>
 /// 获取模块明细表视图列表分页
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public BaseResultModel <PageModel <ModelDetailViewModel> > ListViewPageModelDetail(ModelDetailViewModel model)
 {
     try
     {
         model.PageNO   = model.PageNO ?? 1;
         model.PageSize = model.PageSize ?? int.MaxValue;
         model.IsDelete = false;
         // 开启查询outModel里面的视图
         using (this.ModelDetailRepository.BeginSelView())
         {
             //using (this.ModelDetailRepository.BeginLikeMode())
             //{
             return(new SuccessResultModel <PageModel <ModelDetailViewModel> >(this.ModelDetailRepository.ListViewPage(model)));
             //}
         }
     }
     catch (Exception e)
     {
         LogWriter.WriteLog(EnumLogLevel.Fatal, "ListViewPageModelDetail", JsonConvert.SerializeObject(model), "ModelDetail", "获取模块明细表视图列表分页查询数据时发生错误.", e);
         return(new ErrorResultModel <PageModel <ModelDetailViewModel> >(EnumErrorCode.系统异常, "获取模块明细表视图列表分页查询数据时发生错误!"));
     }
 }