Beispiel #1
0
        //Convert starting date to weekspan (all strings)
        public static string DateToWeekSpan(string dateStr)
        {
            //Parse value
            DateTime dateVal = new DateTime();

            if (UtilDotNET.ValidateDate(dateStr))
            {
                dateVal = UtilDotNET.StringToDate(dateStr);
            }
            else
            {
                return("ERROR: Please fix starting date from database table");
            }

            //Last Monday
            int      deltaToLastMonday = DayOfWeek.Monday - dateVal.DayOfWeek;
            DateTime lastMonday        = dateVal.AddDays(deltaToLastMonday).Date;

            //This sunday
            int deltaToThisSunday = DayOfWeek.Sunday - dateVal.DayOfWeek;

            if (deltaToThisSunday <= (int)dateVal.DayOfWeek)
            {
                deltaToThisSunday += 7;
            }
            DateTime thisSunday = dateVal.AddDays(deltaToThisSunday).Date;

            string weekspan = String.Format("{0}-{1}", lastMonday.ToString("MM/dd/yy"), thisSunday.ToString("MM/dd/yy"));

            return(weekspan);
        }
Beispiel #2
0
        /*	================================================================================
         *	Event for combo box items change
         *	- Includes display
         *	- Changes current workweek
         *	================================================================================
         */
        private void cmbWeekSpan_SelectedValueChanged(object sender, EventArgs e)
        {
            //When initialized disable buttons save, back, and forth.
            if (cmbWeekSpan.Text == "")
            {
                btnSave.Enabled  = false;
                btnBack.Enabled  = false;
                btnForth.Enabled = false;
            }
            else
            {
                btnSave.Enabled  = true;
                btnBack.Enabled  = true;
                btnForth.Enabled = true;

                //Disable forth
                DateTime cmbDate   = WorkWeek.LastBeginningOfWeek(currentWorkWeek.Week);                        //Date we are in
                DateTime cmbMonday = WorkWeek.LastBeginningOfWeek(cmbDate.ToString());

                DateTime date = UtilDotNET.StringToDate(WorkWeek.ConvertWeekSpanToBeginningOfWeek(cmbWeekSpan.Text));                   //Date we want to go to (because it change)
                //MessageBox.Show(cmbMonday + " " + date);
                //Only execute on different date selections
                if (cmbMonday != date)
                {
                    //Load corresponding week
                    int currentIndex = cmbWeekSpan.Items.IndexOf(cmbWeekSpan.Text);
                    currentWorkWeek = employeeWorkWeekList[currentIndex];
                    Display(currentWorkWeek);
                }
            }
        }
Beispiel #3
0
        /*	====================================================
         *	GetLastMondayFromDate
         *	> Error-catch any possible undesirable change in table values
         *	====================================================
         */
        public static DateTime LastBeginningOfWeek(string dateStr)
        {
            DateTime date = UtilDotNET.StringToDate(dateStr);

            //Last Monday
            if (date != DateTime.MinValue)
            {
                int deltaToLastMonday = DayOfWeek.Monday - date.DayOfWeek;
                if (deltaToLastMonday > 0)
                {
                    deltaToLastMonday -= 7;
                }
                DateTime lastMonday = date.AddDays(deltaToLastMonday).Date;
                return(lastMonday);
            }
            else
            {
                return(date);
            }
        }