Beispiel #1
0
        private void mnu_Clear_Click(object sender, EventArgs e)
        {
            List <ShiftArrange> sas = new List <ShiftArrange>();

            foreach (DataGridViewCell cell in GridView.SelectedCells)
            {
                if (cell.Tag is List <Shift> ) //人员排班的单元格
                {
                    DateTime     dt     = Convert.ToDateTime(GridView.Columns[cell.ColumnIndex].Tag);
                    Staff        staff  = GridView.Rows[cell.RowIndex].Tag as Staff;
                    List <Shift> shifts = cell.Tag as List <Shift>;
                    foreach (Shift shift in shifts)
                    {
                        ShiftArrange sa = new ShiftArrange();
                        sa.StaffID   = staff.ID;
                        sa.ShiftDate = dt;
                        sa.ShiftID   = shift.ID;
                        sa.Shift     = shift;
                        sas.Add(sa);
                    }
                }
            }
            ShiftArrangeBLL bll = new ShiftArrangeBLL(AppSettings.CurrentSetting.ConnectUri);
            CommandResult   ret = bll.Delete(sas);

            btnFresh_Click(btnFresh, EventArgs.Empty);
        }
Beispiel #2
0
        public CommandResult Add(ShiftArrange info)
        {
            IShiftArrangeProvider provider = ProviderFactory.Create <IShiftArrangeProvider>(_RepoUri);
            ShiftArrangeID        id       = new ShiftArrangeID(info.StaffID, info.ShiftID, info.ShiftDate);
            ShiftArrange          item     = provider.GetByID(id).QueryObject;

            if (item == null)
            {
                IUnitWork unitWork = ProviderFactory.Create <IUnitWork>(_RepoUri);
                provider.Insert(info, unitWork);
                return(unitWork.Commit());
            }
            else //如果已经存在则直接返回
            {
                return(new CommandResult(ResultCode.Successful, ResultCodeDecription.GetDescription(ResultCode.Successful)));
            }
        }
Beispiel #3
0
        private List <ShiftArrange> GetShiftArranges()
        {
            List <ShiftArrange> items = new List <ShiftArrange>();
            DateTime            dt    = dtBegin.Value;

            while (dt <= dtEnd.Value)
            {
                if (HolidaySetting.Current != null && HolidaySetting.Current.IsHoliday(dt) && chkHolidayShifted.Checked) //节假日不排班
                {
                    continue;
                }
                if ((dt.DayOfWeek == DayOfWeek.Monday && chkMonday.Checked) ||
                    (dt.DayOfWeek == DayOfWeek.Tuesday && chkTuesday.Checked) ||
                    (dt.DayOfWeek == DayOfWeek.Wednesday && chkWednesday.Checked) ||
                    (dt.DayOfWeek == DayOfWeek.Thursday && chkThursday.Checked) ||
                    (dt.DayOfWeek == DayOfWeek.Friday && chkFriday.Checked) ||
                    (dt.DayOfWeek == DayOfWeek.Saturday && chkSaturday.Checked) ||
                    (dt.DayOfWeek == DayOfWeek.Sunday && chkSunday.Checked) ||
                    ((dt.DayOfWeek == DayOfWeek.Saturday || dt.DayOfWeek == DayOfWeek.Sunday) && chkWeekendToWorkdayShifted.Checked && !HolidaySetting.Current.IsWeekend(dt)) //
                    )
                {
                    if (SourceShifts != null && SourceShifts.Count > 0)
                    {
                        foreach (Shift s in SourceShifts)
                        {
                            ShiftArrange sa = new ShiftArrange()
                            {
                                StaffID   = Staff.ID,
                                ShiftDate = dt,
                                ShiftID   = s.ID,
                                Shift     = s
                            };
                            items.Add(sa);
                        }
                    }
                }
                dt = dt.AddDays(1);
            }
            return(items);
        }
Beispiel #4
0
 public CommandResult Delete(ShiftArrange info)
 {
     return(ProviderFactory.Create <IShiftArrangeProvider>(_RepoUri).Delete(info));
 }