예제 #1
0
        public DateProfileDataPoint AddDataPoint(DateTime time, double value)
        {
            DateProfileDataPoint dp = _dbp.AddNewDatePoint(time, value);

            _dbp.SaveToDB();
            return(dp);
        }
예제 #2
0
        public void TimeLimitArrayTestDateProfileTest()
        {
            using (var db = new DatabaseSetup(Utili.GetCurrentMethodAndClass()))
            {
                db.ClearTable(TimeLimit.TableName);
                db.ClearTable(TimeLimitEntry.TableName);
                // test if night + day is always
                var dateBasedProfile = new DateBasedProfile("blub", "bla", db.ConnectionString, Guid.NewGuid().ToStrGuid());
                dateBasedProfile.SaveToDB();
                dateBasedProfile.AddNewDatePoint(new DateTime(2014, 1, 1), 100);
                dateBasedProfile.AddNewDatePoint(new DateTime(2014, 1, 3), 0);
                dateBasedProfile.SaveToDB();
                var start   = new DateTime(1900, 1, 1, 0, 0, 0);
                var end     = new DateTime(1900, 1, 1, 1, 1, 1);
                var dt      = new TimeLimit("blub", db.ConnectionString, Guid.NewGuid().ToStrGuid(), 1);
                var temp    = new TemperatureProfile("blub", 1, "bla", string.Empty, Guid.NewGuid().ToStrGuid());
                var enddate = new DateTime(1900, 1, 2, 0, 0, 0);
                temp.AddTemperature(start, 0, 1, true, false);
                temp.AddTemperature(enddate, 10, 1, true, false);
                var dateBasedProfiles = new ObservableCollection <DateBasedProfile>();
                dt.AddTimeLimitEntry(null, start, end, PermissionMode.ControlledByDateProfile, 1, 1, true, true, true, true,
                                     true, true, true, 1, 1, 1, 1, 1, 1, 1, true, false, AnyAllTimeLimitCondition.Any, start, end,
                                     dateBasedProfile.ID, 150, 50, false, false, true, false, 5, false, dateBasedProfiles, 0, 0, 0);
                dateBasedProfiles.Add(dateBasedProfile);
                var geoloc             = new GeographicLocation(db.ConnectionString, null, Guid.NewGuid().ToStrGuid());
                var r                  = new Random();
                var vacationTimeFrames = new List <VacationTimeframe>();
                var br                 = dt.TimeLimitEntries[0].GetOneYearHourArray(temp, geoloc, r, vacationTimeFrames, "test",
                                                                                    out _);

                for (var i = 0; i < br.Count; i++)
                {
                    if (i < 48)
                    {
                        (br[i]).Should().Be(true);
                    }
                    else
                    {
                        (br[i]).Should().Be(false);
                    }
                }
                db.Cleanup();
            }
        }
 public void DateBasedProfileSaveAndRestore()
 {
     using (var db = new DatabaseSetup(Utili.GetCurrentMethodAndClass()))
     {
         db.ClearTable(DateBasedProfile.TableName);
         db.ClearTable(DateProfileDataPoint.TableName);
         var profiles = new ObservableCollection <DateBasedProfile>();
         DateBasedProfile.LoadFromDatabase(profiles, db.ConnectionString, false);
         profiles.Count.Should().Be(0);
         var dbp = new DateBasedProfile("tempprofil1", "desc1", db.ConnectionString, Guid.NewGuid().ToStrGuid());
         dbp.SaveToDB();
         dbp.AddNewDatePoint(new DateTime(2014, 1, 1), 15);
         dbp.AddNewDatePoint(new DateTime(2014, 2, 1), 15);
         dbp.SaveToDB();
         DateBasedProfile.LoadFromDatabase(profiles, db.ConnectionString, false);
         profiles.Count.Should().Be(1);
         profiles[0].Datapoints.Count.Should().Be(2);
         profiles[0].DeleteDatePoint(profiles[0].Datapoints[0]);
         profiles[0].Datapoints.Count.Should().Be(1);
         db.Cleanup();
     }
 }