Exemplo n.º 1
0
 public BugReport(LocDataElement loc, DateTime from, DateTime to, Prayers[] p)
 {
     location = loc;
     fromdate = from;
     todate = to;
     prayers = p;
 }
Exemplo n.º 2
0
        public void TestGetPrayerTimesForToday()
        {
            var imsakExpected    = Instant.FromDateTimeOffset(new DateTimeOffset(2018, 4, 12, 5, 45, 0, TimeSpan.FromHours(8.0)));
            var fajrExpected     = Instant.FromDateTimeOffset(new DateTimeOffset(2018, 4, 12, 5, 55, 0, TimeSpan.FromHours(8.0)));
            var sunriseExpected  = Instant.FromDateTimeOffset(new DateTimeOffset(2018, 4, 12, 7, 13, 0, TimeSpan.FromHours(8.0)));
            var dhuhaExpected    = Instant.FromDateTimeOffset(new DateTimeOffset(2018, 4, 12, 7, 38, 0, TimeSpan.FromHours(8.0)));
            var dhuhrExpected    = Instant.FromDateTimeOffset(new DateTimeOffset(2018, 4, 12, 13, 18, 0, TimeSpan.FromHours(8.0)));
            var asrExpected      = Instant.FromDateTimeOffset(new DateTimeOffset(2018, 4, 12, 16, 29, 0, TimeSpan.FromHours(8.0)));
            var sunsetExpected   = Instant.FromDateTimeOffset(new DateTimeOffset(2018, 4, 12, 19, 22, 0, TimeSpan.FromHours(8.0)));
            var maghribExpected  = Instant.FromDateTimeOffset(new DateTimeOffset(2018, 4, 12, 19, 23, 0, TimeSpan.FromHours(8.0)));
            var ishaExpected     = Instant.FromDateTimeOffset(new DateTimeOffset(2018, 4, 12, 20, 32, 0, TimeSpan.FromHours(8.0)));
            var midnightExpected = Instant.FromDateTimeOffset(new DateTimeOffset(2018, 4, 13, 1, 17, 0, TimeSpan.FromHours(8.0)));

            var prayers = Prayers.Today(_settings, _coordinate, TimeZone, _mockClock);

            AssertEqualInstant(imsakExpected, prayers.Imsak);
            AssertEqualInstant(fajrExpected, prayers.Fajr);
            AssertEqualInstant(sunriseExpected, prayers.Sunrise);
            AssertEqualInstant(dhuhaExpected, prayers.Dhuha);
            AssertEqualInstant(dhuhrExpected, prayers.Dhuhr);
            AssertEqualInstant(asrExpected, prayers.Asr);
            AssertEqualInstant(sunsetExpected, prayers.Sunset);
            AssertEqualInstant(maghribExpected, prayers.Maghrib);
            AssertEqualInstant(ishaExpected, prayers.Isha);
            AssertEqualInstant(midnightExpected, prayers.Midnight);
        }
        public async Task <IActionResult> Edit(int id, [Bind("PrayersID,OpeningPrayers,ClosingPrayers")] Prayers prayers)
        {
            if (id != prayers.PrayersID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(prayers);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PrayersExists(prayers.PrayersID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(prayers));
        }
Exemplo n.º 4
0
        public ActionResult Share(Prayers prayers)
        {
            var context = new ApplicationDbContext();

            context.Set <Prayers>().Add(prayers);
            context.SaveChanges();
            return(RedirectToAction("Share"));
        }
        public async Task <IActionResult> Create([Bind("PrayersID,OpeningPrayers,ClosingPrayers")] Prayers prayers)
        {
            if (ModelState.IsValid)
            {
                _context.Add(prayers);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(prayers));
        }
Exemplo n.º 6
0
        static void Main()
        {
            // Use April 12th, 2018.
            var when = Instant.FromUtc(Year, Month, Day, 0, 0);

            // Init settings.
            var settings = new PrayerCalculationSettings();

            // Set calculation method to JAKIM (Fajr: 18.0 and Isha: 20.0).
            settings.CalculationMethod.SetCalculationMethodPreset(when, CalculationMethodPreset.DepartmentOfIslamicAdvancementOfMalaysia);

            // Init location info.
            var geo = new Geocoordinate(2.0, 101.0, 2.0);

            // Generate prayer times for one day on April 12th, 2018.
            var prayer = Prayers.On(when, settings, geo, TimeZone);

            Console.WriteLine($"Prayer Times at [{geo.Latitude}, {geo.Longitude}, {geo.Altitude}] for April 12th, 2018:");
            Console.WriteLine($"Imsak: {GetPrayerTimeString(prayer.Imsak)}");
            Console.WriteLine($"Fajr: {GetPrayerTimeString(prayer.Fajr)}");
            Console.WriteLine($"Sunrise: {GetPrayerTimeString(prayer.Sunrise)}");
            Console.WriteLine($"Dhuha: {GetPrayerTimeString(prayer.Dhuha)}");
            Console.WriteLine($"Zuhr: {GetPrayerTimeString(prayer.Zuhr)}");
            Console.WriteLine($"Asr: {GetPrayerTimeString(prayer.Asr)}");
            Console.WriteLine($"Sunset: {GetPrayerTimeString(prayer.Sunset)}");
            Console.WriteLine($"Maghrib: {GetPrayerTimeString(prayer.Maghrib)}");
            Console.WriteLine($"Isha: {GetPrayerTimeString(prayer.Isha)}");
            Console.WriteLine($"Midnight: {GetPrayerTimeString(prayer.Midnight)}");

            // Generate current prayer time
            var current = Prayer.Now(settings, geo, TimeZone, SystemClock.Instance);

            Console.WriteLine($"Current prayer at [{geo.Latitude}, {geo.Longitude}, {geo.Altitude}] for April 12th, 2018:");
            Console.WriteLine($"{current.Type} - {GetPrayerTimeString(current.Time)}");

            // Generate next prayer time
            var next = Prayer.Next(settings, geo, TimeZone, SystemClock.Instance);

            Console.WriteLine($"Next prayer at [{geo.Latitude}, {geo.Longitude}, {geo.Altitude}] for April 12th, 2018:");
            Console.WriteLine($"{next.Type} - {GetPrayerTimeString(next.Time)}");

            // Generate later prayer time
            var later = Prayer.Later(settings, geo, TimeZone, SystemClock.Instance);

            Console.WriteLine($"Later prayer at [{geo.Latitude}, {geo.Longitude}, {geo.Altitude}] for April 12th, 2018:");
            Console.WriteLine($"{later.Type} - {GetPrayerTimeString(later.Time)}");

            // Generate after later prayer time
            var afterLater = Prayer.AfterLater(settings, geo, TimeZone, SystemClock.Instance);

            Console.WriteLine($"After later prayer at [{geo.Latitude}, {geo.Longitude}, {geo.Altitude}] for April 12th, 2018:");
            Console.WriteLine($"{afterLater.Type} - {GetPrayerTimeString(afterLater.Time)}");
        }
Exemplo n.º 7
0
        public ArrayList GetTime( Prayers [] prayers, bool allPrayers, bool summarize, int granularity , DateTime fromdate, DateTime todate, LocDataElement location, ProgressCallback pcb )
        {
            TimeCalculator calc = new TimeCalculator (location.Longitude, location.Latitude, location.DaylightAdjustment, location.GMTDiff );
            Hashtable table = calc.GetPrayerTimingsBetween2 ( fromdate, todate, prayers, summarize, granularity, pcb );
            ArrayList result = new ArrayList ();

            foreach ( string s in table.Keys )
            {

                TimeListElement tle = (TimeListElement)table[s];
                FieldInfo [] fields = tle.GetType().GetFields();
                string [] vals = new string [ fields.Length ];
                for ( int i = 0 ; i < fields.Length; i ++  )
                {

                    if ( fields[i].GetValue(tle).GetType() == typeof ( System.DateTime ) )
                    {
                        DateTimeFormatInfo dfi = new DateTimeFormatInfo();
                        dfi.ShortDatePattern = "dd/MM/yyyy";
                        vals [ i ] = ((DateTime)fields [ i ].GetValue (tle)).ToString("d",dfi);
                        continue;
                    }

                    TimeSpan ts = (TimeSpan)fields[i].GetValue(tle);
                    if ( ts != TimeSpan.Zero )
                    {
                        DateTime dt = new DateTime ( 1,1,1,ts.Hours, ts.Minutes, ts.Seconds );
                        DateTimeFormatInfo dfi = new DateTimeFormatInfo ( );
                        dfi.LongTimePattern = "hh:mm:ss";
                        vals [ i ] = dt.ToString("T", dfi);

                    }
                    else vals [ i ] = string.Empty;

                }
                result.Add ( vals );

            }
            result.Sort(new MyComparer());
            return result;
        }
Exemplo n.º 8
0
 public void AddBugReport(LocDataElement location, DateTime fromdate, DateTime todate, Prayers[] p)
 {
     BugReport r = new BugReport(location, fromdate, todate, p);
     reports.Add(r);
 }
Exemplo n.º 9
0
        public Hashtable GetPrayerTimingsForYear( int yr, Prayers prayer  )
        {
            try
            {
                Hashtable datedata = new Hashtable();
                DateTime startdate = new DateTime(yr, 1, 1);
                DateTime stopdate = new DateTime(yr + 1, 1, 1);
                for (DateTime date = startdate; date < stopdate; date = date.AddDays(1))
                {
                    TimeListElement time = new TimeListElement();
                    time.Date = date;
                    switch (prayer)
                    {
                        case Prayers.Fajr:
                            time.Fajr = calcFajrTime(date);
                            break;
                        case Prayers.Sunrise:
                            time.Sunrise = calcTuluTime(date);
                            break;
                        case Prayers.Midday:
                            time.Midday = calcZawalTime(date);
                            break;
                        case Prayers.Zuhr:
                            time.Zuhr = calcZuhrTime(date);
                            break;
                        case Prayers.AsrS:
                            time.AsrS = calcAsrSTime(date);
                            break;
                        case Prayers.AsrH:
                            time.AsrH = calcAsrHTime(date);
                            break;
                        case Prayers.Sunset:
                            time.Sunset = calcMaghribTime(date);
                            break;
                        case Prayers.Isha:
                            time.Isha = calcIshaTime(date);
                            break;

                    }

                    datedata[date.ToShortDateString()] = time;

                }
                return datedata;

            }
            catch (Exception ex)
            {

                Exceptions.TimeCalculatorException exception = new libpraytt.Exceptions.TimeCalculatorException(ex.Message);
                exception.OriginalException = ex;
                throw exception;

            }
        }
Exemplo n.º 10
0
        public Hashtable GetPrayerTimingsBetween2(DateTime startdate, DateTime stopdate, Prayers[] prayers, bool summarize, int granularity, ProgressCallback pcb)
        {
            try
            {
                if (!summarize) granularity = 1;
                TimeSpan diff = stopdate - startdate;
                diff.Add(TimeSpan.FromDays(1));
                float progressstep = 100 / (float)diff.Days;
                float progress = 0;
                Hashtable datedata = new Hashtable();
                for (DateTime date = startdate; date <= stopdate; date = date.AddDays(granularity))
                {
                    TimeListElement time = new TimeListElement();
                    time.Date = date;
                    foreach (Prayers p in prayers)
                    {
                        switch (p)
                        {
                            case Prayers.Fajr:
                                time.Fajr = calcFajrTime(date);
                                break;
                            case Prayers.Sunrise:
                                time.Sunrise = calcTuluTime(date);
                                break;
                            case Prayers.Midday:
                                time.Midday = calcZawalTime(date);
                                break;
                            case Prayers.Zuhr:
                                time.Zuhr = calcZuhrTime(date);
                                break;
                            case Prayers.AsrS:
                                time.AsrS = calcAsrSTime(date);
                                break;
                            case Prayers.AsrH:
                                time.AsrH = calcAsrHTime(date);
                                break;
                            case Prayers.Sunset:
                                time.Sunset = calcMaghribTime(date);
                                break;
                            case Prayers.Isha:
                                time.Isha = calcIshaTime(date);
                                break;

                        }
                    }
                    progress += progressstep;
                    pcb((int)progress);
                    datedata[date.ToShortDateString()] = time;
                }
                return datedata;

            }
            catch (Exception ex)
            {
                Exceptions.TimeCalculatorException exception = new libpraytt.Exceptions.TimeCalculatorException(ex.Message);
                exception.OriginalException = ex;
                throw exception;

            }
        }