2016-04-10 5 views
-1

休日や休暇中の人のためのタイムスロットを見つけようとしていますが、telerikスケジューラのコンポーネントでは、問題が発生しているのは、代わりに一つだけのエントリアダムアデアが、そのがオフになっている人のためのすべてのセルをhighlingがあるすべてのそれらのための人シフトパターンに基づいて休暇を調整しようとしています

/// <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"; 
       } 
      } 
     } 
} 

いる一人オフそのhlighing。

休日を取得すると、アイテムのリストが返されます。

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; 
} 

ありレコードは1つだけであると私は最終的にはコミュニティから多くの助けなしに、この自分自身を解決するために管理

+0

いけないだけで投票ダウンを理由として説明を与えるe.TimeSlot.Resource.Text ==「アダムアデア」とは? !私は問題が何であるか、これまで何を試みているのかを明らかにしました。 – rogue39nin

+0

メタのメタについてここで説明する必要があります。http://meta.stackexchange.com/questions/135/encouraging-people-to-explain-downvotes – rogue39nin

答えて

0

そのadmamためアデアがオフされるようになった私は、タイムスロット作成した文をチェックしていませんでしたシンプル人のテキストも同様です。ここ

if (res.Text == "Adam Adair" && e.TimeSlot.Start == dt1 && e.TimeSlot.Resource.Text == "Adam Adair") 

重要な追加は

関連する問題