Exemplo n.º 1
0
        private void DisplayFeed(int day, SampleDataItem item, FlipViewItem selectedFlipViewItem)
        {
            TextBlock    t;
            PanchangData pdata = item.GetPanchangData(_currentMonth, day);

            t      = (TextBlock)FindNamedElement(selectedFlipViewItem, "SunriseTextBlock");
            t.Text = pdata._fieldValues[(int)FieldType.Sunrise];
            t      = (TextBlock)FindNamedElement(selectedFlipViewItem, "SunsetTextBlock");
            t.Text = pdata._fieldValues[(int)FieldType.Sunset];
            t      = (TextBlock)FindNamedElement(selectedFlipViewItem, "MoonRiseTextBlock");
            t.Text = pdata._fieldValues[(int)FieldType.Moonrise];
            t      = (TextBlock)FindNamedElement(selectedFlipViewItem, "TamilYearTextBlock");
            t.Text = pdata._fieldValues[(int)FieldType.TamilYear];
            t      = (TextBlock)FindNamedElement(selectedFlipViewItem, "NorthYearTextBlock");
            t.Text = pdata._fieldValues[(int)FieldType.NorthYear];
            t      = (TextBlock)FindNamedElement(selectedFlipViewItem, "GujaratYearTextBlock");
            t.Text = pdata._fieldValues[(int)FieldType.GujaratYear];
            t      = (TextBlock)FindNamedElement(selectedFlipViewItem, "AyanaTextBlock");
            t.Text = pdata._fieldValues[(int)FieldType.Ayana];
            t      = (TextBlock)FindNamedElement(selectedFlipViewItem, "RituTextBlock");
            t.Text = pdata._fieldValues[(int)FieldType.Ritu];
            t      = (TextBlock)FindNamedElement(selectedFlipViewItem, "VedicRituTextBlock");
            t.Text = pdata._fieldValues[(int)FieldType.VedicRitu];
            t      = (TextBlock)FindNamedElement(selectedFlipViewItem, "TamilMonthTextBlock");
            t.Text = pdata._fieldValues[(int)FieldType.TamilMonth];
            t      = (TextBlock)FindNamedElement(selectedFlipViewItem, "SanskritMonthTextBlock");
            t.Text = pdata._fieldValues[(int)FieldType.SanskritMonth];
            t      = (TextBlock)FindNamedElement(selectedFlipViewItem, "PakshaTextBlock");
            t.Text = pdata._fieldValues[(int)FieldType.Paksha];
            t      = (TextBlock)FindNamedElement(selectedFlipViewItem, "TithiTextBlock");
            t.Text = pdata._fieldValues[(int)FieldType.Tithi];
            t      = (TextBlock)FindNamedElement(selectedFlipViewItem, "NakshatraTextBlock");
            t.Text = pdata._fieldValues[(int)FieldType.Nakshatra];
            t      = (TextBlock)FindNamedElement(selectedFlipViewItem, "YogaTextBlock");
            t.Text = pdata._fieldValues[(int)FieldType.Yoga];
            t      = (TextBlock)FindNamedElement(selectedFlipViewItem, "KaranaTextBlock");
            t.Text = pdata._fieldValues[(int)FieldType.Karana];
            t      = (TextBlock)FindNamedElement(selectedFlipViewItem, "SunRasiTextBlock");
            t.Text = pdata._fieldValues[(int)FieldType.SunRasi];
            t      = (TextBlock)FindNamedElement(selectedFlipViewItem, "MoonRasiTextBlock");
            t.Text = pdata._fieldValues[(int)FieldType.MoonRasi];
            t      = (TextBlock)FindNamedElement(selectedFlipViewItem, "RahuKalamTextBlock");
            t.Text = pdata._fieldValues[(int)FieldType.RahuKalam];
            t      = (TextBlock)FindNamedElement(selectedFlipViewItem, "YamaKandamTextBlock");
            t.Text = pdata._fieldValues[(int)FieldType.YamaGandam];
            t      = (TextBlock)FindNamedElement(selectedFlipViewItem, "GulikaiTextBlock");
            t.Text = pdata._fieldValues[(int)FieldType.Gulikai];
            t      = (TextBlock)FindNamedElement(selectedFlipViewItem, "FestivalTextBlock");
            String festival = pdata._fieldValues[(int)FieldType.Festival];

            if (String.IsNullOrEmpty(festival))
            {
                festival = "No festival";
            }
            t.Text = festival;
        }
