Exemple #1
0
        public static void FormatAppDayRtf(GPAppDayResults app, StringBuilder strResult)
        {
            //MOONDATA moon;
            //SUNDATA sun;
            GPAstroData     d = app.details;
            string          str;
            GPGregorianTime vc      = app.evente;
            StringBuilder   strText = strResult;

            strText.Remove(0, strText.Length);
            AppendRtfHeader(strText);


            foreach (GPStringPair rec in app.output)
            {
                if (rec.Header)
                {
                    strText.AppendFormat("\\par\\pard{{\\f2\\fs{0} {1}}", g_HeaderSize, rec.Name);
                    strText.AppendFormat("\\par\\pard\\f2\\fs{0}\r\n", g_TextSize);
                }
                else
                {
                    str = string.Format("\\tab {0} : {{\\b {1}}", rec.Name, rec.Value);
                    AddTextLineRtf(strText, str);
                }
            }


            strText.Append("}");
        }
Exemple #2
0
        public static void FormatAppDayText(GPAppDayResults app, StringBuilder strResult)
        {
            GPAstroData     d = app.details;
            string          str;
            GPGregorianTime vc      = app.evente;
            StringBuilder   strText = strResult;

            int max = 0;

            foreach (GPStringPair rec in app.output)
            {
                if (!rec.Header)
                {
                    max = Math.Max(max, rec.Name.Length);
                }
            }
            max++;
            foreach (GPStringPair rec in app.output)
            {
                if (rec.Header)
                {
                    AddTextLine(strText, rec.Name);
                    AddTextLine(strText, string.Empty.PadLeft(rec.Name.Length, '-'));
                }
                else
                {
                    str = string.Format("{0} : {1}", rec.Name.PadLeft(max), rec.Value);
                    AddTextLine(strText, str);
                }
            }
        }
Exemple #3
0
        public static XmlDocument GetAppDayXml(GPAppDayResults app)
        {
            XmlDocument   doc = new XmlDocument();
            StringBuilder sb  = new StringBuilder();

            FormatAppDayXML(app, sb);
            doc.LoadXml(sb.ToString());
            return(doc);
        }
Exemple #4
0
        public static XmlDocument CalculateAppearanceDay(GPLocationProvider loc, DateTime startDateTime)
        {
            GPAppDayResults gap = new GPAppDayResults();

            gap.location = loc;
            GPGregorianTime ad = new GPGregorianTime(gap.location);

            ad.setDateTime(startDateTime);

            gap.calculateAppearanceDayData(gap.location, ad);

            return(FormaterXml.GetAppDayXml(gap));
        }
