public async Task <IActionResult> PutMemeItem([FromRoute] int id, [FromBody] MemeItem memeItem) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != memeItem.Id) { return(BadRequest()); } _context.Entry(memeItem).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!MemeItemExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PostMemeItem([FromBody] MemeItem memeItem) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.MemeItem.Add(memeItem); await _context.SaveChangesAsync(); return(CreatedAtAction("GetMemeItem", new { id = memeItem.Id }, memeItem)); }
public async Task TestPutMemeItemUpdate() { using (var context = new MemeApiContext(options)) { // Given string title = "putMeme"; MemeItem memeItem1 = context.MemeItem.Where(x => x.Title == memeTitles[0]).Single(); memeItem1.Title = title; // When MemeController memeController = new MemeController(context, configuration); IActionResult result = await memeController.PutMemeItem(memeItem1.Id, memeItem1) as IActionResult; // Then memeItem1 = context.MemeItem.Where(x => x.Title == title).Single(); } }
public async Task TestPutMemeItemNoContentStatusCode() { using (var context = new MemeApiContext(options)) { // Given string title = "putMeme"; MemeItem memeItem1 = context.MemeItem.Where(x => x.Title == memeTitles[0]).Single(); memeItem1.Title = title; // When MemeController memeController = new MemeController(context, configuration); IActionResult result = await memeController.PutMemeItem(memeItem1.Id, memeItem1) as IActionResult; // Then Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(NoContentResult)); } }
public void SetupDb() { using (var context = new MemeApiContext(options)) { MemeItem memeItem1 = new MemeItem() { Title = memeTitles[0] }; MemeItem memeItem2 = new MemeItem() { Title = memeTitles[1] }; context.MemeItem.Add(memeItem1); context.MemeItem.Add(memeItem2); context.SaveChanges(); } }
public async Task <IActionResult> UploadFile([FromForm] MemeImageItem meme) { if (!MultipartRequestHelper.IsMultipartContentType(Request.ContentType)) { return(BadRequest($"Expected a multipart request, but got {Request.ContentType}")); } try { using (var stream = meme.Image.OpenReadStream()) { var cloudBlock = await UploadToBlob(meme.Image.FileName, null, stream); //// Retrieve the filename of the file you have uploaded //var filename = provider.FileData.FirstOrDefault()?.LocalFileName; if (string.IsNullOrEmpty(cloudBlock.StorageUri.ToString())) { return(BadRequest("An error has occured while uploading your file. Please try again.")); } MemeItem memeItem = new MemeItem(); memeItem.Title = meme.Title; memeItem.Tags = meme.Tags; System.Drawing.Image image = System.Drawing.Image.FromStream(stream); memeItem.Height = image.Height.ToString(); memeItem.Width = image.Width.ToString(); memeItem.Url = cloudBlock.SnapshotQualifiedUri.AbsoluteUri; memeItem.Uploaded = DateTime.Now.ToString(); _context.MemeItem.Add(memeItem); await _context.SaveChangesAsync(); return(Ok($"File: {meme.Title} has successfully uploaded")); } } catch (Exception ex) { return(BadRequest($"An error has occured. Details: {ex.Message}")); } }