public async Task <ThreadWrapper> AddThreads() { try { _logger.LogInformation("Adding Object to DataBase"); if (await ThreadExists("1")) { await _threadRepo.RemoveThreads("1"); } var json = await GetTopThreads(); var bson = new ThreadsInBsonWrapper(); var bsonList = new List <ThreadsInBson>(); for (int i = 0; i < 5; i++) { var wrap = new ThreadsInBson(); wrap.Title = json.ThreadWrapper.Threads[i].Title; wrap.Comments = json.ThreadWrapper.Threads[i].Comments; bsonList.Add(wrap); } bson.Id = "1"; bson.ThreadsInBson = bsonList; await _threadRepo.AddThreads(bson); _logger.LogInformation("Added Object to DataBase"); return(json.ThreadWrapper); } catch (Exception e) { _logger.LogCritical(e, "Failed To Communicate To Database."); throw; } }
public async Task AddThreads(ThreadsInBsonWrapper item) { try { await _context.ThreadsInBson.InsertOneAsync(item); } catch (Exception ex) { _logger.LogError("Failed To Add Object From Database. {ex}", ex); throw; } }
public async Task <bool> UpdateThreads(string id, string body) { try { ThreadsInBsonWrapper item = JsonConvert.DeserializeObject <ThreadsInBsonWrapper>(body); ReplaceOneResult actionResult = await _context.ThreadsInBson .ReplaceOneAsync(n => n.Id.Equals(id) , item , new ReplaceOptions { IsUpsert = true }); return(actionResult.IsAcknowledged && actionResult.ModifiedCount > 0); } catch (Exception ex) { //anage the exception throw ex; } }