Пример #1
0
 void Create(CountdownData.Countdown data)
 {
     if (_grid.gameObject != null)
     {
         GameObject    tankItem      = (GameObject)Resources.Load(AppConfig.FOLDER_PROFAB_UI + "main/ClockItem");
         GameObject    item          = NGUITools.AddChild(_grid.gameObject, tankItem);
         CountdownItem countdownItem = item.GetComponent <CountdownItem>();
         countdownItem.Init(data);
         _grid.repositionNow = true;
         _grid.Reposition();
     }
 }
        public static Ticker BuildTicker(CountdownItem item)
        {
            DateTime eventDate = new DateTime(item.EventDateTime.Ticks, DateTimeKind.Local);
            Ticker myTicker = new Ticker();

            LocalDateTime fromDate = new LocalDateTime();
            LocalDateTime toDate = new LocalDateTime();

            //Period timePeriod = null;

            PeriodBuilder pendingPeriod = new PeriodBuilder();

            //TimeSpan timeElapsed = timePeriod;

            switch (item.Type)
            {
                case "Countdown":
                    if (eventDate > DateTime.Now)
                    {
                        // Future Date
                        //timeElapsed = new TimeSpan(eventDate.Subtract(DateTime.Now).Ticks);
                        fromDate    = GetLocalDateTimeFromDateTime(DateTime.Now);
                        toDate      = GetLocalDateTimeFromDateTime(eventDate);

                        myTicker.Phrase = "Until " + item.EventName;
                    }
                    else
                    {
                        // Past Date
                        //timeElapsed = new TimeSpan(DateTime.Now.Subtract(eventDate).Ticks);
                        //timePeriod = Period.Between(GetLocalDateTimeFromDateTime(DateTime.Now), GetLocalDateTimeFromDateTime(eventDate));

                        fromDate    = GetLocalDateTimeFromDateTime(DateTime.Now);
                        toDate      = GetLocalDateTimeFromDateTime(eventDate);

                        myTicker.Phrase = "Since " + item.EventName;
                    }
                    break;
                case "Anniversary":
                    if (eventDate > DateTime.Now)
                    {
                        // Future Date
                        //timeElapsed = new TimeSpan(eventDate.AddYears(1).Subtract(DateTime.Now).Ticks);
                        //timePeriod = Period.Between(GetLocalDateTimeFromDateTime(DateTime.Now), GetLocalDateTimeFromDateTime(eventDate.AddYears(1)));

                        fromDate    = GetLocalDateTimeFromDateTime(DateTime.Now);
                        toDate      = GetLocalDateTimeFromDateTime(eventDate.AddYears(1));

                        myTicker.Phrase = "Until " + item.EventName + " 1st Anniversary";
                    }
                    else
                    {
                        // Past Date
                        int n = 1;
                        while (eventDate.AddYears(n) < DateTime.Now)
                        {
                            n++;
                        }
                        //timeElapsed = new TimeSpan(eventDate.AddYears(n).Subtract(DateTime.Now).Ticks);
                        //timePeriod = Period.Between(GetLocalDateTimeFromDateTime(DateTime.Now), GetLocalDateTimeFromDateTime(eventDate.AddYears(n)));

                        fromDate    = GetLocalDateTimeFromDateTime(DateTime.Now);
                        toDate      = GetLocalDateTimeFromDateTime(eventDate.AddYears(n));

                        myTicker.Phrase = "Until " + item.EventName + " " + n + "th Anniversary";
                    }
                    break;
            }

            //timePeriod.
            //timePeriod = Period.Between(fromDate, toDate);
            //timePeriod.

            //    (item.YearFlag)?PeriodUnits.Years|: ""
            //    (item.YearFlag)?PeriodUnits.Months:|
            //    (item.YearFlag)?PeriodUnits.Weeks:|
            //    (item.YearFlag)?PeriodUnits.Days:|
            //    (item.YearFlag)?PeriodUnits.Hours:|
            //    (item.YearFlag)?PeriodUnits.Minutes:|
            //    (item.YearFlag)?PeriodUnits.Seconds:|
            //    PeriodUnits.None
            //    );

            //timePeriod =

            pendingPeriod = new PeriodBuilder(Period.Between(fromDate, toDate,
                ((item.YearFlag) ? PeriodUnits.Years : PeriodUnits.None) |
                ((item.MonthFlag) ? PeriodUnits.Months : PeriodUnits.None) |
                ((item.WeekFlag) ? PeriodUnits.Weeks : PeriodUnits.None) |
                ((item.DayFlag) ? PeriodUnits.Days : PeriodUnits.None) |
                ((item.HourFlag) ? PeriodUnits.Hours : PeriodUnits.None) |
                ((item.MinuteFlag) ? PeriodUnits.Minutes : PeriodUnits.None) |
                ((item.SecondFlag || item.HeartbeatFlag) ? PeriodUnits.Seconds : PeriodUnits.None) |
                PeriodUnits.None
                ));

            if (item.YearFlag)
            {
                ////int yy = Period.Between(fromDate, toDate, PeriodUnits.Years).Years;

                myTicker.Year = pendingPeriod.Years.ToString("00");
                //pendingPeriod.Years = 0;
                //fromDate.PlusYears(1);
            }

            if (item.MonthFlag)
            {
                //pendingPeriod = new PeriodBuilder(Period.Between(fromDate, toDate, PeriodUnits.Months));

                myTicker.Month = pendingPeriod.Months.ToString("00");
                //pendingPeriod.Months = 0;
            }

            if (item.WeekFlag)
            {
                //pendingPeriod = new PeriodBuilder(Period.Between(fromDate, toDate, PeriodUnits.Years));

                myTicker.Week = pendingPeriod.Weeks.ToString("00");
                //pendingPeriod.Weeks = 0;
            }

            if (item.DayFlag)
            {
                //pendingPeriod = new PeriodBuilder(Period.Between(fromDate, toDate, PeriodUnits.Years));

                myTicker.Day = pendingPeriod.Days.ToString("00");
                //pendingPeriod.Days = 0;
            }

            if (item.HourFlag)
            {
                //pendingPeriod = new PeriodBuilder(Period.Between(fromDate, toDate, PeriodUnits.Years));

                myTicker.Hour = pendingPeriod.Hours.ToString("00");
                //pendingPeriod.Hours = 0;
            }

            if (item.MinuteFlag)
            {
                //pendingPeriod = new PeriodBuilder(Period.Between(fromDate, toDate, PeriodUnits.Years));

                myTicker.Minute = pendingPeriod.Minutes.ToString("00");
                //pendingPeriod.Minutes = 0;
            }

            if (item.SecondFlag)
            {
                //pendingPeriod = new PeriodBuilder(Period.Between(fromDate, toDate, PeriodUnits.Years));

                myTicker.Second = pendingPeriod.Seconds.ToString("00");
            }
            if (item.HeartbeatFlag)
            {
                //pendingPeriod = new PeriodBuilder(Period.Between(fromDate, toDate, PeriodUnits.Years));

                myTicker.Heartbeat = (pendingPeriod.Seconds * item.HeartbeatCount/60).ToString("00");
            }

            myTicker.YearFlag = item.YearFlag;
            myTicker.MonthFlag = item.MonthFlag;
            myTicker.WeekFlag = item.WeekFlag;
            myTicker.DayFlag = item.DayFlag;
            myTicker.HourFlag = item.HourFlag;
            myTicker.MinuteFlag = item.MinuteFlag;
            myTicker.SecondFlag = item.SecondFlag;
            myTicker.HeartbeatFlag = item.HeartbeatFlag;

            return myTicker;
        }
        public static void AddCountdownItem(CountdownItem newCountdownItem)
        {
            countdownDB.CountdownTable.InsertOnSubmit(newCountdownItem);

            countdownDB.SubmitChanges();

            AllCountdownItems.Add(newCountdownItem);
        }
 public void InitNewCounter()
 {
     NewCountdownItem = new CountdownItem
     {
         EventName = "My New Event",
         EventDateTime = DateTime.Now.AddYears(1),
         Type = "Countdown",
         YearFlag = true,
         MonthFlag = true,
         MinuteFlag = true,
         SecondFlag = true,
         PhotoFile = "/Assets/Images/default_portrait_05.png"
     };
 }
        public void PopulateDatabase()
        {
            // Create the database if it does not exist.
            using (CountdownDataContext db = new CountdownDataContext(DBConnectionString))
            {
                //if database structure changed
                //db.DeleteDatabase();

                if (db.DatabaseExists() == false)
                {
                    db.CreateDatabase();

                    CountdownItem defaultItem = new CountdownItem
                    {
                        EventName = "My Event",
                        EventDateTime = DateTime.Now.AddYears(1),
                        Type = "Countdown",
                        YearFlag = true,
                        MonthFlag = true,
                        MinuteFlag = true,
                        SecondFlag = true,
                        PhotoFile = ViewModelLocator.ImageCollection.ElementAt(4).ToString()
                    };

                    db.CountdownTable.InsertOnSubmit(defaultItem);
                    db.SubmitChanges();
                }
            }

            ViewModelLocator.countdownDB = new CountdownDataContext(DBConnectionString);
            ViewModelLocator.LoadCollectionsFromDatabase();
        }