Exemplo n.º 2
0
        public void ShowDetail(int currentMonth, int day, SampleDataItem item)
        {
            PanchangData pdata    = item.GetPanchangData(currentMonth, day);
            DateTime     dateTime = new DateTime(item.Year, currentMonth, day);

            DateTextBlock.Text        = dateTime.ToString("d");
            SunriseTextBlock.Text     = pdata._fieldValues[(int)FieldType.Sunrise];
            SunsetTextBlock.Text      = pdata._fieldValues[(int)FieldType.Sunset];
            MoonRiseTextBlock.Text    = pdata._fieldValues[(int)FieldType.Moonrise];
            TamilYearTextBlock.Text   = (pdata._fieldValues[(int)FieldType.TamilYear] == null) ? "None" : pdata._fieldValues[(int)FieldType.TamilYear];
            NorthYearTextBlock.Text   = pdata._fieldValues[(int)FieldType.NorthYear];
            GujaratYearTextBlock.Text = pdata._fieldValues[(int)FieldType.GujaratYear];
            AyanaTextBlock.Text       = pdata._fieldValues[(int)FieldType.Ayana];
            RituTextBlock.Text        = pdata._fieldValues[(int)FieldType.Ritu];
            VedicRituTextBlock.Text   = pdata._fieldValues[(int)FieldType.VedicRitu];
            TamilMonthTextBlock.Text  = pdata._fieldValues[(int)FieldType.TamilMonth];
            // there is a whitespace in front of this string
            SanskritMonthTextBlock.Text = (pdata._fieldValues[(int)FieldType.SanskritMonth]).Trim();
            PakshaTextBlock.Text        = (pdata._fieldValues[(int)FieldType.Paksha]).Trim();
            TithiTextBlock.Text         = pdata._fieldValues[(int)FieldType.Tithi];
            NakshatraTextBlock.Text     = pdata._fieldValues[(int)FieldType.Nakshatra];
            YogaTextBlock.Text          = pdata._fieldValues[(int)FieldType.Yoga];
            KaranaTextBlock.Text        = pdata._fieldValues[(int)FieldType.Karana];
            SunRasiTextBlock.Text       = pdata._fieldValues[(int)FieldType.SunRasi];
            MoonRasiTextBlock.Text      = pdata._fieldValues[(int)FieldType.MoonRasi];
            RahuKalamTextBlock.Text     = pdata._fieldValues[(int)FieldType.RahuKalam];
            YamaKandamTextBlock.Text    = pdata._fieldValues[(int)FieldType.YamaGandam];
            GulikaiTextBlock.Text       = pdata._fieldValues[(int)FieldType.Gulikai];
            String festival = item.GetFestival(currentMonth, day);

            if (String.IsNullOrEmpty(festival))
            {
                festival = "No data";
            }
            FestivalTextBlock.Text = festival;
            PersonalEventListScroller.Visibility = Visibility.Collapsed;
            Separator.BorderThickness            = new Thickness(0, 0, 0, 0);
            PersonalEventList.Items.Clear();
            if (_privateEvents != null)
            {
                List <PrivateEvent> privateEventList = _privateEvents.GetEventsForDate(dateTime);
                foreach (PrivateEvent evt in privateEventList)
                {
                    AddPrivateEvent(dateTime, evt._eventText, false, evt);
                }
            }
        }
