Пример #1
0
        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());
        }
Пример #2
0
        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));
        }