コード例 #1
0
 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);
 }
コード例 #2
0
        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);
        }
コード例 #3
0
        public async Task <IActionResult> UpdateWriter([FromBody] WriterMongoDTO writer)
        {
            var result = await writersRepository.UpdateWriter(writer);

            if (result == true)
            {
                return(Ok(result));
            }
            else
            {
                return(BadRequest());
            }
        }
コード例 #4
0
        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());
            }
        }
コード例 #5
0
        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);
            }
        }