ScheduleApp.AppTask.CalculateNextReminder C# (CSharp) Method

CalculateNextReminder() private method

private CalculateNextReminder ( ) : void
return void
        private void CalculateNextReminder()
        {
            DateTime current = DateTime.Now;
            TimeSpan difference = current.Subtract(m_reminder_begin.ToLocalTime());
            TimeSpan multiple;

            //get datetime difference
                //determine multiples of specified frequency and unit relative to difference
                    //add one multiple
                    //e.g. remind by days
                            //difference of 10 days and 11 hours
                                //10 full multiples
                                    //add 1
                                        //next reminder is 13 hours from now
            switch(m_frequency_unit)
            {
                case "Minutes": multiple = new TimeSpan(0, m_frequency, 0);  break;
                case "Hours": multiple = new TimeSpan(m_frequency, 0, 0); break;
                case "Days": multiple = new TimeSpan(m_frequency, 0, 0, 0); break;
                case "Weeks": multiple = new TimeSpan(m_frequency * 7, 0, 0, 0); break;
                case "Months": break;
                case "Years": multiple = new TimeSpan(m_frequency * 365, 0, 0); break;
                default: /* DO NOTHING */ break;
            }

            long multipleCount = difference.Ticks / multiple.Ticks;

            m_reminder_next = m_reminder_begin.ToLocalTime();

            for (int i = 0; i <= multipleCount; i++)
            {
                m_reminder_next = m_reminder_next.Add(multiple);
            }
        }