public async Task <DataAccessResponse <IEnumerable <PurchasedItem> > > GetAll(string friendId)
        {
            DataAccessResponse <IEnumerable <PurchasedItem> > response = new DataAccessResponse <IEnumerable <PurchasedItem> >();

            if (friendId == null)
            {
                return(response.NotFound());
            }

            DataAccessResponse <Friend> friendResponse = await _friendRepo.Get(friendId);

            if (friendResponse.Status != HttpStatusCode.OK)
            {
                return(response.NotFound());
            }

            Friend friend = friendResponse.Payload;

            if (friend.PurchasedItems == null)
            {
                return(response.NotFound());
            }

            return(response.Ok(friendResponse.Payload.PurchasedItems));
        }
Beispiel #2
0
        public async Task <DataAccessResponse <IEnumerable <Friend> > > GetAll()
        {
            DataAccessResponse <IEnumerable <Friend> > response = new DataAccessResponse <IEnumerable <Friend> >();

            ISearchResponse <Friend> searchResponse = await _esClient.SearchAsync <Friend>(s => s);

            if (searchResponse.Total == 0)
            {
                return(response.NotFound());
            }

            if (!searchResponse.IsValid)
            {
                return(response.InternalServerError());
            }

            IEnumerable <Friend> friends = searchResponse.Hits.Select(h => {
                Friend source = h.Source;
                source.Id     = h.Id;
                return(source);
            });

            if (friends == null)
            {
                return(response.NotFound());
            }
            if (friends.Count() == 0)
            {
                return(response.NotFound());
            }

            return(response.Ok(friends));
        }
Beispiel #3
0
        public async Task <DataAccessResponse <Friend> > Get(string id)
        {
            DataAccessResponse <Friend> response = new DataAccessResponse <Friend>();

            IGetResponse <Friend> getResponse = await _esClient.GetAsync <Friend>(id);

            if (!getResponse.Found)
            {
                return(response.NotFound());
            }

            if (!getResponse.IsValid)
            {
                return(response.InternalServerError());
            }

            Friend friend = getResponse.Source;

            friend.Id = getResponse.Id;

            return(response.Ok(friend));;
        }
        public async Task <DataAccessResponse <PurchasedItem> > Get(string friendId, Guid purchasedItemId)
        {
            DataAccessResponse <PurchasedItem> response = new DataAccessResponse <PurchasedItem>();

            if (friendId == null)
            {
                return(response.NotFound());
            }
            if (purchasedItemId == null)
            {
                return(response.NotFound());
            }

            DataAccessResponse <Friend> friendResponse = await _friendRepo.Get(friendId);

            if (friendResponse.Status != HttpStatusCode.OK)
            {
                return(response.NotFound());
            }

            Friend friend = friendResponse.Payload;

            if (friend.PurchasedItems == null)
            {
                return(response.BadRequest());
            }

            PurchasedItem purchasedItem = friend.PurchasedItems.FirstOrDefault(p => p.Id == purchasedItemId);

            if (purchasedItem == null)
            {
                return(response.NotFound());
            }

            purchasedItem.Id = purchasedItemId;

            return(response.Ok(purchasedItem));
        }