public ItemRequest AddItemRequest(RequestItemsModel requestItemsModel, ClassicGuildBankUser classicGuildBankUser)
        {
            var request = new ItemRequest()
            {
                Id            = Guid.NewGuid(),
                CharacterName = requestItemsModel.CharacterName,
                Gold          = requestItemsModel.Gold,
                GuildId       = requestItemsModel.GuildId,
                UserId        = classicGuildBankUser.Id,
                Status        = RequestStatus.Pending,
                DateRequested = DateTime.Now
            };

            _classicGuildBankDbContext.ItemRequests.Add(request);

            foreach (var item in requestItemsModel.RequestItemModels)
            {
                var detail = new ItemRequestDetail()
                {
                    Id            = Guid.NewGuid(),
                    ItemId        = item.ItemId,
                    Quantity      = item.Quantity,
                    ItemRequestId = request.Id
                };

                _classicGuildBankDbContext.ItemRequestDetails.Add(detail);
            }

            _classicGuildBankDbContext.SaveChanges();

            return(request);
        }
Ejemplo n.º 2
0
        public Task <BaseResult> Post(RequestItemsModel requestItemsModel)
        {
            var request = new RestRequest("v2/items/{Action}", Method.POST)
            {
                RequestFormat = DataFormat.Json
            }.AddUrlSegment("Action", requestItemsModel.Action.ToLower())
            .AddJsonBody(requestItemsModel);

            return(_restClient.ExecuteTaskAsync(request)
                   .ContinueWith <BaseResult>(i => Json.ToObject <ResultItemsModel>(i.Result.Content)));
        }
Ejemplo n.º 3
0
        public Task <BaseResult> AddItem(List <ItemModel> itemModels)
        {
            var x = itemModels.Where(ModelCheck.Check).ToList();
            var r = new RequestItemsModel
            {
                Action    = "Add",
                Parameter = string.Empty,
                Items     = x
            };

            try
            {
                return(_itemDal.Post(r));
            }
            catch (Exception e)
            {
                return(Task.Run <BaseResult>(() => ResultFactory.CreateItemsResult(e)));
            }
        }
Ejemplo n.º 4
0
        public IActionResult RequestItems([FromBody] RequestItemsModel requestItemsModel)
        {
            try
            {
                //signal r to push item request count?

                if (!ModelState.IsValid)
                {
                    return(BadRequest(GetErrorMessageObject(GetModelStateErrors())));
                }

                _guildBankRepository.AddItemRequest(requestItemsModel, ClassicGuildBankUser);

                return(Ok());
            }
            catch
            {
                return(BadRequest(GetErrorMessageObject("Failed to Request Items")));
            }
        }