Пример #1
0
        private async void Main_Shown(object sender, EventArgs e)
        {
            try
            {
                Properties.Settings.Default.CityCode = await cityController.GetCityCode();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Could not get city code" + Environment.NewLine + "Error : " + ex.Message, "An Error occured",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }


            if (shalatRepository.CheckIfDataExists(TimeHelper.GetCurrentDateWithUSFormat()))
            {
                waktuShalat = shalatRepository.GetByDate(TimeHelper.GetCurrentDateWithUSFormat());
            }
            else
            {
                waktuShalat = await shalatController.GetJadwal();

                shalatRepository.Insert(waktuShalat);
            }

            ayat = await ayatController.GetAyat();

            Task.Run(() => ayatRepository.Insert(ayat));

            ShowData();

            var data = timeController.ShalatSelanjutnya(waktuShalat);

            ValidateBeforeStartCountdown(data);
        }
Пример #2
0
        public Shalat GetByDate(string date)
        {
            Shalat shalat = null;

            SQLiteCommand cmd = new SQLiteCommand("SELECT * FROM jadwal WHERE tanggal='" + date + "' LIMIT 1", db);

            SQLiteDataReader rd = cmd.ExecuteReader();

            if (rd.HasRows)
            {
                while (rd.Read())
                {
                    shalat = new Shalat();

                    shalat.id      = int.Parse(rd["id"].ToString());
                    shalat.tanggal = rd["tanggal"].ToString();
                    shalat.subuh   = rd["subuh"].ToString();
                    shalat.terbit  = rd["terbit"].ToString();
                    shalat.dhuha   = rd["dhuha"].ToString();
                    shalat.dzuhur  = rd["dzuhur"].ToString();
                    shalat.ashar   = rd["ashar"].ToString();
                    shalat.maghrib = rd["maghrib"].ToString();
                    shalat.isya    = rd["isya"].ToString();
                }
            }

            return(shalat);
        }
Пример #3
0
        public async Task <List <Shalat> > GetShalat()
        {
            List <Shalat> listShalat = new List <Shalat>();

            SQLiteCommand cmd = new SQLiteCommand("SELECT * FROM jadwal", db);

            SQLiteDataReader rd = (SQLiteDataReader)await cmd.ExecuteReaderAsync();

            if (rd.HasRows)
            {
                while (rd.Read())
                {
                    Shalat shalat = new Shalat();

                    shalat.id      = int.Parse(rd["id"].ToString());
                    shalat.tanggal = rd["tanggal"].ToString();
                    shalat.subuh   = rd["subuh"].ToString();
                    shalat.terbit  = rd["terbit"].ToString();
                    shalat.dhuha   = rd["dhuha"].ToString();
                    shalat.dzuhur  = rd["dzuhur"].ToString();
                    shalat.ashar   = rd["ashar"].ToString();
                    shalat.maghrib = rd["maghrib"].ToString();
                    shalat.isya    = rd["isya"].ToString();

                    listShalat.Add(shalat);
                }
            }

            return(listShalat);
        }
Пример #4
0
 public async void onDayChanged()
 {
     if (Tommorow)
     {
         WaktuShalat = (shalatRepository.CheckIfDataExists(TimeHelper.GetTommorowDateWithUSFormat())) ?
                       shalatRepository.GetByDate(TimeHelper.GetTommorowDateWithUSFormat()) :
                       await shalatController.GetJadwal(TimeHelper.GetTommorowDateWithUSFormat());
     }
 }
Пример #5
0
        public Tuple <string, DateTime> ShalatSelanjutnya(Shalat shalat)
        {
            PropertyInfo[] properties = typeof(Shalat).GetProperties();

            TimeSpan currentTime = TimeSpan.Parse(TimeHelper.GetHoursAndMinutes());

            foreach (PropertyInfo property in properties)
            {
                if (property.Name != "id" && property.Name != "tanggal")
                {
                    string value = property.GetValue(shalat).ToString();

                    if (currentTime < TimeSpan.Parse(value))
                    {
                        EndTime = DateTime.ParseExact(property.GetValue(shalat).ToString(), "HH:mm", null);

                        return(Tuple.Create(property.Name, EndTime));
                    }
                }
            }

            return(Tuple.Create("", EndTime));
        }
Пример #6
0
        public async Task <Shalat> GetJadwal(string date = null)
        {
            Shalat waktuShalat = null;

            if (date != null)
            {
                RequestShalatUrl = new Uri($"https://api.banghasan.com/sholat/format/json/jadwal/kota/{cityCode}/tanggal/{date}");
            }

            HttpResponseMessage response = await APIHttpHandler.GetResponse(RequestShalatUrl);

            var data = await response.Content.ReadAsStringAsync();

            JObject responseData = JObject.Parse(data);
            var     query        = responseData["query"];
            JObject jadwal       = (JObject)responseData["jadwal"];
            JObject dataJadwal   = (JObject)jadwal["data"];

            waktuShalat         = JsonConvert.DeserializeObject <Shalat>(dataJadwal.ToString());
            waktuShalat.tanggal = query["tanggal"].ToString();

            return(waktuShalat);
        }
Пример #7
0
        public async void Insert(Shalat shalat)
        {
            SQLiteCommand cmd = new SQLiteCommand("INSERT INTO jadwal(tanggal, subuh, terbit, dhuha, dzuhur," +
                                                  "ashar, maghrib, isya) VALUES(?,?,?,?,?,?,?,?)", db);

            cmd.Parameters.AddWithValue("@tanggal", shalat.tanggal);
            cmd.Parameters.AddWithValue("@subuh", shalat.subuh);
            cmd.Parameters.AddWithValue("@terbit", shalat.terbit);
            cmd.Parameters.AddWithValue("@dhuha", shalat.dhuha);
            cmd.Parameters.AddWithValue("@dzuhur", shalat.dzuhur);
            cmd.Parameters.AddWithValue("@ashar", shalat.ashar);
            cmd.Parameters.AddWithValue("@maghrib", shalat.maghrib);
            cmd.Parameters.AddWithValue("@isya", shalat.isya);

            try
            {
                await cmd.ExecuteNonQueryAsync();
            }
            catch (Exception ex)
            {
                throw new Exception("Unable to insert to the database");
            }
        }