Exemple #1
0
        /// <summary>
        /// відкриває форму з налаштуваннями параметрів для таймерів та радіусу
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void customizeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            using (Form2 customizeForm = new Form2())
            {
                //передаємо параметри на форму для відображення
                customizeForm.SleepTime = SleepTime;
                customizeForm.CheckTime = CheckTime;
                customizeForm.Radius    = Radius;
                //відкриваємо у режимі діалогового вікна
                if (customizeForm.ShowDialog() == DialogResult.OK)
                {
                    //зчитуємо нвоі параметри
                    SleepTime = customizeForm.SleepTime;
                    CheckTime = customizeForm.CheckTime;
                    Radius    = customizeForm.Radius;

                    //зберігаємо нові параметри до файле з параметрами
                    FileStream f = File.Open("Settings", FileMode.Truncate);
                    f.Close();
                    using (StreamWriter stream = new StreamWriter("Settings"))
                    {
                        stream.WriteLine(SleepTime.ToString());
                        stream.WriteLine(CheckTime.ToString());
                        stream.WriteLine(Radius.ToString());
                    }
                }
            }
        }
        /// <summary>
        /// Save background worker process settings to the settings file
        /// </summary>
        /// <param name="apiNode">XML-node for the background worker process settings</param>
        public void Save(XmlNode node)
        {
            string xpath;

            xpath = "./sleepTime";
            SettingsHelper.SetSettingValue(xpath, node, SleepTime.ToString());
        }
Exemple #3
0
 /// <summary>
 /// конструктор основної форми
 /// ініціалізовує стандартні елементи і делегати та зчитує налаштування параметрів чи створює новий файл з параметрами по замовчуванню(для першого запуску)
 /// </summary>
 public Form1()
 {
     InitializeComponent();
     //додаємо делегат на зміну стану сесії для відслідковування стану обліковго запису - заблоковано/активно
     SystemEvents.SessionSwitch += new SessionSwitchEventHandler(SystemEvents_SessionSwitch);
     Radius = 10;
     Lock   = false;
     //перевіряємо чи існує файл з налашуваннями
     if (File.Exists("Settings"))
     {
         using (StreamReader stream = new StreamReader("Settings"))
         {
             //для існуючого файлу читаємо параметри
             SleepTime = Convert.ToInt32(stream.ReadLine());
             CheckTime = Convert.ToInt32(stream.ReadLine());
             Radius    = Convert.ToInt32(stream.ReadLine());
         }
     }
     else
     {
         //якщо файлу нема створюємо новий і вносимо значення по замовчуванню
         FileStream f = File.Open("Settings", FileMode.Create);
         f.Close();
         using (StreamWriter stream = new StreamWriter("Settings"))
         {
             stream.WriteLine(SleepTime.ToString());
             stream.WriteLine(CheckTime.ToString());
             stream.WriteLine(Radius.ToString());
         }
     }
 }
Exemple #4
0
 public void RecordSleep(DateTime fellAsleep, DateTime wokeUp)
 {
     SleepTime.Add(wokeUp - fellAsleep);
     for (var i = fellAsleep.Minute; i < wokeUp.Minute; i++)
     {
         SleepStats[i] += 1;
     }
 }
        /// <summary>
        /// Shows how to update account settings.
        /// </summary>
        /// <param name="twitterCtx">TwitterContext</param>
        static void UpdateAccountSettingsDemo(TwitterContext twitterCtx)
        {
            Account acct = twitterCtx.UpdateAccountSettings(null, true, 20, 6, null, null);

            SleepTime sleep = acct.Settings.SleepTime;

            Console.WriteLine(
                "Enabled: {0}, Start: {1}, End: {2}",
                sleep.Enabled, sleep.StartHour, sleep.EndHour);
        }
Exemple #6
0
        private void button1_Click(object sender, EventArgs e)
        {
            FileStream f = File.Open("Settings", FileMode.OpenOrCreate);

            f.Close();
            using (StreamWriter stream = new StreamWriter("Settings", false))
            {
                stream.WriteLine(SleepTime.ToString());
                stream.WriteLine(CheckTime.ToString());
                stream.WriteLine(Radius.ToString());
            }
        }
Exemple #7
0
        public override Dictionary <string, object> DumpBasicEventData()
        {
            var rv = new Dictionary <string, object>(base.DumpBasicEventData());

            rv.Add("Awake Time", AwakeTime.ToString());
            rv.Add("Sleep Time", SleepTime.ToString());
            rv.Add("Number of Wakeups", NumberOfWakeups.ToString());
            rv.Add("Time to Fall Asleep", TimeToFallAsleep.ToString());
            rv.Add("Sleep Efficiency Percentage", SleepEfficiencyPercentage.ToString());
            rv.Add("Sleep Recovery Index", SleepRecoveryIndex.ToString());

            return(rv);
        }