Exemplo n.º 3
0
        // Update tile for today
        private void UpdateTile(SampleDataItem item, DateTime dueTime, DateTime expiryTime)
        {
            DateTime date  = dueTime;
            int      month = date.Month;
            int      day   = date.Day;
            String   festival;
            var      notifier = TileUpdateManager.CreateTileUpdaterForApplication();

            Debug.WriteLine("Update tile {0} {1}", dueTime, expiryTime);
            festival = item.GetFestival(month, day);
            PanchangData pdata = item.GetPanchangData(month, day);
            // create the wide template
            ITileWideText01 tileContent = TileContentFactory.CreateTileWideText01();

            tileContent.TextHeading.Text = date.ToString("d");
            tileContent.TextBody1.Text   = pdata._fieldValues[(int)FieldType.SanskritMonth];
            tileContent.TextBody2.Text   = pdata._fieldValues[(int)FieldType.TamilMonth];
            tileContent.TextBody3.Text   = festival;

            // create the square template and attach it to the wide template
            ITileSquareText01 squareContent = TileContentFactory.CreateTileSquareText01();

            squareContent.TextHeading.Text = date.ToString("d");
            squareContent.TextBody1.Text   = pdata._fieldValues[(int)FieldType.SanskritMonth];
            squareContent.TextBody2.Text   = pdata._fieldValues[(int)FieldType.TamilMonth];
            squareContent.TextBody3.Text   = festival;
            tileContent.SquareContent      = squareContent;

            // send the notification
            ScheduledTileNotification futureTile = new ScheduledTileNotification(tileContent.GetXml(), dueTime);

            futureTile.ExpirationTime = expiryTime;
            notifier.AddToSchedule(futureTile);


            // Send another notification. this gives a nice animation in mogo
            tileContent.TextBody1.Text = pdata._fieldValues[(int)FieldType.Paksha];
            tileContent.TextBody2.Text = pdata._fieldValues[(int)FieldType.Tithi];
            tileContent.TextBody3.Text = pdata._fieldValues[(int)FieldType.Nakshatra];
            futureTile = new ScheduledTileNotification(tileContent.GetXml(), dueTime);
            futureTile.ExpirationTime = expiryTime;
            notifier.AddToSchedule(futureTile);
            Debug.WriteLine("Count of scheduled notifications {0}", notifier.GetScheduledTileNotifications().Count);
        }
