Files
SkydiveLogs/Back/skydiveLogs-api.Data/AircraftRepository.cs
2019-09-30 15:16:34 +02:00

45 lines
1.3 KiB
C#

using skydiveLogs_api.Data.Interface;
using skydiveLogs_api.Model;
using System;
using System.Collections.Generic;
using System.Text;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.IO;
using System.Linq;
namespace skydiveLogs_api.Data
{
public class AircraftRepository : IAircraftRepository
{
public IEnumerable<Aircraft> GetAllAircrafts()
{
IEnumerable<Aircraft> result = new List<Aircraft>();
using (StreamReader file = File.OpenText(@"Data/Aircraft.json"))
using (JsonTextReader reader = new JsonTextReader(file))
{
var jsonResult = (JArray)JToken.ReadFrom(reader);
result = jsonResult.ToObject<IEnumerable<Aircraft>>();
}
return result;
}
public Aircraft GetAircraftById(int id)
{
Aircraft result;
using (StreamReader file = File.OpenText(@"Data/Aircraft.json"))
using (JsonTextReader reader = new JsonTextReader(file))
{
var jsonResult = (JArray)JToken.ReadFrom(reader);
var tmp = jsonResult.ToObject<IEnumerable<Aircraft>>();
result = tmp.SingleOrDefault(t => t.Id == id);
}
return result;
}
}
}