Exemple #5
0
        /// <summary>
        /// Main function of this class
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        public bool ParseCommandArguments(string[] args)
        {
            GPLocationProvider loc = new GPLocationProvider();
            GPLocation         loc1 = new GPLocation();
            GPGregorianTime    vcStart = new GPGregorianTime(loc), vcEnd = new GPGregorianTime(loc);
            GPVedicTime        vaStart = new GPVedicTime(), vaEnd = new GPVedicTime();
            int    nCount;
            int    nReq = 0;
            string strFileOut = "";

            try
            {
                loc1.setLatitudeNorthPositive(0.0);
                loc1.setLongitudeEastPositive(0.0);
                loc1.setTimeZoneName("");
                loc.setDefaultLocation(loc1);
                vcStart.Clear();
                vcEnd         = vcStart;
                vaStart.tithi = vaStart.masa = vaStart.gyear = 0;
                vaEnd         = vaStart;
                nCount        = -1;

                int argc = args.Length;
                for (int i = 0; i < argc; i++)
                {
                    //TRACE2("arg %d = %s\n", i, args[i]);
                    if (args[i] == "-L")
                    {
                        if (argc >= i + 2)
                        {
                            loc1.setLongitudeString(args[i + 1]);
                            double lat   = 0.0;
                            double longi = 0.0;
                            GetArg_EarthPos(args[i + 1], ref lat, ref longi);
                            loc1.setLongitudeEastPositive(longi);
                            loc1.setLatitudeNorthPositive(lat);
                            //TRACE2("-L latitude=%f longitude=%f\n", loc.m_fLatitude, loc.m_fLongitude);
                        }
                        i++;
                    }
                    else if (args[i] == "-N")
                    {
                        if (argc >= i + 2)
                        {
                            loc1.setCity(args[i + 1]);
                            //TRACE1("-N name=%s\n", loc.m_strName);
                        }
                        i++;
                    }
                    else if (args[i] == "-SV")
                    {
                        if (argc >= i + 2)
                        {
                            GetArg_VaisnDate(args[i + 1], out vaStart);
                        }
                        i++;
                    }
                    else if (args[i] == "-SG")
                    {
                        if (argc >= i + 2)
                        {
                            GetArg_Date(args[i + 1], out vcStart);
                        }
                        i++;
                    }
                    else if (args[i] == "-ST")
                    {
                        if (argc >= i + 2)
                        {
                            GetArg_Time(args[i + 1], out vcStart);
                        }
                        i++;
                    }
                    else if (args[i] == "-EG")
                    {
                        if (argc >= i + 2)
                        {
                            GetArg_Date(args[i + 1], out vcEnd);
                            //AfxTrace("-EG day=%d month=%d year=%d\n", vcEnd.day, vcEnd.month, vcEnd.year);
                        }
                        i++;
                    }
                    else if (args[i] == "-EV")
                    {
                        if (argc >= i + 2)
                        {
                            GetArg_VaisnDate(args[i + 1], out vaEnd);
                            //AfxTrace("-EV tithi=%d masa=%d gyear=%d\n", vaEnd.tithi, vaEnd.masa, vaEnd.gyear);
                        }
                        i++;
                    }
                    else if (args[i] == "-EC")
                    {
                        if (argc >= i + 2)
                        {
                            int.TryParse(args[i + 1], out nCount);
                        }
                        i++;
                    }
                    else if (args[i] == "-TZ")
                    {
                        if (argc >= i + 2)
                        {
                            loc1.setTimeZoneName(args[i + 1]);
                        }
                        i++;
                    }
                    else if (args[i] == "-O")
                    {
                        if (argc >= i + 2)
                        {
                            strFileOut = args[i + 1];
                        }
                        i++;
                    }
                    else if (args[i] == "-R")
                    {
                        if (argc >= i + 2)
                        {
                            if (args[i + 1] == "calendar")
                            {
                                nReq = 10;
                            }
                            else if (args[i + 1] == "appday")
                            {
                                nReq = 11;
                            }
                            else if (args[i + 1] == "tithi")
                            {
                                nReq = 12;
                            }
                            else if (args[i + 1] == "sankranti")
                            {
                                nReq = 13;
                            }
                            else if (args[i + 1] == "naksatra")
                            {
                                nReq = 14;
                            }
                            else if (args[i + 1] == "firstday")
                            {
                                nReq = 15;
                            }
                            else if (args[i + 1] == "gcalendar")
                            {
                                nReq = 16;
                            }
                            else if (args[i + 1] == "gtithi")
                            {
                                nReq = 17;
                            }
                            else if (args[i + 1] == "next")
                            {
                                nReq = 18;
                            }
                            else if (args[i + 1] == "help")
                            {
                                nReq = 60;
                            }

                            /*else if (args[i+1] == "")
                             * {
                             * } else if (args[i+1] == "")
                             * {
                             * } else if (args[i+1] == "")
                             * {
                             * } else if (args[i+1] == "")
                             * {
                             * }*/
                        }
                        i++;
                    }
                }

                vcStart.setLocationProvider(loc);
                vcEnd.setLocationProvider(loc);

                switch (nReq)
                {
                case 10:
                case 13:
                case 14:
                    if (vcStart.getYear() == 0 && vaStart.gyear != 0)
                    {
                        GPEngine.VATIMEtoVCTIME(vaStart, out vcStart, loc);
                    }
                    if (vcEnd.getYear() == 0 && vaEnd.gyear != 0)
                    {
                        GPEngine.VATIMEtoVCTIME(vaEnd, out vcEnd, loc);
                    }
                    break;

                default:
                    break;
                }

                if (vcStart.getYear() != 0 && vcEnd.getYear() != 0 && nCount < 0)
                {
                    nCount = Convert.ToInt32(vcEnd.getJulianLocalNoon() - vcStart.getJulianLocalNoon());
                }

                if (nCount < 0)
                {
                    nCount = 30;
                }

                GPAppDayResults   appday   = new GPAppDayResults();
                GPCalendarResults calendar = new GPCalendarResults();
                //AfxTrace("Count === %d\n", nCount);

                StringBuilder fout = new StringBuilder();
                switch (nReq)
                {
                case 10:
                    // -R -O -LAT -LON -SG -C [-DST -NAME]
                    vcStart.NextDay();
                    vcStart.PreviousDay();
                    calendar.CalculateCalendar(vcStart, nCount);
                    FormaterXml.WriteXml(FormaterXml.GetCalendarXmlDocument(calendar), fout);
                    break;

                case 11:
                    // -R -O -LAT -LON -SG -ST [-NAME]
                    appday.calculateAppearanceDayData(loc, vcStart);
                    FormaterXml.FormatAppDayXML(appday, fout);
                    break;

                case 12:
                    FormaterXml.WriteXML_Tithi(fout, loc, vcStart);
                    break;

                case 13:
                    if (vcEnd.getYear() == 0)
                    {
                        vcEnd = vcStart;
                        vcEnd.AddDays(nCount);
                    }
                    FormaterXml.WriteXml(FormaterXml.GetSankrantiXml(loc, vcStart, vcEnd), fout);
                    break;

                case 14:
                    FormaterXml.WriteXML_Naksatra(fout, loc, vcStart, nCount);
                    break;

                case 15:
                    FormaterXml.WriteXML_FirstDay_Year(fout, vcStart);
                    break;

                case 16:
                    vcStart = GPGaurabdaYear.getFirstDayOfYear(loc, vcStart.getYear());
                    vcEnd   = GPGaurabdaYear.getFirstDayOfYear(loc, vcStart.getYear() + 1);
                    nCount  = Convert.ToInt32(vcEnd.getJulianLocalNoon() - vcStart.getJulianLocalNoon());
                    calendar.CalculateCalendar(vcStart, nCount);
                    FormaterXml.WriteXml(FormaterXml.GetCalendarXmlDocument(calendar), fout);
                    break;

                case 17:
                    FormaterXml.WriteXML_GaurabdaTithi(fout, loc, vaStart, vaEnd);
                    break;

                case 18:
                    FormaterXml.WriteXML_GaurabdaNextTithi(fout, loc, vcStart, vaStart);
                    break;
                }
                // application should be windowless
                // since some parameters are present

                File.WriteAllText(strFileOut, fout.ToString());
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception during execution: " + ex.Message);
            }

            return(true);
        }
