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); }
public DominicanCalender() { DominicanDates dominicanDates = ParseJsonDominicanDates(); CreateCalender(dominicanDates); _feastsModel = FreshIOC.Container.Resolve <IFeastsModel>() as FeastsModel; }
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"); } }