public async Task <ActionResult <SlideAdminDTO> > CreateSlide(Guid id, [FromBody] SlideAdminCreateDTO dto, CancellationToken ct) { if (dto == null) { return(BadRequest()); } var obj = _mapper.Map <Slide>(dto); obj.Id = Guid.NewGuid(); obj.SlideSetId = id; // For lack of knowing how else to do this (with AutoMapper preferably)... if (obj.Order < 1) { obj.Order = 999; } if (obj.DisplaySeconds < 1) { obj.DisplaySeconds = 20; } // I hope one day I can find a better way for this :( obj = await _contentSvc.AddSlideAsync(obj, ct); return(CreatedAtAction("GetSlide", "Slides", new { id = obj.Id }, _mapper.Map <SlideAdminDTO>(obj))); }
public async Task <ActionResult <SlideAdminDTO> > UpdateSlide(Guid id, [FromBody] SlideAdminCreateDTO dto, CancellationToken ct) { var obj = await _contentSvc.GetSlideAsync(id, ct : ct); if (obj == null) { return(NotFound()); } obj.Title = dto.Title; obj.Content = dto.Content; if (dto.Order.HasValue) { obj.Order = dto.Order.Value; } if (dto.DisplaySeconds.HasValue) { obj.DisplaySeconds = dto.DisplaySeconds.Value; } await _contentSvc.UpdateSlideAsync(obj, ct); return(Ok(_mapper.Map <SlideAdminDTO>(obj))); }