public async Task <JsonResult> Edit(SpotGoodsEditViewModel request) { if (!ModelState.IsValid) { return(Json(false, data: ErrorToDictionary())); } var manager = new SpotGoodsManager(User); var spotGoods = Mapper.Map <SpotGoodsEditViewModel, SpotGoods>(request); var result = await manager.CreateSpotGoods(spotGoods); return(Json(result)); }
public async Task <JsonResult> Create(SpotGoodsEditViewModel request) { if (!ModelState.IsValid) { return(Json(false, data: ErrorToDictionary())); } var basicDataManager = new BasicDataManager(); var matchStones = await basicDataManager.GetMatchStonesAsync(); JArray jarry = JArray.Parse(Request.Form["SetStoneInfos"]); List <SpotGoodsSetStoneInfo> SpotGoodsSetStoneInfos = new List <SpotGoodsSetStoneInfo>(); var spotGoods = Mapper.Map <SpotGoodsEditViewModel, SpotGoods>(request); var serialNumberManager = new SerialNumberManager(User); var manager = new SpotGoodsManager(User); if (string.IsNullOrEmpty(spotGoods.Id)) { spotGoods.Id = SaleManagentConstants.Misc.SpotGoodsPrefix + await serialNumberManager.NextSNAsync(SaleManagentConstants.SerialNames.SpotGoods); } for (int i = 0; i < jarry.Count; ++i) //遍历JArray { var setStoneInfo = Newtonsoft.Json.JsonConvert.DeserializeObject <SpotGoodsSetStoneInfo>(jarry[i].ToString()); var matchStone = matchStones.FirstOrDefault(r => r.Id == setStoneInfo.MatchStoneId); if (matchStone == null) { break; } setStoneInfo.Price = matchStone.Price; setStoneInfo.WorkingCost = (int)matchStone.WorkingCost * setStoneInfo.Number; setStoneInfo.CreatorId = User.Id; setStoneInfo.SpotGoodsId = spotGoods.Id; SpotGoodsSetStoneInfos.Add(setStoneInfo); } spotGoods.SetStoneInfos = SpotGoodsSetStoneInfos; var result = await manager.CreateSpotGoods(spotGoods); return(Json(result)); }