Initial commit

This commit is contained in:
Fergal Moran
2019-02-06 00:18:07 +00:00
commit 0e0a5e3417
17 changed files with 919 additions and 0 deletions

42
Data/HomeworkService.cs Normal file
View File

@@ -0,0 +1,42 @@
using System.Collections.Generic;
using retns.api.Data.Models;
using Microsoft.Extensions.Configuration;
using MongoDB.Driver;
using System.Threading.Tasks;
namespace retns.api.Data {
public class HomeworkService {
private readonly IMongoCollection<HomeworkWeek> _homeworkWeeks;
public HomeworkService(IConfiguration config) {
var client = new MongoClient(config.GetConnectionString("HomeworkDb"));
var database = client.GetDatabase("retns");
_homeworkWeeks = database.GetCollection<HomeworkWeek>("Homework");
}
public async Task<List<HomeworkWeek>> Get() {
return (await _homeworkWeeks.FindAsync(homework => true)).ToList();
}
public async Task<HomeworkWeek> Get(string id) {
return (await _homeworkWeeks.FindAsync<HomeworkWeek>(homework => homework.Id == id)).FirstOrDefault();
}
public async Task<HomeworkWeek> Create(HomeworkWeek homework) {
await _homeworkWeeks.InsertOneAsync(homework);
return homework;
}
public async Task Update(string id, HomeworkWeek homeworkIn) {
await _homeworkWeeks.ReplaceOneAsync(homework => homework.Id == id, homeworkIn);
}
public async Task Remove(HomeworkWeek homeworkIn) {
await _homeworkWeeks.DeleteOneAsync(homework => homework.Id == homeworkIn.Id);
}
public async Task Remove(string id) {
await _homeworkWeeks.DeleteOneAsync(homework => homework.Id == id);
}
}
}