Example #1
0
        private void start(string EventDay, string EventName, string EventD_Day)
        {
            if (EventD_Day.Length > 0)
            {
                EventD_Day = "D-Day : " + EventD_Day;
            }
            ;

            DayEventModel.Add(new EventDataModel()
            {
                EventDay  = EventDay,
                EventDDay = EventD_Day,
                EventName = EventName
            });
        }
Example #2
0
        public void SetDayCntText()
        {
            string StartYear   = Preferences.Get("StartYear", DateTime.Now.ToString("yyyy"));
            string Startmonth  = Preferences.Get("Startmonth", DateTime.Now.ToString("MM"));
            string Startdate   = Preferences.Get("Startdate", DateTime.Now.ToString("dd"));
            bool   oneDayCheck = Preferences.Get("userFlag", false);

            DayEventModel.Clear();
            start("", "", "");
            //string _StartString = "2020-10-07";
            string _StartString = StartYear + "-" + Startmonth + "-" + Startdate;

            StartDay = _StartString;

            DateTime StartStrDay = DateTime.Parse(_StartString);                        //시작날짜
            DateTime toDay       = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); //현재 날짜
            TimeSpan span        = toDay - StartStrDay;
            int      dayCnt      = span.Days;                                           //시작날짜로 부터 몇일이 지났는지

            if (oneDayCheck)
            {
                dayCnt++;              //1일부터 라면 +1
            }
            DayCount = dayCnt.ToString();
            System.Diagnostics.Debug.WriteLine(oneDayCheck + "," + dayCnt + " , " + StartStrDay.AddDays(dayCnt).ToString("yyyy-MM-dd"));


            int    _ToDayEvent = dayCnt % 100; //최근 기념일 제외한 나머지
            string EventDay;                   //몇일 기념
            string EventName;                  //기념일 이름
            string EventD_Day;                 //기념일까지 남은 일수

            for (int i = _ToDayEvent; i < 2000; i++, dayCnt++)
            {
                EventDay = StartStrDay.AddDays(dayCnt).ToString("yyyy-MM-dd"); //하루씩 더하여 지금이 이벤트인지 확인
                DateTime _EventDay = DateTime.Parse(EventDay);
                span = _EventDay - toDay;                                      //검사할 날짜와 지금 날짜를 빼서 DDay를 구한다.
                int DDayTmp = span.Days;
                if (oneDayCheck)
                {
                    DDayTmp--;              //1일부터 라면 D-Day는 -1
                }
                EventD_Day = DDayTmp.ToString();


                if (dayCnt % 100 == 0) //100일 단위 이벤트 이다.
                {
                    EventName = (dayCnt) + " 일";
                    start(EventDay, EventName, EventD_Day);
                }
                else if (StartStrDay.ToString("MM-dd") == StartStrDay.AddDays(dayCnt).ToString("MM-dd"))
                {
                    int YearEvent = Convert.ToInt32(StartStrDay.AddDays(dayCnt).ToString("yyyy")) - Convert.ToInt32(StartStrDay.ToString("yyyy"));
                    EventName = YearEvent + "주 년";
                    start(EventDay, EventName, EventD_Day);
                }
                else if (dayCnt < 100) //100일 이하
                {
                    if (dayCnt == 22)
                    {
                        EventName = "22 데이";
                        start(EventDay, EventName, EventD_Day);
                    }
                    else if (dayCnt == 50)
                    {
                        EventName = (dayCnt) + " 일";
                        start(EventDay, EventName, EventD_Day);
                    }
                }
                else
                {
                    string _dayCntStr = dayCnt.ToString();
                    int    len        = _dayCntStr.Length;
                    for (int ii = 1; ii < len; ii++) //3333일같은 스트레이드 이벤트
                    {
                        if (_dayCntStr[ii - 1] != _dayCntStr[ii])
                        {
                            break;
                        }
                        else if (ii == len - 1)
                        {
                            EventName  = (dayCnt) + " 일";
                            span       = _EventDay - toDay; //이벤트 날짜와 지금 날짜를 빼서 DDay를 구한다.
                            EventD_Day = span.Days.ToString();
                            start(EventDay, EventName, EventD_Day);
                        }
                    }
                }
            }
        }