Exemple #1
0
        public void MetaWrapper_GetMetaData_returns_null_if_item_not_registered()
        {
            var entity = new Entity();
            var result = MetaWrapper <Entity, EntityMetaData> .GetMetaData(entity);

            Assert.IsNull(result);
        }
Exemple #2
0
 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);
     }
 }
Exemple #4
0
 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();
     }
 }
Exemple #5
0
        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>));
        }
Exemple #6
0
        public Guid?Identify(T item)
        {
            MetaWrapper <T, MetaData> meta = item;

            if (item != null)
            {
                return(meta.Meta.Id);
            }
            return(null);
        }
Exemple #7
0
        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);
        }
Exemple #8
0
        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);
        }
Exemple #9
0
        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);
        }
Exemple #10
0
        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();
        }
Exemple #11
0
        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));
        }
Exemple #13
0
        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());
        }