Пример #1
0
        public async Task <IActionResult> EditGoods(GoodsEditViewModel webModel)
        {
            if (ModelState.IsValid)
            {
                bool flag;
                if (string.IsNullOrEmpty(webModel.Id))
                {
                    //Add Data
                    flag = await _service.InsertGoodsAsync(webModel, _context);
                }
                else
                {
                    //Update Data
                    flag = await _service.UpdateGoodsAsync(webModel, _context);
                }

                return(Json(new
                {
                    success = flag,
                    msg = flag ? "物品信息编辑成功" : "物品信息编辑失败"
                }));
            }

            return(Json(new
            {
                success = false,
                msg = this.ModelState.Keys.SelectMany(key => this.ModelState[key].Errors).FirstOrDefault().ErrorMessage
            }));
        }
Пример #2
0
        /// <summary>
        /// 新增物品信息
        /// </summary>
        /// <param name="webModel">编辑页视图模型</param>
        /// <param name="context">数据库上下文对象</param>
        /// <returns></returns>
        public static async Task <Goods> InsertAsync(GoodsEditViewModel webModel, ApplicationDbContext context)
        {
            Goods model = InsertModel(webModel);

            await context.Goods.AddAsync(model);

            return(model);
        }
Пример #3
0
        /// <summary>
        /// 更新物品信息
        /// </summary>
        /// <param name="webModel">编辑页视图模型</param>
        /// <param name="context">数据库上下文对象</param>
        public static async void UpdateAsync(GoodsEditViewModel webModel, ApplicationDbContext context)
        {
            var model = await context.Goods.FirstOrDefaultAsync(i => i.Id == Convert.ToInt64(webModel.Id));

            if (model == null)
            {
                return;
            }

            model = UpdateModel(webModel, model);
        }
Пример #4
0
        public async Task <IActionResult> EditGoods(string id)
        {
            GoodsEditViewModel webModel = new GoodsEditViewModel();

            if (!string.IsNullOrEmpty(id))
            {
                //编辑信息,加载物品相关信息
                webModel = await _service.GetGoodsAsync(Convert.ToInt64(id), _context);
            }

            return(View(webModel));
        }
Пример #5
0
        /// <summary>
        /// Update Goods Model
        /// </summary>
        /// <param name="webModel"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        private static Goods UpdateModel(GoodsEditViewModel webModel, Goods model)
        {
            model.Size         = webModel.Size;
            model.ImageSrc     = webModel.ImageSrc;
            model.Description  = webModel.Description;
            model.Name         = webModel.Name;
            model.IsEnabled    = (int)webModel.IsEnabled == 1;
            model.ModifiedOn   = DateTime.Now;
            model.ModifiedId   = CurrentUser.UserId;
            model.ModifiedBy   = CurrentUser.UserOID;
            model.ModifiedName = CurrentUser.UserName;

            return(model);
        }
Пример #6
0
 /// <summary>
 /// Insert Goods Model
 /// </summary>
 /// <param name="webModel"></param>
 /// <returns></returns>
 private static Goods InsertModel(GoodsEditViewModel webModel)
 {
     return(new Goods
     {
         CreatedBy = CurrentUser.UserOID,
         CreatedId = CurrentUser.UserId,
         CreatedName = CurrentUser.UserName,
         Description = webModel.Description,
         Name = webModel.Name,
         ImageSrc = webModel.ImageSrc,
         Size = webModel.Size,
         IsEnabled = (int)webModel.IsEnabled == 1,
     });
 }
Пример #7
0
        /// <summary>
        /// 新增物品信息
        /// </summary>
        /// <param name="webModel">编辑页视图Model</param>
        /// <param name="context">数据库连接上下文对象</param>
        /// <returns></returns>
        public async Task <bool> InsertGoodsAsync(GoodsEditViewModel webModel, ApplicationDbContext context)
        {
            try
            {
                //Add the Goods Data
                var model = await AdmissionRepository.InsertAsync(webModel, context);

                //Make the transaction commit
                var index = await context.SaveChangesAsync();

                return(index == 1);
            }
            catch (Exception ex)
            {
                _logger.LogError("创建物品失败:{0},\r\n内部错误详细信息:{1}", ex.Message, ex.InnerException.Message);
                return(false);
            }
        }
Пример #8
0
        /// <summary>
        /// 更新物品信息
        /// </summary>
        /// <param name="webModel">编辑页视图Model</param>
        /// <param name="context">数据库连接上下文对象</param>
        /// <returns></returns>
        public async Task <bool> UpdateGoodsAsync(GoodsEditViewModel webModel, ApplicationDbContext context)
        {
            try
            {
                //Update Service Data
                AdmissionRepository.UpdateAsync(webModel, context);

                //Add Operate Information
                var operate = string.Format("修改物品信息,物品编号:{0}", webModel.Id);
                PSURepository.InsertRecordAsync("Goods", "AdmissionDomain", "UpdateGoodsAsync", operate, (short)PSURepository.OperateCode.Update, Convert.ToInt64(webModel.Id), context);

                var index = await context.SaveChangesAsync();

                return(index == 2);
            }
            catch (Exception ex)
            {
                _logger.LogError("更新物品信息失败:{0},\r\n内部错误信息:{1}", ex.Message, ex.InnerException.Message);
                return(false);
            }
        }
Пример #9
0
        /// <summary>
        /// 获取物品信息
        /// </summary>
        /// <param name="id">物品编号</param>
        /// <param name="context">数据库连接上下文对象</param>
        /// <returns></returns>
        public async Task <GoodsEditViewModel> GetGoodsAsync(long id, ApplicationDbContext context)
        {
            var webModel = new GoodsEditViewModel();

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

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