Exemple #6
0
        public static void FormatAppDayXML(GPAppDayResults app, StringBuilder strResult)
        {
            GPAstroData     d = app.details;
            string          str;
            GPGregorianTime vc      = app.evente;
            StringBuilder   strText = strResult;
            int             npada;
            bool            bDuringAdhika = false;

            strText.AppendFormat(
                "<xml>\n" +
                "\t<request name=\"AppDay\" version=\"{0}\">\n" +
                "\t\t<arg name=\"longitude\" value=\"{1}\" />\n" +
                "\t\t<arg name=\"latitude\" value=\"{2}\" />\n" +
                "\t\t<arg name=\"timezone\" value=\"{3}\" />\n" +
                "\t\t<arg name=\"year\" value=\"{4}\" />\n" +
                "\t\t<arg name=\"month\" value=\"{5}\" />\n" +
                "\t\t<arg name=\"day\" value=\"{6}\" />\n" +
                "\t\t<arg name=\"hour\" value=\"{7}\" />\n" +
                "\t\t<arg name=\"minute\" value=\"{8}\" />\n" +
                "\t</request>\n", GPFileHelper.FileVersion,
                app.evente.getLocation().GetLongitudeEastPositive(), app.evente.getLocation().GetLatitudeNorthPositive(),
                app.evente.getLocation().getTimeZoneName(),
                app.evente.getYear(), app.evente.getMonth(), app.evente.getDay(), app.evente.getHour(), app.evente.getMinuteRound()
                );


            npada = Convert.ToInt32(d.nNaksatraElapse / 25.0) + 1;
            if (npada > 4)
            {
                npada = 4;
            }

            str = string.Format("\t<result name=\"AppDay\" >\n" +
                                "\t\t<tithi name=\"{0}\" elapse=\"{1}\" />\n" +
                                "\t\t<naksatra name=\"{2}\" elapse=\"{3}\" pada=\"{4}\"/>\n" +
                                "\t\t<paksa name=\"{5}\" />\n" +
                                "\t\t<masa name=\"{6}\" adhikamasa=\"{7}\"/>\n" +
                                "\t\t<gaurabda value=\"{8}\" />\n"

                                , GPTithi.getName(d.nTithi), d.nTithiElapse
                                , GPNaksatra.getName(d.nNaksatra), d.nNaksatraElapse, npada
                                , GPPaksa.getName(d.nPaksa)
                                , GPMasa.GetName(d.nMasa), (bDuringAdhika ? "yes" : "no")
                                , d.nGaurabdaYear
                                );

            strText.Append(str);;
            string prefix = string.Format("{0} ", getSharedStringHtml(994));

            strText.Append("\t\t<celebrations>\n");
            foreach (GPStringPair rec in app.output)
            {
                if (rec.Name.StartsWith(prefix))
                {
                    str = string.Format("\t\t\t<celebration gaurabda=\"{0}\" date=\"{1}\" />\n", rec.Name, rec.Value);
                    strText.Append(str);
                }
            }

            strText.Append("\t\t</celebrations>\n\t</result>\n</xml>\n");
        }