This is a migrated thread and some comments may be shown as answers.

Code not working to show busy time before shift starts

1 Answer 33 Views
Scheduler
This is a migrated thread and some comments may be shown as answers.
Philip
Top achievements
Rank 1
Philip asked on 19 Apr 2016, 10:01 AM

While the following works for any time during an appoint ment i need to disable the times before a shift but its not working the way that it should do;.

001.protected void apertureAppointments_TimeSlotCreated(object sender, TimeSlotCreatedEventArgs e)
002.      {
003.          int i = 0;
004.          bool isFound = false;
005.          List<tblApertureNetShiftPattern> _list = new List<tblApertureNetShiftPattern>();
006.          _list = _dal.getHolidays();
007.          List<Resource> resources = new List<Resource>(apertureAppointments.Resources.GetResourcesByType("Managers"));
008.          Label slotlabel = new Label();
009. 
010.          foreach (tblApertureNetShiftPattern sp in _list)
011.          {
012.              DateTime dt1 = Convert.ToDateTime(sp.startdate);
013.              DateTime dt2 = Convert.ToDateTime(sp.endDate);
014. 
015. 
016.              if (e.TimeSlot.Start <= dt1 && e.TimeSlot.Resource.Text == sp.manager_name)
017. 
018.              {
019. 
020.                  e.TimeSlot.CssClass = "Disabled";
021.                  slotlabel.CssClass = "Disabled";
022. 
023.              }
024. 
025.              if (e.TimeSlot.Start >= dt1 && e.TimeSlot.End <= dt2 && e.TimeSlot.Resource.Text == sp.manager_name)
026.              {
027.                
028.                    if (DoDateRangesOverlap(e.TimeSlot.Start, e.TimeSlot.End, dt1, dt2))
029.                  {
030.                    
031. 
032.                      if(sp.appointmentType ==Constants.shiftsStartOfShift)
033.                      {
034. 
035.                          e.TimeSlot.CssClass = "Disabled";
036.                          slotlabel.CssClass = "Disabled";
037. 
038.                      }
039. 
040.                      if (sp.appointmentType == Constants.shiftStat)
041.                          {
042.                              e.TimeSlot.CssClass = "Disabled";
043.                              slotlabel.CssClass = "Disabled";
044. 
045.                          }
046. 
047.                              if (sp.appointmentType == Constants.shfitsLunch)
048.                          {
049.                              e.TimeSlot.CssClass = "shiftlunchOff";
050.                              slotlabel.CssClass = "shiftlunchOff";
051.                              if (i == 1)
052.                              {
053.                                  slotlabel.Text = "Lunch";
054. 
055.                                  Image imageControl = new Image();
056.                                  // imageControl.ImageUrl = @"~\images\aperturenet\Calendar\resources\holidays.png";
057.                                  //    e.TimeSlot.Control.Controls.AddAt(1, imageControl);
058. 
059.                              }
060.                          }
061.                          if (sp.appointmentType == Constants.shiftDayoff)
062.                          {
063.                              e.TimeSlot.CssClass = "shiftDayOff";
064. 
065.                              slotlabel.CssClass = "shiftDayOff";
066. 
067.                              if (i == 1)
068.                              {
069.                                  slotlabel.Text = "Off test";
070.                                  Image imageControl = new Image();
071.                                  imageControl.ImageUrl = @"~\images\aperturenet\Calendar\resources\holidays.png";
072.                                  e.TimeSlot.Control.Controls.AddAt(1, imageControl);
073.                              }
074.                          }
075.                          else if (sp.appointmentType == Constants.shiftHoliday)
076.                          {
077.                              e.TimeSlot.CssClass = "HolidayCssStyle";
078.                              slotlabel.CssClass = "HolidayCssStyle";
079. 
080.                              if (i == 1)
081.                              {
082.                                  slotlabel.Text = "Off";
083.                                  Image imageControl = new Image();
084.                                  imageControl.ImageUrl = @"~\images\aperturenet\Calendar\resources\holidays.png";
085.                                  e.TimeSlot.Control.Controls.AddAt(1, imageControl);
086.                              }
087.                          }
088.                          else if (sp.appointmentType == Constants.shiftStat)
089.                          {
090.                              e.TimeSlot.CssClass = "statCssStyle";
091.                              slotlabel.CssClass = "statCssStyle";
092.                              slotlabel.Text = "Off";
093.                              if (i == 1)
094.                              {
095.                                  Image imageControl = new Image();
096.                                  imageControl.ImageUrl = @"~\images\aperturenet\Calendar\resources\holidays.png";
097.                                  e.TimeSlot.Control.Controls.AddAt(1, imageControl);
098.                              }
099.                          }
100.                          else if (sp.appointmentType == Constants.shiftsickDay)
101.                          {
102. 
103.                              e.TimeSlot.CssClass = "SickDayStyle";
104.                              slotlabel.CssClass = "SickDayStyle";
105. 
106.                              if (i == 1)
107.                              {
108.                                  slotlabel.Text = "Sick";
109.                                  Image imageControl = new Image();
110.                                  imageControl.ImageUrl = @"~\images\aperturenet\Calendar\resources\Sick.png";
111.                                  e.TimeSlot.Control.Controls.AddAt(1, imageControl);
112.                              }
113. 
114. 
115.                          }
116.                       
117.                      else
118.                          i = i++;
119.                      e.TimeSlot.Control.Controls.AddAt(1, slotlabel);
120.                      dt2 = dt2.AddMinutes(60);
121.                  }
122.              }
123.          }
124.      }

 

Basically all that get holidays do is return the shift patters for the resource

01.public List<tblApertureNetShiftPattern> getHolidays()
02.{
03.    List<tblApertureNetShiftPattern> list = new List<tblApertureNetShiftPattern>();
04. 
05.    var q = from _holidays in apertureNetEntities.tblApertureNetShiftPatterns.Where(w => w.isDeleted == false)
06.            select _holidays;
07. 
08.    list = q.ToList();
09. 
10.    return list;
11.}

But as you can see from the second screen shot its filling out every timeslot before that time not just the 9 am to 11 am  as it should be in realtion to the database I only use the appointment end type where the appointment type equals a sepcified guid.

 

 

1 Answer, 1 is accepted

Sort by
0
Nencho
Telerik team
answered on 22 Apr 2016, 09:57 AM
Hello Philip,

I am afraid that we would need some more details in order to investigate the reason for the inability to disable the exact timeslots. This is why, I would ask you to submit a support ticket, along with a runnable sample attached, demonstrating your current implementation.

Once being able to investigate the entire implementation and replicate the problem we will be able to pin down the reason for it.

Regards,
Nencho
Telerik
Do you need help with upgrading your ASP.NET AJAX, WPF or WinForms projects? Check the Telerik API Analyzer and share your thoughts.
Tags
Scheduler
Asked by
Philip
Top achievements
Rank 1
Answers by
Nencho
Telerik team
Share this question
or