コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }