Exemple #1
0
        /// <summary>
        /// 新增物品选择信息
        /// </summary>
        /// <param name="webModel">物品选择页视图Model</param>
        /// <param name="context">数据库上下文对象</param>
        /// <returns></returns>
        public static async Task <GoodsInfo> InsertAsync(GoodsChosenViewModel webModel, ApplicationDbContext context)
        {
            GoodsInfo model = InsertModel(webModel);

            var user = await PSURepository.GetUserByIdAsync(CurrentUser.UserId, context);

            var goods = await AdmissionRepository.GetGoodsAsync(Convert.ToInt64(webModel.GoodsId), context);

            if (user == null || goods == null)
            {
                return(new GoodsInfo
                {
                    Id = -1
                });
            }

            model.StudentId   = user.Id;
            model.StudentName = user.Name;

            model.GoodsId   = goods.Id;
            model.GoodsName = goods.Name;

            await context.GoodsInfo.AddAsync(model);

            return(model);
        }
        /// <summary>
        /// 获取物品详细信息
        /// </summary>
        /// <param name="id"></param>
        /// <param name="context"></param>
        /// <returns></returns>
        public async Task <GoodsDetailViewModel> GetGoodsAsync(long id, ApplicationDbContext context)
        {
            var webModel = new GoodsDetailViewModel();

            try
            {
                var model = await AdmissionRepository.GetGoodsAsync(id, context);

                webModel.Id          = model.Id.ToString();
                webModel.Description = model.Description;
                webModel.Name        = model.Name;
                webModel.Size        = model.Size;
            }
            catch (Exception ex)
            {
                _logger.LogError("获取物品数据失败:{0},\r\n内部错误信息:{1}", ex.Message, ex.InnerException.Message);
            }
            return(webModel);
        }