Exemple #1
0
        public async Task <PayloadResult <Ad> > CreateAdAsync(string userId, AdCreationModel adModel)
        {
            var ad = _mapper.Map <AdCreationModel, Ad>(adModel);

            ad.UserId = userId;
            ad.User   = await _dataContext.Users.FindAsync(userId);

            ad.Category = await _dataContext.Categories.FirstOrDefaultAsync(x => x.Id == adModel.CategoryId);

            await _dataContext.AddAsync(ad);

            var success = await _dataContext.SaveChangesAsync() > 0;

            if (!success)
            {
                return(new PayloadResult <Ad>
                {
                    Errors = new[] { "Could not save changes." },
                    Success = false
                });
            }
            return(new PayloadResult <Ad>
            {
                Payload = ad
            });
        }
Exemple #2
0
        public async Task <IActionResult> Create([FromForm] AdCreationModel model)
        {
            var create = await _adService.CreateAdAsync(HttpContext.GetUserId(), model);

            var locationUri = _uriService.GetAdUri(create.Payload.Id.ToString());

            return(Created(locationUri, _mapper.Map <AdDetailsModel>(create.Payload)));
        }