public async Task <ActionResult <VideoMediaModelOutput> > Insert([FromBody] VideoMediaModelInput videoMediaInput) { VideoMedia videoMediaDBDuplicated = await _videoMediaData.GetByHashedID(hashedId : videoMediaInput.HashedID); if (videoMediaDBDuplicated != null) { return(new ConflictObjectResult("A video with same hashedId already exists")); } VideoMedia videoMedia = _mapper.Map <VideoMedia>(videoMediaInput); VideoMedia videoMediaInserted = await _videoMediaData.Insert(videoMedia : videoMedia); VideoMediaModelOutput videoMediaInsertedOutput = _mapper.Map <VideoMediaModelOutput>(videoMediaInserted); return(new CreatedAtRouteResult("GetVideoMediaByID", new { id = videoMediaInsertedOutput.ID }, videoMediaInsertedOutput)); }
public async Task <ActionResult <VideoMediaModelOutput> > Update([FromRoute] int id, [FromBody] VideoMediaModelInput videoMediaInput) { VideoMedia videoMediaDB = await _videoMediaData.GetByID(id : id); if (videoMediaDB == null) { return(new NotFoundObjectResult("This video does not exist.")); } VideoMedia videoMediaDBDuplicated = await _videoMediaData.GetByHashedID(hashedId : videoMediaInput.HashedID); if (videoMediaDBDuplicated != null && videoMediaDBDuplicated.ID != videoMediaDB.ID) { return(new ConflictObjectResult("A video with same hashedId already exists")); } VideoMedia videoMedia = _mapper.Map <VideoMedia>(videoMediaInput); videoMedia.ID = videoMediaDB.ID; VideoMedia videoMediaUpdated = await _videoMediaData.Update(videoMedia : videoMedia); VideoMediaModelOutput videoMediaUpdatedOutput = _mapper.Map <VideoMediaModelOutput>(videoMediaUpdated); return(new CreatedAtRouteResult("GetVideoMediaByID", new { id = videoMediaUpdatedOutput.ID }, videoMediaUpdatedOutput)); }