Example #1
0
        public async Task <IActionResult> CreateListing([FromBody] CreateListingRequest request)
        {
            int userId    = int.Parse(User.Claims.FirstOrDefault(x => x.Type.Equals("UserId")).Value);
            int listingId = await _listingService.CreateListing(request, userId);

            return(Ok(new { listingId }));
        }
Example #2
0
        public async Task <int> CreateListing(CreateListingRequest request, int userId)
        {
            Listing listing = new Listing
            {
                Title    = request.Title,
                About    = request.About,
                Currency = Currencies.GBP,
                UserId   = userId,
                Price    = request.Price,
                Created  = DateTime.Now,
                Status   = Models.Domain.Status.Open,
            };

            listing.Id = await _listingRepository.AddListing(listing);

            await _listingRepository.AddSearchTags(request.SearchTags, listing.Id);

            List <SearchTagType> searchTagTypes = await _listingRepository.GetRelatedSearchTagsForListing(listing.Id);

            ElasticListing elasticListing = (ElasticListing)listing;

            elasticListing.Tags = ElasticListing.SearchTagTypesToElasticTags(searchTagTypes);
            IndexResponse indexListing = await _elastic.IndexDocumentAsync(elasticListing);

            return(listing.Id);
        }
Example #3
0
        public CreateListingResponse CreateListing(CreateListingRequest request)
        {
            action = "/{0}/Selling.{1}";
            method = "POST";

            var response = SendRequest <ListingResponse>(request.request);

            return(new CreateListingResponse(response));
        }