试图根据人员转变模式来计算假日

时间:2016-04-10 14:53:28

标签: c telerik

我正在尝试为度假或休假的人找到时间段,并在telerik调度程序组件中阻止时间我遇到的问题是使用多种资源,而不仅仅是将一个人从他们的所有人身上拉下来

    /// <summary>
    /// Handles the TimeSlotCreated event of the apertureAppointments control.
    /// </summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">The <see cref="TimeSlotCreatedEventArgs"/> instance containing the event data.</param>
 protected void apertureAppointments_TimeSlotCreated(object sender, TimeSlotCreatedEventArgs e)
 {
        int i = 0;
        bool isFound = false;
        List<tblApertureNetShiftPattern> _list = new List<tblApertureNetShiftPattern>();
        _list = _dal.getHolidays();
        List<Resource> resources = new List<Resource>(apertureAppointments.Resources.GetResourcesByType("Managers"));
        Resource res = resources[5];

        foreach (tblApertureNetShiftPattern sp in _list)
        {
            if (_list.Count > 1)
                i++;
            else
                i = 0;

            DateTime? dt1 = _list[i].startdate;
            DateTime? dt2 = _list[i].endDate;
            if (sp.manager_name == "Adam Adair" && res.Text == "Adam Adair")
            {
                isFound = true;
                if (DoDateRangesOverlap(e.TimeSlot.Start, e.TimeSlot.End, dt1, dt2) && isFound == true)
                {
                    e.TimeSlot.CssClass = "UnavailableCssStyle";
                    dt1 = null;
                    dt2 = null;
                    isFound = false;
                }
            }
            else if (sp.manager_name == "Clare Coyle" && res.Text == "Clare Coyle")
            {
                if (DoDateRangesOverlap(e.TimeSlot.Start, e.TimeSlot.End, dt1, dt2) && isFound == false)
                {
                    e.TimeSlot.CssClass = "UnavailableCssStyle";
                }
            }
            else if (sp.manager_name == "Christine Clarke" && res.Text == "Christine Clarke")
            {
                if (DoDateRangesOverlap(e.TimeSlot.Start, e.TimeSlot.End, dt1, dt2) && isFound == false)
                {
                    e.TimeSlot.CssClass = "UnavailableCssStyle";
                }
            }
            else if (sp.manager_name == "Conan Keenan" && res.Text == "Conan Keenan" && isFound == false)
            {
                if (DoDateRangesOverlap(e.TimeSlot.Start, e.TimeSlot.End, dt1, dt2) && isFound == false)
                {
                    e.TimeSlot.CssClass = "UnavailableCssStyle";
                }
            }
            else if (sp.manager_name == "Susie McCormick" && res.Text == "Susie McCormick")
            {
                if (DoDateRangesOverlap(e.TimeSlot.Start, e.TimeSlot.End, dt1, dt2) && isFound == false)
                {
                    e.TimeSlot.CssClass = "UnavailableCssStyle";
                }
            }
        }
 }

其中只有一个条目是Adam Adair,而是为了关闭此人的所有细胞。

获得假期只返回一个项目列表。

 public List<tblApertureNetShiftPattern> getHolidays()
 {
        List<tblApertureNetShiftPattern> list = new List<tblApertureNetShiftPattern>();

        var q = from _holidays in apertureNetEntities.tblApertureNetShiftPatterns.Where(w => w.isDeleted == false && w.isOff == true)
                select _holidays;

        list = q.ToList();

        return list;
 }

只有一条记录及其admam adair关闭

0 个答案:

没有答案