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 })); }
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); }
public CreateListingResponse CreateListing(CreateListingRequest request) { action = "/{0}/Selling.{1}"; method = "POST"; var response = SendRequest <ListingResponse>(request.request); return(new CreateListingResponse(response)); }