public void MetaWrapper_GetMetaData_returns_null_if_item_not_registered() { var entity = new Entity(); var result = MetaWrapper <Entity, EntityMetaData> .GetMetaData(entity); Assert.IsNull(result); }
private MetaWrapper <T, MetaData> FindLatestRevision(MetaWrapper <T, MetaData> item) { return(_data .Where(x => x.Meta.Id == item.Meta.Id) .OrderByDescending(x => x.Meta.Revision) .FirstOrDefault()); }
public RobinApiException(MetaWrapper meta) : base(meta.Message) { foreach (var mi in meta.MoreInfo) { Data.Add(mi.Key, mi.Value); } }
private void ReadData(bool force = false) { if (_data == null || force) { _data = _cache.Read <List <MetaWrapper <T, MetaData> > >(DataFile) ?? new List <MetaWrapper <T, MetaData> >(); _data = _data.Select(x => MetaWrapper <T, MetaData> .Register(x)).ToList(); } }
public void MetaWrapper_wraps_item_and_cast_identity_both_ways() { var entity = MetaWrapper <Entity, EntityMetaData> .Create(new Entity() { Name = "Test" }); Assert.That(entity is Entity && ((MetaWrapper <Entity, EntityMetaData>)entity is MetaWrapper <Entity, EntityMetaData>)); }
public Guid?Identify(T item) { MetaWrapper <T, MetaData> meta = item; if (item != null) { return(meta.Meta.Id); } return(null); }
private MetaWrapper <T, MetaData> WrapItem(T item) { MetaWrapper <T, MetaData> meta = item; if (meta == null) { meta = MetaWrapper <T, MetaData> .Create(item); meta.Meta = MetaData.New(); } return(meta); }
public void Meta_wrapper_identity_property_cast_is_same() { var entity = new Entity(); var wrapped = MetaWrapper <Entity, EntityMetaData> .Create(entity, new EntityMetaData() { Id = Guid.NewGuid().ToString() }); MetaWrapper <Entity, EntityMetaData> unwrapped = wrapped; Assert.AreEqual(unwrapped.Meta.Id, MetaWrapper <Entity, EntityMetaData> .GetMetaData(wrapped).Id); }
public void MetaWrapper_casts_item() { var id = Guid.NewGuid().ToString(); var entity = MetaWrapper <Entity, EntityMetaData> .Create(new Entity() { Name = "Test" }, new EntityMetaData() { Id = id }); var meta = (MetaWrapper <Entity, EntityMetaData>)entity; Assert.AreEqual(id, meta.Meta.Id); }
public void Storage_system_serialzes_an_object() { var entity = new SimpleEntity() { Name = "Bill" }; var storage = StorageFactory <SimpleEntity> .UserStorage("Test", _cache); MetaWrapper <SimpleEntity, MetaData> storedEntity = storage.Store(entity); SimpleEntity updateEntity = storedEntity; updateEntity.Name = "Updated Bill"; storedEntity = storage.Store(updateEntity); Assert.That(storedEntity is MetaWrapper <SimpleEntity, MetaData>); storage.Purge(); }
public void Storage_system_queries_data() { var entity = new SimpleEntity() { Name = "Bill" }; var storage = StorageFactory <SimpleEntity> .UserStorage("Test", _cache); var newEnt = storage.Store(entity); newEnt.Name = "Updated Bill"; newEnt = storage.Store(entity); var list = storage.Query(x => true); Assert.That(list.Count() == 1); MetaWrapper <SimpleEntity, MetaData> test = list.FirstOrDefault(); Assert.That(test.Meta.Revision == 1); storage.Purge(); }
//will become it's own controller later once the database is made //database will need to gather 5 years of data for March-November. //build a predicting model of the public ActionResult PastObservations() { List <NOAAWeather> ChosenOnes = new List <NOAAWeather>(); APIKeyClass keys = new APIKeyClass(); string NOAAkey = keys.NKey; string locationid = keys.locationA; //can change to other locations for (int year = 2018; year <= DateTime.Today.Year; year++) { //this is a gardening app for watering, I don't need to water past November or before March for (int month = 3; month <= 11; month++) { if (month == 4 && year == 2019) { break; } string monthstring = "0" + month; monthstring = monthstring.Substring(monthstring.Length - 2, 2); string startDate = year + "-" + monthstring + "-01"; //string endofMonth = GetDate(month); string endDate = year + "-" + monthstring + "-" + GetDate(month); //GHCND is the daily summaries string NOAAAPI = "https://www.ncdc.noaa.gov/cdo-web/api/v2/data?datasetid=GHCND&" + "locationid=" + locationid + "&startdate=" + startDate + "&enddate=" + endDate; HttpWebRequest WR = WebRequest.CreateHttp(NOAAAPI); WR.Headers.Add("token", NOAAkey); HttpWebResponse Response = (HttpWebResponse)WR.GetResponse(); StreamReader rd = new StreamReader(Response.GetResponseStream()); string data = rd.ReadToEnd(); rd.Close(); MetaWrapper AllEvents = JsonConvert.DeserializeObject <MetaWrapper>(data); ChosenOnes.AddRange(AllEvents.results.ToList()); } } ViewBag.Results = ChosenOnes; return(View(ChosenOnes)); }
public ActionResult Index() { string startDate = "2019-03-22"; string endDate = "2019-03-22"; APIKeyClass keys = new APIKeyClass(); string NOAAkey = keys.NKey; string locationid = keys.locationB; string NOAAAPI = "https://www.ncdc.noaa.gov/cdo-web/api/v2/data?datasetid=GHCND&locationid=" + locationid + "&startdate=" + startDate + "&enddate=" + endDate; HttpWebRequest WR = WebRequest.CreateHttp(NOAAAPI); WR.Headers.Add("token", NOAAkey); HttpWebResponse Response = (HttpWebResponse)WR.GetResponse(); StreamReader rd = new StreamReader(Response.GetResponseStream()); string data = rd.ReadToEnd(); rd.Close(); MetaWrapper AllEvents = JsonConvert.DeserializeObject <MetaWrapper>(data); return(View()); }