Exemple #8
0
        private void storeValuesToDb()
        {
            if (!_context.MovementLimit.Any())
            {
                Hranice_Pohyb hp = new Hranice_Pohyb()
                {
                    HranicePohybId = 1,
                    LimitCas       = TimeLimit.ToString(),
                    OkruhHranica   = Int32.Parse(Okruh),
                    Xhranica       = SettingsController.MaxX,
                    Yhranica       = SettingsController.MaxY,
                    TimeStamp      = DateTime.Now.ToString("h:mm:ss tt")
                };

                _context.MovementLimit.Add(hp);
            }
            else
            {
                //najdi max a uloz zan
                Hranice_Pohyb limit = _context.MovementLimit.FirstOrDefault(t => t.HranicePohybId == _context.MovementLimit.Max(x => x.HranicePohybId));

                int index = limit.HranicePohybId;
                index++;

                Hranice_Pohyb hp = new Hranice_Pohyb()
                {
                    HranicePohybId = index,
                    LimitCas       = TimeLimit.ToString(),
                    OkruhHranica   = Int32.Parse(Okruh),
                    Xhranica       = SettingsController.MaxX,
                    Yhranica       = SettingsController.MaxY,
                    TimeStamp      = DateTime.Now.ToString("h:mm:ss tt")
                };

                _context.MovementLimit.Add(hp);
            }

            try
            {
                _context.SaveChanges();
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("Exception: " + nameof(AdditionalSettingsViewModel) + " " + e.ToString());
            }

            SettingsController.SleepTime = SleepTime.ToString();
        }
Exemple #9
0
        static async Task UpdateAccountSettingsAsync(TwitterContext twitterCtx)
        {
            Account acct =
                await twitterCtx.UpdateAccountSettingsAsync(
                    null, true, 20, 6, null, null);

            if (acct != null &&
                acct.Settings != null &&
                acct.Settings.SleepTime != null)
            {
                SleepTime sleep = acct.Settings.SleepTime;
                Console.WriteLine(
                    "Enabled: {0}, Start: {1}, End: {2}",
                    sleep.Enabled, sleep.StartHour, sleep.EndHour);
            }
        }
        public bool IsSleep(float?puls)
        {
            using (var db = new SandmanEntities())
            {
                Astronauts Astronaut = db.Astronauts.Find(AstronautSession);

                if (puls <= (Astronaut.Pulse - Astronaut.Pulse * 0.08))
                {
                    SleepTime Sleep = db.SleepTime.Where(x => x.AstronautID == AstronautSession).OrderByDescending(x => x.SleepDown).First();

                    if (Sleep != null && Sleep.DayComplete == true)
                    {
                        SleepTime ST = new SleepTime();
                        ST.AstronautID = AstronautSession;
                        ST.SleepDown   = DateTime.Now;
                        ST.DayComplete = false;

                        db.SleepTime.Add(ST);
                        db.SaveChanges();

                        return(true);
                    }

                    return(true);
                }
                else
                {
                    var lista = (from a in db.SleepTime
                                 where a.AstronautID == AstronautSession && a.DayComplete == false
                                 select new
                    {
                        a.SleepTimeID
                    }).FirstOrDefault();

                    if (lista != null)
                    {
                        SleepTime act = db.SleepTime.Find(lista.SleepTimeID);
                        act.SleepUp     = DateTime.Now;
                        act.DayComplete = true;

                        db.SaveChanges();
                        return(false);
                    }
                }
                return(false);
            }
        }
        public JsonResult Main(float?Pulse, int FoodID = 0)
        {
            using (var db = new SandmanEntities())
            {
                List <string> Return = new List <string>();

                if (FoodID != 0)
                {
                    CalIn(FoodID);
                }

                if (Pulse != null)
                {
                    if (IsSleep(Pulse))
                    {
                        //ViewBag.Sleep = "Sleeping...";
                        Return.Add("Sleeping...");
                    }
                    else
                    {
                        SleepTime Sleep = db.SleepTime.Where(x => x.AstronautID == AstronautSession).OrderByDescending(x => x.SleepUp).First();

                        //ViewBag.Sleep = "Awake, slept for the last time: " + Convert.ToString(Sleep.SleepUp - Sleep.SleepDown) + " hours.";
                        Return.Add("Awake, slept for the last time: " + Convert.ToString(Sleep.SleepUp - Sleep.SleepDown) + " hours.");
                    }

                    if (IsEx(Pulse))
                    {
                        CurrentCalories Sleep = db.CurrentCalories.Where(x => x.AstronautID == AstronautSession).First();

                        //ViewBag.Excers = "Exercising, today's calories: " + db.CurrentCalories.Find(AstronautSession).Calories + ".";
                        Return.Add("Exercising, today's calories: " + db.CurrentCalories.Find(AstronautSession).Calories + ".");
                    }
                    else
                    {
                        //ViewBag.Excers = "At rest, today's calories: " + db.CurrentCalories.Find(AstronautSession).Calories + ".";
                        Return.Add("At rest, today's calories: " + db.CurrentCalories.Find(AstronautSession).Calories + ".");
                    }
                }
                return(Json(Return, JsonRequestBehavior.AllowGet));
            }
        }
