private async Task GetItem(int id)
        {
            GetItemByIdRequest item = new GetItemByIdRequest()
            {
                itemId = id.ToString()
            };
            var res = await _viewModel.GetItemById(item);

            if (res != null)
            {
                if (res.Code == 0)
                {
                    cartItem                = res.Data;
                    ItemName.Text           = res.Data.foodName;
                    ItemDescription.Text    = res.Data.description;
                    ItemImage.Source        = res.Data.itemImage;
                    ItemPreparedOn.Text     = res.Data.preparedOn;
                    ItemExpiryDate.Text     = res.Data.expiryDate;
                    ItemUnitPrice.Text      = res.Data.unitPrice;
                    QuantityStepper.Maximum = Convert.ToInt32(res.Data.quantity);
                    AvailableQty.Text       = res.Data.quantity;
                    UserId                 = res.Data.userId;
                    SellerName.Text        = res.Data.username;
                    BtnAddToCart.IsEnabled = true;
                }
                else
                {
                    await DisplayAlert("Message", "Couldn't retrieve item details. Please try again,", null, "OK");
                }
            }
            else
            {
                await DisplayAlert("Message", "Couldn't retrieve item details. Please try again,", null, "OK");
            }
        }
        public async Task Given_An_ItemId_When_GetById_Then_Assert_GetItemByIdRequest_Is_Not_Null()
        {
            // Arrange
            var client = new Crud.CrudClient(Channel);
            var item   = new GetItemByIdRequest {
                Id = 1
            };
            var seedItem = new Item
            {
                Id   = 1,
                Name = "Alienware M15 R3"
            };

            Fixture.Host.Seed <DemoDbContext>(db =>
            {
                db.Clear();
                db.Items.Add(seedItem);
            });

            // Act
            var response = await client.GetByIdAsync(item);

            // Assert
            Assert.That(response.Id, Is.EqualTo(1));
            StringAssert.AreEqualIgnoringCase("Alienware M15 R3", response.Name);
        }
        public async Task <GetItemByIdResponse> GetItemById(GetItemByIdRequest item)
        {
            IsBusy = true;
            try
            {
                var res = await itemsAPI.GetItemById(item);

                if (res != null)
                {
                    if (res.Code == 0)
                    {
                        unitPrice = Convert.ToDouble(res.Data.unitPrice);
                        return(res);
                    }
                    else
                    {
                        return(null);
                    }
                }
                return(null);
            }
            catch (Exception ex)
            {
                throw;
            }
            finally
            {
                IsBusy = false;
            }
        }
Beispiel #4
0
        public async Task <GetItemByIdResponse> GetItemById(GetItemByIdRequest item)
        {
            string url         = $"/item/get-item-details-by-item-id";
            var    requestBody = await Task.Run(() => JsonConvert.SerializeObject(item));

            using (HttpClient httpClient = new HttpClient())
            {
                GetItemByIdResponse data = new GetItemByIdResponse();
                try
                {
                    var authHeader = new AuthenticationHeaderValue("Bearer", await SecureStorage.GetAsync("auth_token"));
                    httpClient.DefaultRequestHeaders.Authorization = authHeader;
                    httpClient.BaseAddress = new Uri(Constants.BaseUrl);
                    StringContent       content = new StringContent(requestBody, Encoding.UTF8, "application/json");
                    HttpResponseMessage result  = await httpClient.PostAsync(url, content);

                    string response = await result.Content.ReadAsStringAsync();

                    data = JsonConvert.DeserializeObject <GetItemByIdResponse>(response);

                    if (result.IsSuccessStatusCode && result.StatusCode == HttpStatusCode.OK)
                    {
                        return(data);
                    }

                    return(null);
                }
                catch (Exception exp)
                {
                    return(null);
                }
            }
        }
        public async Task <IActionResult> GetById([FromRoute] int itemId)
        {
            var request = new GetItemByIdRequest()
            {
                ItemId = itemId
            };

            var response = await this.mediator.Send(request);

            return(this.Ok(response));
        }
Beispiel #6
0
        public override async Task <GetItemResponse> GetById(GetItemByIdRequest request, ServerCallContext context)
        {
            _logger.LogInformation($"Get By Id Request Received with Id: {request.Id}");

            var result = await _demoDbContext.Items.FindAsync(request.Id);

            if (result is not null)
            {
                return new GetItemResponse
                       {
                           Id   = result.Id,
                           Name = result.Name
                       }
            }
            ;

            _logger.LogInformation($"Item not found with Id: {request.Id}");
            return(new GetItemResponse());
        }
    }