private WriterMongoDTO CreateLinksForWriter(WriterMongoDTO writer) { writer.Links.Add(new LinkDTO(Url.Link("GetWriter", new { id = writer.Id }), "self", "GET")); writer.Links.Add(new LinkDTO(Url.Link("UpdateWriter", null), "update_writer", "PUT")); writer.Links.Add(new LinkDTO(Url.Link("DeleteWriter", new { id = writer.Id }), "delete_writer", "DELETE")); return(writer); }
public async Task <bool> UpdateWriter(WriterMongoDTO writer) { ReplaceOneResult updateResult = await libraryContext .Writers .ReplaceOneAsync( filter : g => g.Id == writer.Id, replacement : writer); return(updateResult.IsAcknowledged && updateResult.ModifiedCount > 0); }
public async Task <IActionResult> UpdateWriter([FromBody] WriterMongoDTO writer) { var result = await writersRepository.UpdateWriter(writer); if (result == true) { return(Ok(result)); } else { return(BadRequest()); } }
public IActionResult AddWriter([FromBody] WriterMongoDTO writer) { if (writer == null) { return(BadRequest()); } var result = writersRepository.AddWriter(writer); if (result != null) { return(CreatedAtRoute("GetWriter", new { writer.Id }, CreateLinksForWriter(writer))); } else { return(BadRequest()); } }
public async Task <string> AddWriter(WriterMongoDTO writer) { try { var findQuery = await libraryContext.Writers.Find(w => w.Name == writer.Name && w.BirthDate == writer.BirthDate).ToListAsync(); if (findQuery.Count() > 0) { return(null); } await libraryContext.Writers.InsertOneAsync(writer); return(writer.Id); } catch (Exception e) { return(null); } }