Exemple #12
0
        static void Main(string[] args)
        {
            Console.WriteLine("Enter file:");
            string inputFile            = Console.ReadLine();
            Regex  parser               = new Regex(@"\[(\d\d\d\d-\d\d-\d\d\s\d\d:\d\d)\]\s(.+)");
            Regex  guardParser          = new Regex(@".+#(\d+)");
            List <TimelineEvent> events = new List <TimelineEvent>();

            using (StreamReader sr = new StreamReader(inputFile))
            {
                string line;
                while ((line = sr.ReadLine()) != null)
                {
                    var match = parser.Match(line);
                    if (!match.Success)
                    {
                        Console.WriteLine("Did not understand line " + line);
                    }

                    var dateStr    = match.Groups[1].Value;
                    var gudardDate = DateTime.ParseExact(dateStr, "yyyy-MM-dd HH:mm", null);

                    var       details = match.Groups[2].Value;
                    EventType et      = EventType.FallAsleep;
                    int       id      = -1;
                    if (details.Contains("wakes"))
                    {
                        et = EventType.WakeUp;
                    }
                    else if (details.Contains("asleep"))
                    {
                        et = EventType.FallAsleep;
                    }
                    else if (details.Contains("shift"))
                    {
                        et = EventType.StartShift;
                        var guardDetails = guardParser.Match(details);
                        if (!guardDetails.Success)
                        {
                            Console.WriteLine("Did not understand guard details: " + details);
                        }
                        id = int.Parse(guardDetails.Groups[1].Value);
                    }
                    events.Add(new TimelineEvent {
                        Time = gudardDate, GuardId = id, Type = et
                    });
                }
            }
            events.Sort((a, b) => { return(a.Time.CompareTo(b.Time)); });
            int       currentGuard = -1;
            SleepTime currentSleep = null;
            Dictionary <int, List <SleepTime> > guardSleepPatterns = new Dictionary <int, List <SleepTime> >();

            foreach (var e in events)
            {
                switch (e.Type)
                {
                case EventType.StartShift:
                    currentGuard = e.GuardId;
                    currentSleep = null;
                    break;

                case EventType.FallAsleep:
                    if (currentSleep != null)
                    {
                        Console.WriteLine("Sleep not null");
                    }
                    currentSleep = new SleepTime()
                    {
                        start = e.Time
                    };
                    break;

                case EventType.WakeUp:
                    if (currentSleep == null)
                    {
                        Console.WriteLine("Sleep is null");
                    }
                    currentSleep.finish = e.Time;
                    if (!guardSleepPatterns.ContainsKey(currentGuard))
                    {
                        guardSleepPatterns.Add(currentGuard, new List <SleepTime>());
                    }
                    guardSleepPatterns[currentGuard].Add(currentSleep);
                    currentSleep = null;
                    break;
                }
            }

            var mostAsleep = guardSleepPatterns.OrderByDescending(t => t.Value.Sum(f => f.GetDuration())).First();

            Console.WriteLine("Most asleep: " + mostAsleep.Key);
            var bestMinute = WorkOutMostSleptMinute(mostAsleep.Value, out int noTimes);

            Console.WriteLine("Best minute: " + bestMinute);
            Console.WriteLine("Answer 1: " + (bestMinute * mostAsleep.Key));
            KeyValuePair <int, List <SleepTime> > bestGuard;
            var bestTimes = 0;

            bestMinute = -1;
            foreach (var guard in guardSleepPatterns)
            {
                var tempMinute = WorkOutMostSleptMinute(guard.Value, out noTimes);
                if (noTimes > bestTimes)
                {
                    bestTimes  = noTimes;
                    bestGuard  = guard;
                    bestMinute = tempMinute;
                }
            }
            Console.WriteLine("Most regular guard: " + bestGuard.Key + " Slept: " + bestTimes + " times at minute " + bestMinute);
            Console.WriteLine("Answer2: " + (bestMinute * bestGuard.Key));

            Console.Read();
        }
Exemple #13
0
 public override void WriterAddAttribute(XmlWriter writer)
 {
     writer.WriteAttributeString("SleepTime", SleepTime.ToString());
     base.WriterAddAttribute(writer);
 }
Exemple #14
0
 private void Form2_Load(object sender, EventArgs e)
 {
     numericUpDown1.Text = SleepTime.ToString();
     numericUpDown2.Text = CheckTime.ToString();
     numericUpDown3.Text = Radius.ToString();
 }