public string getEkadasiParanaString() { string str; string dstIndicator = string.Empty; string dstIndicator2 = string.Empty; string shortTime = ""; if (ekadasiParanaEnd != null) { if (GPDisplays.Calendar.EkadasiParanaDetails()) { shortTime = ekadasiParanaStart.getShortTimeString(false, ref dstIndicator); str = string.Format("{0} {1} ({2}) - {3} ({4})", GPStrings.getString(60), shortTime, GPAppHelper.GetParanaReasonText(EkadasiParanaReasonStart), ekadasiParanaEnd.getShortTimeString(false, ref dstIndicator2), GPAppHelper.GetParanaReasonText(EkadasiParanaReasonEnd)); } else { shortTime = ekadasiParanaStart.getShortTimeString(false, ref dstIndicator); str = string.Format("{0} {1} - {2}", GPStrings.getString(60), shortTime, ekadasiParanaEnd.getShortTimeString(false, ref dstIndicator2)); } if (!String.IsNullOrEmpty(dstIndicator)) { str += " " + dstIndicator; } } else if (ekadasiParanaStart != null) { if (GPDisplays.Calendar.EkadasiParanaDetails()) { str = string.Format("{0} {1} ({2})", GPStrings.getString(61), ekadasiParanaStart.getShortTimeString(), GPAppHelper.GetParanaReasonText(EkadasiParanaReasonStart)); } else { str = string.Format("{0} {1}", GPStrings.getString(61), ekadasiParanaStart.getShortTimeString()); } } else { str = GPStrings.getString(62); } return(str); }
public static int WriteXML_Naksatra(StringBuilder doc, GPLocationProvider loc, GPGregorianTime vc, int nDaysCount) { doc.Append("<xml>\n"); doc.Append("\t<request name=\"Naksatra\" version=\"" + GPFileHelper.FileVersion + "\">\n"); doc.Append("\t\t<arg name=\"longitude\" val=\"" + loc.GetLongitudeEastPositive() + "\" />\n"); doc.Append("\t\t<arg name=\"latitude\" val=\"" + loc.GetLatitudeNorthPositive() + "\" />\n"); doc.Append("\t\t<arg name=\"timezone\" val=\"" + loc.getTimeZone().OffsetSeconds / 60 + "\" />\n"); doc.Append("\t\t<arg name=\"startdate\" val=\"" + vc + "\" />\n"); doc.Append("\t\t<arg name=\"daycount\" val=\"" + nDaysCount + "\" />\n"); doc.Append("\t</request>\n"); doc.Append("\t<result name=\"Naksatra\">\n"); GPGregorianTime d = new GPGregorianTime(vc); GPGregorianTime dn = new GPGregorianTime(loc); GPSun sun = new GPSun(); int nak; for (int i = 0; i < 30; i++) { nak = GPNaksatra.GetNextNaksatra(d, out dn); d.Copy(dn); doc.Append("\t\t<day date=\"" + d + "\">\n"); //str = string.Format("{}.{}.{}", d.day, d.month, d.year); //n = m_list.InsertItem(50, GPNaksatra.GetName(nak)); //m_list.SetItemText(n, 1, str); doc.Append("\t\t\t<naksatra id=\"" + nak + "\" name=\"" + GPNaksatra.getName(nak) + "\"\n"); //dt.SetDegTime(d.getDayHours() * 360); //time_print(str, dt); doc.Append("\t\t\t\tstarttime=\"" + d.getShortTimeString() + "\" />\n"); //m_list.SetItemText(n, 2, str); // sunrise time get sun.SunCalc(d, loc); //time_print(str, sun.rise); //m_list.SetItemText(n, 3, str); doc.Append("\t\t\t<sunrise time=\"" + sun.rise + "\" />\n"); doc.Append("\t\t</day>\n"); // increment for non-duplication of naksatra d.Copy(dn); d.setDayHours(d.getDayHours() + 1.0 / 8.0); } doc.Append("\t</result>\n"); doc.Append("</xml>\n"); return(1); }
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 static int WriteXML_Tithi(StringBuilder doc, GPLocationProvider loc, GPGregorianTime vc) { doc.Append("<xml>\n"); doc.Append("\t<request name=\"Tithi\" version=\"" + GPFileHelper.FileVersion + "\">\n"); doc.Append("\t\t<arg name=\"longitude\" val=\"" + vc.getLocation().GetLongitudeEastPositive() + "\" />\n"); doc.Append("\t\t<arg name=\"latitude\" val=\"" + vc.getLocation().GetLatitudeNorthPositive() + "\" />\n"); doc.Append("\t\t<arg name=\"timezone\" val=\"" + vc.getLocation().getTimeZone().OffsetSeconds / 60 + "\" />\n"); doc.Append("\t\t<arg name=\"startdate\" val=\"" + vc + "\" />\n"); doc.Append("\t</request>\n"); doc.Append("\t<result name=\"Tithi\">\n"); GPGregorianTime d = new GPGregorianTime(vc); GPGregorianTime d1 = new GPGregorianTime(loc); GPGregorianTime d2 = new GPGregorianTime(loc); GPAstroData day = new GPAstroData(); day.calculateDayData(vc, loc); d.setDayHours(day.sun.getSunriseDayHours()); GPTithi.GetPrevTithiStart(d, out d1); GPTithi.GetNextTithiStart(d, out d2); //dt.SetDegTime(d1.getDayHours() * 360); // start tithi at t[0] doc.Append("\t\t<tithi\n\t\t\tid=\"" + day.nTithi + "\"\n"); doc.Append("\t\t\tname=\"" + GPTithi.getName(day.nTithi) + "\"\n"); doc.Append("\t\t\tstartdate=\"" + d1.getShortDateString() + "\"\n"); doc.Append("\t\t\tstarttime=\"" + d1.getShortTimeString() + "\"\n"); //dt.SetDegTime(d2.getDayHours() * 360); doc.Append("\t\t\tenddate=\"" + d2.getShortDateString() + "\"\n"); doc.Append("\t\t\tendtime=\"" + d2.getShortTimeString() + "\"\n />"); doc.Append("\t</result>\n"); doc.Append("</xml>\n"); return(1); }
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); }