public async Task <IActionResult> Edit(long Id)
        {
            ItemsDataModel model  = new ItemsDataModel();
            ItemsData      module = await IItemsDataApp.GetAsync(Id);

            if (module == null)
            {
                return(NotFind());
            }
            model           = MapperHelper.Map <ItemsData, ItemsDataModel>(module);
            model.GoBackUrl = SetingBackUrl(this.HttpContext.Request);
            var data = await IItemsDataApp.GetItemsDataListAsync();

            data = data.SortDepartmentsForTree().ToList();

            var selectList = new List <SelectListItem>();

            foreach (var c in data)
            {
                selectList.Add(new SelectListItem()
                {
                    Value    = c.Id.ToString(),
                    Text     = c.GetFormattedBreadCrumb(data),
                    Selected = c.Id == model.ParentId
                });
            }

            model.pids = selectList;
            return(View(model));
        }
示例#2
0
        /// <summary>
        /// 添加
        /// </summary>
        /// <returns></returns>
        public async Task <IActionResult> Create()
        {
            var data = await ItemsDataApp.GetItemsDataListAsync();

            var model = new ItemsDataModel();

            data = data.SortDepartmentsForTree().ToList();
            var selectList = new List <SelectListItem>();

            foreach (var c in data)
            {
                selectList.Add(new SelectListItem()
                {
                    Value    = c.Id.ToString(),
                    Text     = c.GetFormattedBreadCrumb(data),
                    Selected = c.Id == model.ParentId
                });
            }

            model.pids = selectList;

            model.GoBackUrl   = SetingBackUrl(this.HttpContext.Request);
            ViewBag.GoBackUrl = SetingBackUrl(this.HttpContext.Request);
            return(View(model));
        }
        public async Task <IActionResult> Create(ItemsDataModel model)
        {
            if (!ModelState.IsValid)
            {
                return(Operation(false, "数据验证失败;" + GetErrorFromModelStateStr(), model.GoBackUrl));
            }
            ItemsData module = model.MapTo <ItemsData>();

            module.CreatorTime   = DateTime.Now;
            module.CreatorUserId = CurrentUser().Id;

            var r = await ItemsDataApp.CreateAsync(module);

            return(Json(r));
        }
        public async Task <IActionResult> Create(ItemsDataModel model)
        {
            if (!ModelState.IsValid)
            {
                return(Operation(false, "数据验证失败;" + GetErrorFromModelStateStr(), model.GoBackUrl));
            }
            ItemsData module = MapperHelper.Map <ItemsDataModel, ItemsData>(model);

            module.Id            = module.CreateId();
            module.CreatorTime   = DateTime.Now;
            module.CreatorUserId = CurrentUser.Id;

            var r = await IItemsDataApp.CreateAsync(module);

            return(Operation(r.IsSuc, r.IsSuc ? "数据添加成功" : r.Msg, model.GoBackUrl));
        }
示例#5
0
        public async Task <IActionResult> Edit(ItemsDataModel model)
        {
            if (!ModelState.IsValid)
            {
                return(Json(R.Err(GetErrorFromModelStateStr())));
            }
            var m = await ItemsDataApp.GetAsync(model.Id);

            if (m == null)
            {
                return(Json(R.Err("数据不存在或已被删除")));
            }
            m = model.MapToMeg <ItemsDataModel, ItemsData>(m);
            var r = await ItemsDataApp.UpdateAsync(m);

            return(Json(r));
        }
        public async Task <IActionResult> Edit(ItemsDataModel model)
        {
            if (!ModelState.IsValid)
            {
                return(Operation(false, GetErrorFromModelStateStr()));
            }
            ItemsData m = await IItemsDataApp.GetAsync(model.Id);

            if (m == null)
            {
                return(Operation(false, "数据不存在或已被删除"));
            }
            m = MapperHelper.Map <ItemsDataModel, ItemsData>(model, m);
            var r = await IItemsDataApp.UpdateAsync(m);

            return(Operation(r.IsSuc, r.IsSuc ? "数据编辑成功" : r.Msg, model.GoBackUrl));
        }
示例#7
0
        private void ParseInventoryString()
        {
            // split the items into categories, weapon and magazine
            // NEW REGEX: (?:\[\[(?<weapons>.*)\],\[(?<items>\[.*\])\]\])|(?:\[\[(?<weapons>[^\]]*)\],\[(?<items>.*)\]\])
            var categorySplitRegex = new Regex(@"(?:\[\[(?<weapons>.*)\],\[(?<items>\[.*\])\]\])|(?:\[\[(?<weapons>[^\]]*)\],\[(?<items>.*)\]\])");

            // split the items inside categories
            var itemSplitRegex = new Regex(@"([\""\w_]+)");

            if (_inventoryString == "[]")
            {
                return;
            }

            var regexMatch = categorySplitRegex.Match(_inventoryString);

            if (regexMatch.Success)
            {
                _items = regexMatch.Groups["weapons"].Value;
                if (!String.IsNullOrWhiteSpace(_items))
                {
                    _items += "," + regexMatch.Groups["items"].Value;
                }
                _items += regexMatch.Groups["items"].Value;
            }
            else
            {
                throw new InventoryParseException("Inventory string did not match the regular expression.");
            }


            using (var itemDatabase = new ItemsDataModel())
            {
                if (_items == null)
                {
                    return;
                }

                var matchList = itemSplitRegex.Matches(_items);

                var playerItems = matchList.Cast <Match>().Select(match => match.Value).ToList();
                playerItems = playerItems.Select(str => str.Replace("\"", "")).ToList();

                foreach (string playerItem in playerItems)
                {
                    var item = (from i in itemDatabase.Items
                                where i.Class.ToLower() == playerItem.ToLower()
                                select i).FirstOrDefault();

                    if (item == null)
                    {
                        continue;
                    }

                    var newItem = new Item(item.Name, item.Subtitle, item.Description, item.Class, item.Image);
                    switch (item.Category)
                    {
                    case "Primary":
                        this.PrimaryWeapon = newItem;
                        break;

                    case "Secondary":
                        this.SecondaryWeapon = newItem;
                        break;

                    case "Backpack":
                        this.Backpack = newItem;
                        break;

                    case "Item":
                        this.Items.Add(newItem);
                        break;

                    case "Optic":
                        this.Optics.Add(newItem);
                        break;

                    case "Tool":
                        this.Tools.Add(newItem);
                        break;
                    }
                }
            }
        }