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 })); }
/// <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); }
/// <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); }
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)); }
/// <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); }
/// <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, }); }
/// <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); } }
/// <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); } }
/// <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); }