/// <summary> /// get date text for today screen /// </summary> /// <param name="vc"></param> public static string getDateText(GPGregorianTime vc) { string str = string.Empty; getShared().TodayDate = new GPGregorianTime(vc); getShared().TodayDate.Today(); int input = Convert.ToInt32(vc.getJulianLocalNoon()); int today = Convert.ToInt32(getShared().TodayDate.getJulianLocalNoon()); if ((vc.getDay() > 0) && (vc.getDay() < 32) && (vc.getMonth() > 0) && (vc.getMonth() < 13) && (vc.getYear() >= 1500) && (vc.getYear() < 4000)) { if (input - today == 0) { str = string.Format("{0} ({1}) - {2}", vc.ToString(), GPStrings.getString(43), GPStrings.getString(vc.getDayOfWeek())); } else if (input - today == 1) { str = string.Format("{0} ({1}) - {2}", vc.ToString(), GPStrings.getString(854), GPStrings.getString(vc.getDayOfWeek())); } else if (input - today == -1) { str = string.Format("{0} ({1}) - {2}", vc.ToString(), GPStrings.getString(853), GPStrings.getString(vc.getDayOfWeek())); } else { str = string.Format("{0} - {1}", vc.ToString(), GPStrings.getString(vc.getDayOfWeek())); } } return(str); }
public string getKsayaTimeString(int index) { if (ksayaTithi == null) { return(string.Empty); } if (index == 0) { GPGregorianTime vc = ksayaTithi.getStartTime(); return(string.Format("{0}, {1}", vc.ToString(), vc.getShortTimeString())); } else { GPGregorianTime vc = ksayaTithi.getEndTime(); return(string.Format("{0}, {1}", vc.ToString(), vc.getShortTimeString())); } }
public List <Festival> CompleteFestivalList(GPCalendarDay prevDay, GPCalendarDay nextDay) { List <Festival> fests = new List <Festival>(); if (hasEkadasiParana()) { fests.Add(new Festival(10, getEkadasiParanaString())); } foreach (Festival fest in Festivals) { fests.Add(fest); } if (sankranti_zodiac >= 0) { fests.Add(new Festival(300, GPDisplays.Keys.CalendarSankranti, string.Format(GPStrings.getString(975), GPSankranti.getName(sankranti_zodiac), sankranti_day.ToString(), sankranti_day.getLongTimeString()))); } if (hasKsayaTithi()) { fests.Add(new Festival(301, GPDisplays.Keys.CalendarKsaya, string.Format(GPStrings.getString(976), ksayaTithi.getName(), getKsayaTimeString(0), getKsayaTimeString(1)))); } if (IsSecondDayTithi) { fests.Add(new Festival(302, GPDisplays.Keys.CalendarVriddhi, GPStrings.getString(977))); } // tithi at arunodaya if (GPDisplays.Calendar.TithiArunodayaVisible()) { fests.Add(new Festival(303, GPDisplays.Keys.CalArunodayaTithi, string.Format("{0}: {1}", GPStrings.getString(98), GPTithi.getName(astrodata.getTithiAtArunodaya())))); } //"Arunodaya Time",//1 if (GPDisplays.Calendar.TimeArunodayaVisible()) { fests.Add(new Festival(304, GPDisplays.Keys.CalArunodayaTime, string.Format(GPStrings.getString(99), astrodata.sun.arunodaya.getShortTimeString()))); } //List<string> gstr = GPStrings.getSharedStrings().gstr; if (GPDisplays.Calendar.TimeSunriseVisible()) { fests.Add(new Festival(305, GPDisplays.Keys.CalSunriseTime, string.Format("{0} {1}", GPStrings.getString(51), astrodata.sun.rise.getShortTimeString()))); } if (GPDisplays.Calendar.NoonTime()) { fests.Add(new Festival(306, GPDisplays.Keys.CalNoonTime, string.Format("{0} {1}", GPStrings.getString(857), astrodata.sun.noon.getShortTimeString()))); } if (GPDisplays.Calendar.TimeSunsetVisible()) { fests.Add(new Festival(307, GPDisplays.Keys.CalSunsetTime, string.Format("{0} {1}", GPStrings.getString(52), astrodata.sun.set.getShortTimeString()))); } if (GPDisplays.Calendar.TimeMoonriseVisible()) { if (moonrise != null) { fests.Add(new Festival(308, GPDisplays.Keys.CalMoonriseTime, string.Format("{0} {1}", GPStrings.getString(53), moonrise.getShortTimeString()))); } } if (GPDisplays.Calendar.TimeMoonsetVisible()) { if (moonset != null) { fests.Add(new Festival(309, GPDisplays.Keys.CalMoonsetTime, string.Format("{0} {1}", GPStrings.getString(54), moonset.getShortTimeString()))); } } if (GPDisplays.Calendar.SunLongitudeVisible()) { fests.Add(new Festival(310, GPDisplays.Keys.CalSunLong, string.Format("{0}: {1} (*)", GPStrings.getString(100), astrodata.sun.eclipticalLongitude))); } if (GPDisplays.Calendar.MoonLongitudeVisible()) { fests.Add(new Festival(311, GPDisplays.Keys.CalMoonLong, string.Format("{0}: {1} (*)", GPStrings.getString(101), astrodata.moon.longitude_deg))); } if (GPDisplays.Calendar.AyanamsaValueVisible()) { fests.Add(new Festival(312, GPDisplays.Keys.CalAyanamsa, string.Format("{0} {1} ({2}) (*)", GPStrings.getString(102), astrodata.msAyanamsa, GPAyanamsa.CurrentName))); } if (GPDisplays.Calendar.JulianDayVisible()) { fests.Add(new Festival(313, GPDisplays.Keys.CalJulian, string.Format("{0} {1} (*)", GPStrings.getString(103), astrodata.jdate))); } if (GPDisplays.Calendar.StartMasaVisible()) { if (prevDay != null) { if (prevDay.astrodata.nMasa != this.astrodata.nMasa) { fests.Add(new Festival(314, GPDisplays.Keys.CalMasaChange, string.Format("{0} {1} {2}", GPStrings.getString(780), GPMasa.GetName(astrodata.nMasa), GPStrings.getString(22)))); } } if (nextDay != null) { if (nextDay.astrodata.nMasa != this.astrodata.nMasa) { fests.Add(new Festival(315, GPDisplays.Keys.CalDstChange, string.Format("{0} {1} {2}", GPStrings.getString(781), GPMasa.GetName(astrodata.nMasa), GPStrings.getString(22)))); } } } if (GPDisplays.Calendar.DSTNotice()) { if (prevDay != null && prevDay.isDaylightInEffect() == 0 && this.isDaylightInEffect() == 1) { fests.Add(new Festival(316, GPDisplays.Keys.CalDstChange, GPStrings.getString(855))); } if (nextDay != null && this.isDaylightInEffect() == 1 && nextDay.isDaylightInEffect() == 0) { fests.Add(new Festival(316, GPDisplays.Keys.CalDstChange, GPStrings.getString(856))); } } return(fests); }
public void calculateAppearanceDayData(GPLocationProvider aLocation, GPGregorianTime aEvente) { //MOONDATA moon; //SUNDATA sun; location = aLocation; evente = new GPGregorianTime(aEvente); double dd; GPAstroData d = details; GPGregorianTime vc = evente; GPGregorianTime vcsun = evente; b_adhika = false; d.calculateDayData(aEvente, aLocation); //d.nTithi = GetPrevTithiStart(m_earth, vc, dprev); //GetNextTithiStart(m_earth, vc, dnext); //vcsun.setDayHours(vcsun.getDayHours() - vcsun.getTimeZoneOffsetHours() / 24.0); vcsun.normalizeValues(); d.sun.calculateCoordinatesMethodC(vcsun, -1); d.moon.MoonCalc(vcsun.getJulianGreenwichTime()); d.msDistance = GPMath.putIn360(d.moon.longitude_deg - d.sun.eclipticalLongitude - 180.0); d.msAyanamsa = GPAyanamsa.GetAyanamsa(vc.getJulianGreenwichTime()); // tithi dd = d.msDistance / 12.0; d.nTithi = Convert.ToInt32(Math.Floor(dd)); d.nTithiElapse = GPMath.frac(dd) * 100.0; d.nPaksa = (d.nTithi >= 15) ? 1 : 0; // naksatra dd = GPMath.putIn360(d.moon.longitude_deg - d.msAyanamsa); dd = (dd * 3.0) / 40.0; d.nNaksatra = Convert.ToInt32(Math.Floor(dd)); d.nNaksatraElapse = GPMath.frac(dd) * 100.0; d.nMasa = d.determineMasa(vc, out d.nGaurabdaYear); d.nMoonRasi = GPEngine.GetRasi(d.moon.longitude_deg, d.msAyanamsa); d.nSunRasi = GPEngine.GetRasi(d.sun.eclipticalLongitude, d.msAyanamsa); if (d.nMasa == GPMasa.ADHIKA_MASA) { d.nMasa = GPEngine.GetRasi(d.sun.eclipticalLongitude, d.msAyanamsa); b_adhika = true; } string dstApplicable = ""; //List<string> gstr = GPStrings.getSharedStrings().gstr; output.Add(new GPStringPair(GPStrings.getString(25), "", true)); output.Add(new GPStringPair(GPStrings.getString(7), vc.ToString())); output.Add(new GPStringPair(GPStrings.getString(8), vc.getShortTimeString(true, ref dstApplicable))); output.Add(new GPStringPair(GPStrings.getString(9), vc.getLocation().getFullName())); //output.Add(new GPStringPair(gstr[10], vc.getLocation().getLatitudeString())); //output.Add(new GPStringPair(gstr[11], vc.getLocation().getLongitudeString())); //output.Add(new GPStringPair(gstr[12], vc.getLocation().getTimeZoneName())); //output.Add(new GPStringPair(gstr[1001], dstApplicable)); output.Add(new GPStringPair(GPStrings.getString(13), GPTithi.getName(d.nTithi))); output.Add(new GPStringPair(GPStrings.getString(14), string.Format("{0:0.###} %", d.nTithiElapse))); output.Add(new GPStringPair(GPStrings.getString(15), GPNaksatra.getName(d.nNaksatra))); output.Add(new GPStringPair(GPStrings.getString(16), string.Format("{0:0.###} % ({1})", d.nNaksatraElapse, GPStrings.getString(811 + Convert.ToInt32(d.nNaksatraElapse / 25.0))))); output.Add(new GPStringPair(GPStrings.getString(991), GPSankranti.getName(d.nMoonRasi))); output.Add(new GPStringPair(GPStrings.getString(992), GPSankranti.getName(d.nSunRasi))); output.Add(new GPStringPair(GPStrings.getString(20), GPPaksa.getName(d.nPaksa))); if (b_adhika == true) { output.Add(new GPStringPair(GPStrings.getString(22), string.Format("{0} {1}", GPMasa.GetName(d.nMasa), GPStrings.getString(21)))); } else { output.Add(new GPStringPair(GPStrings.getString(22), GPMasa.GetName(d.nMasa))); } output.Add(new GPStringPair(GPStrings.getString(23), d.nGaurabdaYear.ToString())); if (GPDisplays.AppDay.childNameSuggestions()) { output.Add(new GPStringPair()); output.Add(new GPStringPair(GPStrings.getString(17), "", true)); output.Add(new GPStringPair()); output.Add(new GPStringPair(GPStrings.getString(18), string.Format("{0}...", GPAppHelper.GetNaksatraChildSylable(d.nNaksatra, Convert.ToInt32(d.nNaksatraElapse / 25.0))))); output.Add(new GPStringPair(GPStrings.getString(19), string.Format("{0}...", GPAppHelper.GetRasiChildSylable(d.nMoonRasi)))); } vc.Today(); GPVedicTime va = new GPVedicTime(); GPGregorianTime vctemp; va.tithi = d.nTithi; va.masa = d.nMasa; va.gyear = GPGaurabdaYear.getGaurabdaYear(vc, location); if (va.gyear < d.nGaurabdaYear) { va.gyear = d.nGaurabdaYear; } int countC = GPUserDefaults.IntForKey("appday.celebs", 3); if (countC > 0) { output.Add(new GPStringPair()); output.Add(new GPStringPair(GPStrings.getString(24), "", true)); output.Add(new GPStringPair()); } int m = 0; for (int i = 0; i < 6; i++) { GPEngine.VATIMEtoVCTIME(va, out vctemp, location); if (va.gyear > d.nGaurabdaYear) { if (m < countC) { output.Add(new GPStringPair(string.Format("{0} {1}", GPStrings.getString(994), va.gyear), vctemp.ToString())); m++; } } va.gyear++; } }
public static XmlDocument GetCalendarXmlDocument(GPCalendarResults daybuff) { XmlDocument doc = new XmlDocument(); XmlElement e1, e2, e3, eday, e5, e6; int k; string str, st; GPCalendarDay pvd; int nPrevMasa = -1; e1 = doc.CreateElement("xml"); doc.AppendChild(e1); e2 = doc.CreateElement("request"); e1.AppendChild(e2); e2.SetAttribute("name", "Calendar"); e2.SetAttribute("version", GPFileHelper.FileVersion); e3 = doc.CreateElement("arg"); e2.AppendChild(e3); e3.SetAttribute("name", "longitude"); e3.SetAttribute("val", daybuff.CurrentLocation.getLocation(0).GetLongitudeEastPositive().ToString()); e3 = doc.CreateElement("arg"); e2.AppendChild(e3); e3.SetAttribute("name", "latitude"); e3.SetAttribute("val", daybuff.CurrentLocation.getLocation(0).GetLatitudeNorthPositive().ToString()); e3 = doc.CreateElement("arg"); e2.AppendChild(e3); e3.SetAttribute("name", "timezone"); e3.SetAttribute("val", (daybuff.CurrentLocation.getLocation(0).getTimeZone().OffsetSeconds / 60).ToString()); e3 = doc.CreateElement("arg"); e2.AppendChild(e3); e3.SetAttribute("name", "startdate"); e3.SetAttribute("val", daybuff.m_vcStart.ToString()); e3 = doc.CreateElement("arg"); e2.AppendChild(e3); e3.SetAttribute("name", "daycount"); e3.SetAttribute("val", daybuff.m_vcCount.ToString()); e3 = doc.CreateElement("arg"); e2.AppendChild(e3); e3.SetAttribute("name", "dst"); e3.SetAttribute("val", daybuff.CurrentLocation.getLocation(0).getTimeZoneName()); e2 = doc.CreateElement("result"); e1.AppendChild(e2); e2.SetAttribute("name", "Calendar"); e3 = doc.CreateElement("dstsystem"); e2.AppendChild(e3); e3.SetAttribute("name", daybuff.CurrentLocation.getLocation(0).getTimeZoneName()); for (k = 0; k < daybuff.m_vcCount; k++) { pvd = daybuff.get(k); if (pvd != null) { if (nPrevMasa != pvd.astrodata.nMasa) { e3 = doc.CreateElement("masa"); e2.AppendChild(e3); e3.SetAttribute("name", GPMasa.GetName(pvd.astrodata.nMasa) + " Masa" + (nPrevMasa == GPMasa.ADHIKA_MASA ? " " + getSharedStringHtml(109) : "")); e3.SetAttribute("gyear", pvd.getGaurabdaYearLongString()); } nPrevMasa = pvd.astrodata.nMasa; eday = doc.CreateElement("day"); e3.AppendChild(eday); eday.SetAttribute("date", pvd.date.ToString()); eday.SetAttribute("dayweekid", pvd.date.getDayOfWeek().ToString()); eday.SetAttribute("dayweek", getSharedStringHtml(150 + pvd.date.getDayOfWeek())); // sunrise data e5 = doc.CreateElement("sunrise"); eday.AppendChild(e5); e5.SetAttribute("time", pvd.astrodata.sun.rise.getLongTimeString()); e6 = doc.CreateElement("tithi"); e5.AppendChild(e6); e6.SetAttribute("name", pvd.getTithiNameExtended()); e6.SetAttribute("elapse", pvd.astrodata.nTithiElapse.ToString()); e6.SetAttribute("index", (pvd.astrodata.nTithi % 30 + 1).ToString()); e6 = doc.CreateElement("naksatra"); e5.AppendChild(e6); e6.SetAttribute("name", pvd.getNaksatraName()); e6.SetAttribute("elapse", pvd.astrodata.nNaksatraElapse.ToString()); e6 = doc.CreateElement("yoga"); e5.AppendChild(e6); e6.SetAttribute("name", pvd.getYogaName()); e6 = doc.CreateElement("paksa"); e5.AppendChild(e6); e6.SetAttribute("id", GPPaksa.getAbbreviation(pvd.astrodata.nPaksa)); e6.SetAttribute("name", GPPaksa.getName(pvd.astrodata.nPaksa)); e5 = doc.CreateElement("dst"); eday.AppendChild(e5); e5.SetAttribute("offset", pvd.date.getDaylightTimeBias().ToString()); // arunodaya data e5 = doc.CreateElement("arunodaya"); eday.AppendChild(e5); e5.SetAttribute("time", pvd.astrodata.sun.arunodaya.getLongTimeString()); e6 = doc.CreateElement("tithi"); e5.AppendChild(e6); e6.SetAttribute("name", GPTithi.getName(pvd.astrodata.getTithiAtArunodaya())); e5 = doc.CreateElement("noon"); eday.AppendChild(e5); e5.SetAttribute("time", pvd.astrodata.sun.noon.getLongTimeString()); e5 = doc.CreateElement("sunset"); eday.AppendChild(e5); e5.SetAttribute("time", pvd.astrodata.sun.set.getLongTimeString()); if (pvd.hasEkadasiParana() && pvd.ekadasiParanaStart != null) { e5 = doc.CreateElement("parana"); eday.AppendChild(e5); if (pvd.ekadasiParanaEnd != null) { e5.SetAttribute("from", pvd.ekadasiParanaStart.getShortTimeString()); e5.SetAttribute("to", pvd.ekadasiParanaEnd.getShortTimeString()); } else { e5.SetAttribute("after", pvd.ekadasiParanaStart.getShortTimeString()); } } str = string.Empty; foreach (GPCalendarDay.Festival fest in pvd.Festivals) { e5 = doc.CreateElement("festival"); eday.AppendChild(e5); e5.SetAttribute("name", fest.Text); e5.SetAttribute("class", fest.ShowSettingItem); } if (pvd.nFastType != GPConstants.FAST_NULL) { e5 = doc.CreateElement("fast"); eday.AppendChild(e5); e5.SetAttribute("type", pvd.nFastType.ToString()); e5.SetAttribute("mark", "*"); } if (pvd.sankranti_zodiac >= 0) { e5 = doc.CreateElement("sankranti"); eday.AppendChild(e5); e5.SetAttribute("rasi", GPSankranti.getName(pvd.sankranti_zodiac)); e5.SetAttribute("time", pvd.sankranti_day.getLongTimeString()); } if (pvd.hasKsayaTithi()) { GPGregorianTime vcStart = pvd.ksayaTithi.getStartTime(); GPGregorianTime vcEnd = pvd.ksayaTithi.getEndTime(); e5 = doc.CreateElement("ksaya"); eday.AppendChild(e5); e5.SetAttribute("from", vcStart.ToString() + " " + vcStart.getShortTimeString()); e5.SetAttribute("to", vcEnd.ToString() + " " + vcEnd.getShortTimeString()); } if (pvd.IsSecondDayTithi) { e5 = doc.CreateElement("vriddhi"); eday.AppendChild(e5); e5.SetAttribute("sd", "yes"); } } } return(doc); }
public static XmlDocument GetSankrantiXml(GPLocationProvider loc, GPGregorianTime vcStart, GPGregorianTime vcEnd) { XmlDocument doc = new XmlDocument(); XmlElement e1, e2, e3, eday, e5, e6; GPGregorianTime d = new GPGregorianTime(loc); int zodiac; d.Copy(vcStart); e1 = doc.CreateElement("xml"); doc.AppendChild(e1); e2 = doc.CreateElement("request"); e1.AppendChild(e2); e2.SetAttribute("name", "Sankranti"); e2.SetAttribute("version", GPFileHelper.FileVersion); e3 = doc.CreateElement("arg"); e2.AppendChild(e3); e3.SetAttribute("name", "longitude"); e3.SetAttribute("val", loc.GetLongitudeEastPositive().ToString()); e3 = doc.CreateElement("arg"); e2.AppendChild(e3); e3.SetAttribute("name", "latitude"); e3.SetAttribute("val", loc.GetLatitudeNorthPositive().ToString()); e3 = doc.CreateElement("arg"); e2.AppendChild(e3); e3.SetAttribute("name", "timezone"); e3.SetAttribute("val", (loc.getTimeZone().OffsetSeconds / 60).ToString()); e3 = doc.CreateElement("arg"); e2.AppendChild(e3); e3.SetAttribute("name", "startdate"); e3.SetAttribute("val", vcStart.ToString()); e3 = doc.CreateElement("arg"); e2.AppendChild(e3); e3.SetAttribute("name", "enddate"); e3.SetAttribute("val", vcEnd.ToString()); e2 = doc.CreateElement("result"); e1.AppendChild(e2); e2.SetAttribute("name", "SankrantiList"); while (d.IsBeforeThis(vcEnd)) { d = GPSankranti.GetNextSankranti(d, out zodiac); eday = doc.CreateElement("sank"); e2.AppendChild(eday); eday.SetAttribute("date", d.getLongDateString()); eday.SetAttribute("time", d.getLongTimeString()); eday.SetAttribute("dayweekid", d.getDayOfWeek().ToString()); eday.SetAttribute("dayweek", getSharedStringHtml(d.getDayOfWeek())); e5 = doc.CreateElement("zodiac"); eday.AppendChild(e5); e5.SetAttribute("sans", GPSankranti.GetNameSan(zodiac)); e5.SetAttribute("eng", GPSankranti.GetNameEng(zodiac)); e5.SetAttribute("id", zodiac.ToString()); d.NextDay(); d.NextDay(); } return(doc); }