Пример #1
0
        /*
         * Checking the next valid namaz time
         * and setting alarm for that
         *
         **/
        private void checkTime()
        {
            DateTime now = DateTime.Now;

            NamazName tempName = getActiveNamaz();

            isAlarmSet = false;

            for (int i = 0; i < tempName.Length; i++)
            {
                String   d         = getJson(new String[] { tempName[i], attrib.time }).ToString().Replace("\"", "");
                DateTime namazTime = DateTime.ParseExact(d, "HH:mm:ss", null);
                if (DateTime.Compare(namazTime, now) >= 0)
                {
                    bool isMidnight = false;
                    schedule_Timer(namazTime, isMidnight);
                    eventLogger.WriteEntry(DateTime.Now.ToString() + ": Alarm is set for " + tempName[i] + " : " + i + " on " + namazTime.ToString());
                    // set Waiting to true, prev to false
                    setWaitingStatus(tempName[i]);
                    break;
                }
            }
            if (!isAlarmSet)
            {
                // No Alarm for Today, Set Alarm for 12:00AM tomorrow to check next Alarm
                DateTime namazTime  = DateTime.Today.AddDays(1);
                bool     isMidnight = true;
                schedule_Timer(namazTime, isMidnight);
                eventLogger.WriteEntry(DateTime.Now.ToString() + ": Alarm is set for * " + namazTime.ToString());
                // set Waiting to true, prev to false
                setWaitingStatus(null);
            }
        }
Пример #2
0
        public bool srvcGetActive(out bool[] activ)
        {
            NamazName name = new NamazName();

            activ = new bool[name.Length];

            for (int i = 0; i < name.Length; i++)
            {
                activ[i] = getJson(new String[] { name[i], attrib.active }).ToString().Replace("\"", "").Equals("1");
            }
            return(true);
        }
Пример #3
0
        /*
         * Setting Json parameters *WAITING* in status file
         *
         **/
        private void setWaitingStatus(String namaz2activ)
        {
            NamazName name = new NamazName();

            // Setting Waiting: false to all Namaz
            foreach (string nam in name.array)
            {
                setJson(new String[] { nam, attrib.waiting }, "false");
            }
            if (namaz2activ != null)
            {
                setJson(new String[] { namaz2activ, attrib.waiting }, "true");
            }
        }
Пример #4
0
        public bool srvcGetWaiting(out string namaz)
        {
            NamazName name = new NamazName();

            foreach (String nam in name.array)
            {
                if (getJson(new String[] { nam, attrib.waiting }).ToString().Replace("\"", "").Equals("true"))
                {
                    namaz = nam;
                    return(true);
                }
            }
            namaz = "";
            return(false);
        }
Пример #5
0
        /*
         * Getting all active namaz array from json status file
         * according to the current day (Friday managed)
         *
         **/
        private NamazName getActiveNamaz()
        {
            List <string> list = new List <string>();

            // Replace zohar with jumma if todays is Friday
            NamazName tempName = new NamazName(DateTime.Now.DayOfWeek.ToString().Equals("Friday"));

            for (int i = 0; i < tempName.Length; i++)
            {
                if (getJson(new String[] { tempName[i], attrib.active }).ToString().Replace("\"", "").Equals("1"))      // If namaz status is active ?
                {
                    // Add to List/array if namaz status is active
                    list.Add(tempName[i]);
                }
            }
            return(new NamazName(list.ToArray()));
        }
Пример #6
0
        /*
         * Set Listeners and time according to service
         *
         */
        public void InitLocalComponents()
        {
            name = new NamazName();

            while (!isSrvcRunning)
            {
                Thread.Sleep(100);
            }

            /*
             * Set Time according to Service JSON
             *
             */
            DateTime t = DateTime.Now;

            this.timePickerFajar.setTime(service.srvcGetTime(name.Fajar, out t) ? t : t);
            this.timePickerZohar.setTime(service.srvcGetTime(name.Zohar, out t) ? t : t);
            this.timePickerAsar.setTime(service.srvcGetTime(name.Asar, out t) ? t : t);
            this.timePickerMaghrib.setTime(service.srvcGetTime(name.Maghrib, out t) ? t : t);
            this.timePickerIsha.setTime(service.srvcGetTime(name.Isha, out t) ? t : t);
            this.timePickerJumma.setTime(service.srvcGetTime(name.Jumma, out t) ? t : t);

            tempPB = new PictureBox[] { this.pbFajar, this.pbZohar, this.pbAsar, this.pbMaghrib, this.pbIsha, this.pbJumma };

            setActiveIcon();
            setWaitIcon();

            /*
             * Setting Listeners to timepicker
             *
             */
            this.timePickerFajar.setTimeChangeListener(fajarTimeChanged);
            this.timePickerZohar.setTimeChangeListener(zoharTimeChanged);
            this.timePickerAsar.setTimeChangeListener(asarTimeChanged);
            this.timePickerMaghrib.setTimeChangeListener(maghribTimeChanged);
            this.timePickerIsha.setTimeChangeListener(ishaTimeChanged);
            this.timePickerJumma.setTimeChangeListener(jummaTimeChanged);
        }