Exemplo n.º 1
0
        public EditHourDataForm()
        {
            InitializeComponent();

            _lwHelper = new LaborWageHelper();

            _holidayTable = 假日TableAdapter.Instance.GetByRange(Settings.UnfilledDate, DateTime.Today);

            rbProduce.Checked = true;

            // Load the lines
            _suspendLineChangedEvent = true;
            bsLine.DataSource        = DatabaseSet.產線Table;

            // Load the nonproduce items
            bsNonProduce.DataSource = DatabaseSet.非生產Table;

            // Create a table for input
            bsHourData.DataSource = _dataTable = CreateDataTable();

            cbbLine.ValueMember         = cbbLine.DisplayMember = "產線";
            cbbNonProduce.ValueMember   = "編號";
            cbbNonProduce.DisplayMember = "名稱";


            dtpDate.Value = dateFinishDate.Value = DateTime.Today;

            cbbLine.SelectedIndex = -1;

            _suspendLineChangedEvent = false;
        }
Exemplo n.º 2
0
        public static DatabaseSet.假日ViewDataTable Get假日ViewTable(int year, int month)
        {
            //取得資料庫假日Table
            DatabaseSet.假日DataTable holidayTable = new DatabaseSet.假日DataTable();
            假日TableAdapter.Instance.FillBy月份(holidayTable, year, month);

            //建立回傳Table
            DatabaseSet.Instance.假日View.Clear();

            //建立取消週六日清單
            List <DateTime> cancelHolidays = new List <DateTime>();

            //判斷是增加還是取消
            foreach (DatabaseSet.假日Row row in holidayTable)
            {
                if (row.增加)
                {
                    DatabaseSet.假日ViewRow newRow = DatabaseSet.Instance.假日View.New假日ViewRow();
                    newRow.FillRow(row.日期, false);
                    DatabaseSet.Instance.假日View.Rows.Add(newRow);
                }
                else
                {
                    cancelHolidays.Add(row.日期);
                }
            }

            //將週六日加入
            int days = DateTime.DaysInMonth(year, month);

            for (int i = 1; i <= days; i++)
            {
                DateTime  date      = new DateTime(year, month, i);
                DayOfWeek dayofWeek = date.DayOfWeek;

                if (dayofWeek == DayOfWeek.Saturday || dayofWeek == DayOfWeek.Sunday)
                {
                    if (!cancelHolidays.Contains(date))
                    {
                        DatabaseSet.假日ViewRow newRow = DatabaseSet.Instance.假日View.New假日ViewRow();
                        newRow.FillRow(date, true);
                        DatabaseSet.Instance.假日View.Rows.Add(newRow);
                    }
                }
            }

            DatabaseSet.Instance.假日View.AcceptChanges();

            return(DatabaseSet.Instance.假日View);
        }
Exemplo n.º 3
0
        public static decimal GetWorkingHours(int year, int month)
        {
            int holidays = 0;
            int days     = DateTime.DaysInMonth(year, month);

            for (int i = 1; i <= days; i++)
            {
                DateTime  date      = new DateTime(year, month, i);
                DayOfWeek dayofWeek = date.DayOfWeek;

                if (dayofWeek == DayOfWeek.Saturday || dayofWeek == DayOfWeek.Sunday)
                {
                    holidays += 1;
                }
            }

            DatabaseSet.假日DataTable table = new DatabaseSet.假日DataTable();
            假日TableAdapter.Instance.FillBy月份(table, year, month);

            for (int i = 0; i < table.Rows.Count; i++)
            {
                DateTime date = (DateTime)table[i]["日期"];
                if ((bool)table[i]["增加"])
                {
                    holidays += 1;
                }
                else
                {
                    holidays -= 1;
                }
            }

            int workDays = days - holidays;

            return(workDays * Settings.WorkingHoursPerDay);
        }
Exemplo n.º 4
0
 public virtual DatabaseSet.假日DataTable GetByRange(global::System.Nullable<global::System.DateTime> 日期, global::System.Nullable<global::System.DateTime> 日期1) {
     this.Adapter.SelectCommand = this.CommandCollection[1];
     if ((日期.HasValue == true)) {
         this.Adapter.SelectCommand.Parameters[0].Value = ((System.DateTime)(日期.Value));
     }
     else {
         this.Adapter.SelectCommand.Parameters[0].Value = global::System.DBNull.Value;
     }
     if ((日期1.HasValue == true)) {
         this.Adapter.SelectCommand.Parameters[1].Value = ((System.DateTime)(日期1.Value));
     }
     else {
         this.Adapter.SelectCommand.Parameters[1].Value = global::System.DBNull.Value;
     }
     DatabaseSet.假日DataTable dataTable = new DatabaseSet.假日DataTable();
     this.Adapter.Fill(dataTable);
     return dataTable;
 }
Exemplo n.º 5
0
 public virtual DatabaseSet.假日DataTable GetData() {
     this.Adapter.SelectCommand = this.CommandCollection[0];
     DatabaseSet.假日DataTable dataTable = new DatabaseSet.假日DataTable();
     this.Adapter.Fill(dataTable);
     return dataTable;
 }
Exemplo n.º 6
0
        public bool IsHoliday(DateTime date)
        {
            this.Adapter.SelectCommand = SelectByDateCommand;
            _selectByMonthCommand.Parameters["日期"].Value = date;
            DatabaseSet.假日DataTable table = new DatabaseSet.假日DataTable();
            this.Adapter.Fill(table);

            //如果不在資料庫裡
            if (table.Count == 0)
            {
                //判斷是否為周六日
                return date.DayOfWeek == DayOfWeek.Saturday || date.DayOfWeek == DayOfWeek.Sunday;
            }
            //如果在資料庫裡
            else
            {
                DatabaseSet.假日Row row = table[0];
                return row.增加;
            }
        }