Exemplo n.º 4
0
        private void BuildCalendar(Grid monthView, int month, SampleDataItem item)
        {
            int row, col;

            DateItem[,] dateItems;

            if (monthView.Tag == null)
            {
                dateItems = new DateItem[numRows, numCols];

                for (row = 0; row < numRows; row++)
                {
                    for (col = 0; col < numCols; col++)
                    {
                        DateItem dateItem = new DateItem();
                        dateItem.SetValue(Grid.RowProperty, row);
                        dateItem.SetValue(Grid.ColumnProperty, col);
                        monthView.Children.Add(dateItem);
                        dateItems[row, col] = dateItem;
                        if (row == 0)
                        {
                            DayOfWeek day = (DayOfWeek)col;
                            dateItem.SetDay(_dayStrings[(int)day]);
                        }
                        else
                        {
                            dateItem.SetDay(" ");
                            dateItem.PointerReleased += dateItem_PointerReleased;
                        }
                    }
                }
                monthView.Tag = dateItems;
            }

            // collapse them all to be opened later
            dateItems = (DateItem[, ])monthView.Tag;
            for (row = 1; row < numRows; row++)
            {
                for (col = 0; col < numCols; col++)
                {
                    dateItems[row, col].Visibility = Visibility.Collapsed;
                }
            }

            String   previousTamilMonth, tamilMonth;
            String   previousSanskritMonth, sanskritMonth;
            String   previousPaksha, paksha;
            bool     fullMoonDayFound = false;
            bool     newMoonDayFound  = false;
            DateItem currentDateItem  = null;

            row = 1;
            previousTamilMonth    = null;
            previousSanskritMonth = null;

            previousPaksha          = "";
            tamilMonthTitle.Text    = "";
            sanskritMonthTitle.Text = "";
            for (int day = 1; day <= 31; day++)
            {
                DateTime dateTime;
                try
                {
                    dateTime = new DateTime(item.Year, month, day);
                    col      = (int)dateTime.DayOfWeek;

                    String festival, nakshatra;
                    bool   isNewMoonDay, isFullMoonDay;
                    bool   highlight;

                    item.GetDateData(month, day, out isNewMoonDay, out isFullMoonDay, out festival, out paksha, out nakshatra, out tamilMonth);
                    PanchangData pdata = item.GetPanchangData(month, day);
                    sanskritMonth = pdata._fieldValues[(int)FieldType.SanskritMonth];

                    if (isNewMoonDay)
                    {
                        newMoonDayFound = true;
                    }

                    if (isFullMoonDay)
                    {
                        fullMoonDayFound = true;
                    }

                    // Sometimes the tithi changes in the middle of the day and is not captured. Lets fix it here
                    if ((previousPaksha.Contains("Shukla") == true) && (paksha.Contains("Krishna") == true) && (fullMoonDayFound == false))
                    {
                        // Set the previous item to full moon day
                        currentDateItem.SetDay(currentDateItem.GetDay(), false, true, null, null, "KeepExisting");
                    }

                    // Sometimes the tithi changes in the middle of the day and is not captured. Lets fix it here
                    if ((previousPaksha.Contains("Krishna") == true) && (paksha.Contains("Shukla") == true) && (newMoonDayFound == false))
                    {
                        // Set the previous item to new moon day
                        currentDateItem.SetDay(currentDateItem.GetDay(), true, false, null, null, "KeepExisting");
                    }

                    previousPaksha = paksha;

                    currentDateItem = dateItems[row, col];
                    PrivateEvent evt = null;
                    if (_privateEvents != null)
                    {
                        evt = _privateEvents.GetFirstEventForDate(dateTime);
                    }

                    if (evt != null)
                    {
                        currentDateItem.SetDay(day,
                                               isNewMoonDay, isFullMoonDay, evt._eventText, null, nakshatra);
                    }
                    else
                    {
                        currentDateItem.SetDay(day,
                                               isNewMoonDay, isFullMoonDay, festival, null, nakshatra);
                    }

                    currentDateItem.Visibility = Visibility.Visible;
                    if (String.Equals(previousTamilMonth, tamilMonth, StringComparison.OrdinalIgnoreCase) == false)
                    {
                        tamilMonthTitle.Text += (previousTamilMonth == null) ? tamilMonth : ("-" + tamilMonth);
                        previousTamilMonth    = tamilMonth;
                    }

                    if (String.Equals(previousSanskritMonth, sanskritMonth, StringComparison.OrdinalIgnoreCase) == false)
                    {
                        sanskritMonthTitle.Text += ((previousSanskritMonth == null) ? sanskritMonth : ("-" + sanskritMonth.Trim()));
                        previousSanskritMonth    = sanskritMonth;
                    }

                    highlight = false;
                    // If its the curent month then highlight the current day
                    if (month == DateTime.Today.Month)
                    {
                        if (day == DateTime.Today.Day)
                        {
                            // Highlight today
                            highlight = true;
                        }
                    }
                    else if (day == 1)
                    {
                        // Highlight the first day of some other month
                        highlight = true;
                    }

                    if (highlight)
                    {
                        currentDateItem.HighlightBorder(true);
                        ShowDetail(month, day, item);
                        _currentHighlightedDateItem = currentDateItem;
                    }

                    if (col == (numCols - 1))
                    {
                        row++;
                        if (row == numRows)
                        {
                            row = 1; // Reset it back to the first row. Provides a foldable calender
                        }
                    }
                }
                catch (ArgumentOutOfRangeException)
                {
                }
            }
        }