public async Task <IActionResult> PutAdvert(int id, ViewAdvert advertView) { if (advertView == null || id != advertView.Id) { return(BadRequest()); } var advert = await _context.Adverts.FindAsync(id); advert.Title = advertView.Title; advert.Information = advertView.Information; advert.ImageUrls = string.Join(";", ImagesToUrl(advertView.ImageUrls)); advert.AnimalType = advertView.AnimalType; if (!advertValidator.IsValid(advert)) { return(BadRequest()); } _context.Entry(advert).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AdvertExists(id, _context)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <Advert> > PostAdvert(ViewAdvert advert) { Advert resultAdvert = new Advert { ImageUrls = ImagesToUrl(advert.ImageUrls), Information = advert.Information, Title = advert.Title, AnimalType = advert.AnimalType, UserId = User.FindFirstValue(ClaimTypes.NameIdentifier) }; if (!advertValidator.IsValid(resultAdvert)) { return(BadRequest()); } _context.Adverts.Add(resultAdvert); await _context.SaveChangesAsync(); advert.Id = resultAdvert.Id; advert.ImageUrls = resultAdvert.ImageUrls.Split(';'); return(CreatedAtAction("GetAdvert", new { id = resultAdvert.Id }, advert)); }