示例#1
0
        private void gridControl_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            if (ReadOnly)
            {
                return;
            }

            GridHitInfo info = gridView.CalcHitInfo(e.X, e.Y);

            if (info.InRow)
            {
                TimeColumnInfo timeinfo = GetColumnInfo(info.Column);

                if (timeinfo != null)
                {
                    EmployeeDayView dayView = GetEmployeeDayView();

                    if (dayView != null)
                    {
                        if (dayView.IsBuzyByTimeRange(timeinfo.FromTime, timeinfo.ToTime))
                        {
                            dayView.RemoveWorkingTime(timeinfo.FromTime, timeinfo.ToTime);
                        }
                        else
                        {
                            dayView.AddWorkingTime(timeinfo.FromTime, timeinfo.ToTime);
                        }

                        if (dayView.Modified)
                        {
                            Context.Modified = true;
                        }

                        UpdateEmployeePlanningDays();
                    }
                }
            }
        }
示例#2
0
        private void workingTimeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (ReadOnly)
            {
                return;
            }

            EmployeeDayView dayView = GetEmployeeDayView();

            if (gridView.SelectedRowsCount == 1)
            {
                GridCell[] cells = gridView.GetSelectedCells();

                if (cells.Length > 1)
                {
                    bool ignore = false;
                    for (int i = 0; i < cells.Length; i++)
                    {
                        if (cells[i].Column.Tag == null)
                        {
                            ignore = true;
                        }
                    }
                    if (!ignore)
                    {
                        if (dayView != null)
                        {
                            foreach (GridCell cell in cells)
                            {
                                TimeColumnInfo infocolumn = GetColumnInfo(cell.Column);
                                if (infocolumn != null)
                                {
                                    dayView.AddWorkingTime(infocolumn.FromTime, infocolumn.ToTime);
                                }
                            }
                            if (dayView.Modified)
                            {
                                Context.Modified = true;
                            }
                        }

                        UpdateEmployeePlanningDays();
                    }
                }
                else
                {
                    if (cells != null && cells.Length == 1)
                    {
                        TimeColumnInfo info = GetColumnInfo(cells[0].Column);
                        StoreDay       sd   = Context.StoreDays[Context.ViewDate];
                        if (info != null)
                        {
                            using (FormEnterWorkingTime form = new FormEnterWorkingTime())
                            {
                                if (sd.OpenTime == 0)
                                {
                                    form.BeginTime = 9 * 60;
                                }
                                else
                                {
                                    form.BeginTime = sd.OpenTime;
                                }

                                form.EndTime = sd.CloseTime;
                                if (sd.CloseTime == 0)
                                {
                                    form.EndTime = 18 * 60;
                                }
                                else
                                {
                                    form.EndTime = sd.CloseTime;
                                }

                                form.BeginTime = info.FromTime;

                                if (form.ShowDialog() == DialogResult.OK)
                                {
                                    int bt = form.BeginTime;
                                    int et = form.EndTime;


                                    if (dayView != null)
                                    {
                                        dayView.AddWorkingTime(bt, et);
                                        if (dayView.Modified)
                                        {
                                            Context.Modified = true;
                                        }
                                    }

                                    UpdateEmployeePlanningDays();
                                }
                            }
                        }
                    }
                }
            }
        }
示例#3
0
        private void gridView_MouseDown(object sender, MouseEventArgs e)
        {
            GridHitInfo info = gridView.CalcHitInfo(e.Location);

            if (e.Button == MouseButtons.Left && info.InColumn)
            {
                GridColumn column = info.Column;

                if (column == gc_HWGR || column == gc_Employee)
                {
                    column.SortMode = ColumnSortMode.DisplayText;
                    if (column.SortOrder == ColumnSortOrder.Ascending)
                    {
                        column.SortOrder = ColumnSortOrder.Descending;
                    }
                    else
                    {
                        column.SortOrder = ColumnSortOrder.Ascending;
                    }

                    if (column == gc_HWGR)
                    {
                        gridView.SortInfo.ClearAndAddRange(new GridColumnSortInfo[]
                        {
                            new GridColumnSortInfo(gc_HWGR, gc_HWGR.SortOrder),
                            new GridColumnSortInfo(gc_Employee, gc_Employee.SortOrder)
                        });
                    }
                    else
                    {
                        gridView.SortInfo.ClearAndAddRange(new GridColumnSortInfo[]
                        {
                            new GridColumnSortInfo(gc_Employee, gc_Employee.SortOrder),
                            new GridColumnSortInfo(gc_HWGR, gc_HWGR.SortOrder)
                        });
                    }
                }
            }
            if (e.Button == MouseButtons.Left && info.InRowCell)
            {
                if (selectedCell != null && selectedCell.Length > 1)
                {
                    if (selectedCell[0].RowHandle == info.RowHandle)
                    {
                        bool bOk = false;
                        foreach (GridCell cell in selectedCell)
                        {
                            if (cell.Column == info.Column)
                            {
                                bOk = true;
                                break;
                            }
                        }

                        if (bOk && !ReadOnly)
                        {
                            EmployeeDayView dayView    = GetEmployeeDayView(info.RowHandle); //m_dailyView.GetByEmployeeId(empl.EmployeeId);
                            TimeColumnInfo  columninfo = null;

                            if (dayView != null)
                            {
                                foreach (GridCell cell in selectedCell)
                                {
                                    columninfo = GetColumnInfo(cell.Column);
                                    if (columninfo != null)
                                    {
                                        dayView.AddWorkingTime(columninfo.FromTime, columninfo.ToTime);
                                    }
                                }
                                if (dayView.Modified)
                                {
                                    Context.Modified = true;
                                }
                                UpdateEmployeePlanningDays();
                            }
                            selectedCell = null;
                        }
                    }
                }
            }
        }