Пример #1
0
        DominicanDates ParseJsonDominicanDates()
        {
            Debug.WriteLine($"{_Tag}.ParseJsonDominicanDates()");

            DominicanDates dominicanDates = null;

            try
            {
                Debug.WriteLine($"{_Tag}.ParseJsonDominicanDates() in try");
                var assembly = typeof(PrayerPageModel).GetTypeInfo().Assembly;
                using (Stream stream = assembly.GetManifestResourceStream("DailyPrayer.Data.Dates.json"))
                {
                    if (stream == null)
                    {
                        Debug.WriteLine("GetManifestResourceStream(DailyPrayer.Data.Dates.json) = null");
                    }
                    using (StreamReader sr = new StreamReader(stream))
                    {
                        using (JsonReader reader = new JsonTextReader(sr))
                        {
                            JsonSerializer serializer = new JsonSerializer();
                            dominicanDates = serializer.Deserialize <DominicanDates>(reader);
                        }
                        //'reader' will be disposed by this point
                        Debug.WriteLine("Finished loading ParseJsonDominicanDates");
                    }
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine($"{_Tag}.ParseJsonWorkflow()( {0} ) - error\n{1}\n", ex.Message, ex.StackTrace);
            }

            return(dominicanDates);
        }
Пример #2
0
        public DominicanCalender()
        {
            DominicanDates dominicanDates = ParseJsonDominicanDates();

            CreateCalender(dominicanDates);

            _feastsModel = FreshIOC.Container.Resolve <IFeastsModel>() as FeastsModel;
        }
Пример #3
0
        void CreateCalender(DominicanDates dominicanDates)
        {
            Debug.WriteLine($"{_Tag}.CreateCalender()");

            string      dateFormat = "dd/MM/yyyy";
            CultureInfo provider   = CultureInfo.InvariantCulture;

            foreach (DominicanDates.DominicanYear dominicanYear in dominicanDates.years)
            {
                //Debug.WriteLine("{0}", dominicanYear.ToString());

                DominicanSeason ds = new DominicanSeason();
                //int nextYear = dominicanYear.year + 1;
                //ds[DominicanSeasons.Advent] = DateTime.ParseExact(dominicanYear.dates.advent + "/" + lastYear, dateFormat, provider);
                ds[DailyPrayer.DominicanSeasons.Advent] = DateTime.ParseExact(dominicanYear.dates.advent + "/" + (dominicanYear.year - 1), dateFormat, provider);
                ds[DailyPrayer.DominicanSeasons.XMas]   = DateTime.ParseExact("25/12/" + (dominicanYear.year - 1), dateFormat, provider);
                //ds[DailyPrayer.DominicanSeasons.OctaveOfChristmas] = DateTime.ParseExact("25/12/" + (dominicanYear.year - 1), dateFormat, provider);
                //ds[DailyPrayer.DominicanSeasons.OctaveOfEpiphany] = DateTime.ParseExact("25/12/" + (dominicanYear.year - 1), dateFormat, provider);
                ds[DailyPrayer.DominicanSeasons.OT1] = DateTime.ParseExact(dominicanYear.dates.ot1 + "/" + dominicanYear.year, dateFormat, provider);
                ds[DailyPrayer.DominicanSeasons.Ash_Wednesday_Week] = DateTime.ParseExact(dominicanYear.dates.ashwed + "/" + dominicanYear.year, dateFormat, provider);
                ds[DailyPrayer.DominicanSeasons.Lent]      = ds[DailyPrayer.DominicanSeasons.Ash_Wednesday_Week].AddDays(4);
                ds[DailyPrayer.DominicanSeasons.Easter]    = DateTime.ParseExact(dominicanYear.dates.easter + "/" + dominicanYear.year, dateFormat, provider);
                ds[DailyPrayer.DominicanSeasons.Holy_Week] = ds[DailyPrayer.DominicanSeasons.Easter].AddDays(-7);
                ds[DailyPrayer.DominicanSeasons.OT2]       = DateTime.ParseExact(dominicanYear.dates.pentecost + "/" + dominicanYear.year, dateFormat, provider);
                ds[DailyPrayer.DominicanSeasons.XMas_II]   = DateTime.ParseExact("25/12/" + dominicanYear.year, dateFormat, provider);
                ds[DailyPrayer.DominicanSeasons.EndOfYear] = DateTime.ParseExact("01/01/" + (dominicanYear.year + 1), dateFormat, provider);
                //int index = dominicanYear.year - _startYear;

                if (_calender.Count > 0)
                {
                    // advent for the Catholic year starts in the previous year,
                    // but we also need the date in this year
                    DominicanSeason dsPrev = _calender[_calender.Count - 1];
                    dsPrev[DailyPrayer.DominicanSeasons.NextAdvent] = ds[DailyPrayer.DominicanSeasons.Advent];
                }

                _calender.Add(ds);
                //Debug.WriteLine($"{_Tag}.CreateCalender() - FIN");
            }
        }