using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.Data;
using System.Configuration;
using System.Web.Security;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Telerik.Web.UI;

public partial class Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            dtpDate.SelectedDate = DateTime.Today.AddDays(0);
        }

        OTTable();

        //RadScheduler1.SelectedDate = (DateTime.Today.AddDays(2));
    }
    private void OTTable()
    {
        //RadScheduler1.DataSource = null;
        //RadScheduler1.DataBind();
        // Create a new Data Table.
        System.Data.DataTable OTTheater = new DataTable("OTTheater");
        DataColumn dtColumn;
        DataRow myDataRow;
        // Create id Column
        dtColumn = new DataColumn();
        dtColumn.DataType = System.Type.GetType("System.Int32");
        dtColumn.ColumnName = "TheaterId";
        dtColumn.Caption = "TheaterId";
        dtColumn.ReadOnly = false;
        dtColumn.Unique = true;
        // Add id column to the DataColumnCollection.
        OTTheater.Columns.Add(dtColumn);

        // create Name column.
        dtColumn = new DataColumn();
        dtColumn.DataType = System.Type.GetType("System.String");
        dtColumn.ColumnName = "TheatreName";
        dtColumn.Caption = "TheatreName";
        dtColumn.AutoIncrement = false;
        dtColumn.ReadOnly = false;
        dtColumn.Unique = false;

        // Add Address column to the table.
        OTTheater.Columns.Add(dtColumn);



        // Add rows to the custTable using NewRow method
        // I add three customers with their addresses, name and id
        myDataRow = OTTheater.NewRow();
        myDataRow["TheaterId"] = 1;
        myDataRow["TheatreName"] = "OT1";

        OTTheater.Rows.Add(myDataRow);

        myDataRow = OTTheater.NewRow();
        myDataRow["TheaterId"] = 2;
        myDataRow["TheatreName"] = "OT2";

        OTTheater.Rows.Add(myDataRow);


        System.Data.DataTable OTPatientDetail = new DataTable("OTPatientDetail");
        DataColumn dtOTPatientDetailn;
        DataRow myDataRowOTPatientDetail;
        // Create id Column
        dtOTPatientDetailn = new DataColumn();
        dtOTPatientDetailn.DataType = System.Type.GetType("System.Int32");
        dtOTPatientDetailn.ColumnName = "TheaterId";
        dtOTPatientDetailn.Caption = "TheaterId";
        dtOTPatientDetailn.ReadOnly = false;
        //dtOTPatientDetailn.Unique = true;
        // Add id column to the DataColumnCollection.
        OTPatientDetail.Columns.Add(dtOTPatientDetailn);

        dtOTPatientDetailn = new DataColumn();
        dtOTPatientDetailn.DataType = System.Type.GetType("System.String");
        dtOTPatientDetailn.ColumnName = "TheatreName";
        dtOTPatientDetailn.Caption = "TheatreName";
        dtOTPatientDetailn.ReadOnly = false;
        //dtOTPatientDetailn.Unique = true;
        // Add id column to the DataColumnCollection.
        OTPatientDetail.Columns.Add(dtOTPatientDetailn);


        dtOTPatientDetailn = new DataColumn();
        dtOTPatientDetailn.DataType = System.Type.GetType("System.String");
        dtOTPatientDetailn.ColumnName = "FromTime";
        dtOTPatientDetailn.Caption = "FromTime";
        dtOTPatientDetailn.ReadOnly = false;
        //dtOTPatientDetailn.Unique = true;
        // Add id column to the DataColumnCollection.
        OTPatientDetail.Columns.Add(dtOTPatientDetailn);

        dtOTPatientDetailn = new DataColumn();
        dtOTPatientDetailn.DataType = System.Type.GetType("System.String");
        dtOTPatientDetailn.ColumnName = "ToTime";
        dtOTPatientDetailn.Caption = "ToTime";
        dtOTPatientDetailn.ReadOnly = false;
        //dtOTPatientDetailn.Unique = true;
        // Add id column to the DataColumnCollection.
        OTPatientDetail.Columns.Add(dtOTPatientDetailn);

        dtOTPatientDetailn = new DataColumn();
        dtOTPatientDetailn.DataType = System.Type.GetType("System.String");
        dtOTPatientDetailn.ColumnName = "Subject";
        dtOTPatientDetailn.Caption = "Subject";
        dtOTPatientDetailn.ReadOnly = false;
        //dtOTPatientDetailn.Unique = true;
        // Add id column to the DataColumnCollection.
        OTPatientDetail.Columns.Add(dtOTPatientDetailn);

        dtOTPatientDetailn = new DataColumn();
        dtOTPatientDetailn.DataType = System.Type.GetType("System.String");
        dtOTPatientDetailn.ColumnName = "TooTipText";
        dtOTPatientDetailn.Caption = "TooTipText";
        dtOTPatientDetailn.ReadOnly = false;
        //dtOTPatientDetailn.Unique = true;
        // Add id column to the DataColumnCollection.
        OTPatientDetail.Columns.Add(dtOTPatientDetailn);





        //TheaterId, TheaterName, FromTime, ToTime, Subject, TooTipText

        myDataRowOTPatientDetail = OTPatientDetail.NewRow();
        myDataRowOTPatientDetail["TheaterId"] = 1;
        myDataRowOTPatientDetail["TheatreName"] = "OT1";
        myDataRowOTPatientDetail["FromTime"] = "10:00";
        myDataRowOTPatientDetail["ToTime"] = "11:00";
        myDataRowOTPatientDetail["Subject"] = "Test Patient";
        myDataRowOTPatientDetail["TooTipText"] = "Test Patient";

        OTPatientDetail.Rows.Add(myDataRowOTPatientDetail);

        myDataRowOTPatientDetail = OTPatientDetail.NewRow();
        myDataRowOTPatientDetail["TheaterId"] = 2;
        myDataRowOTPatientDetail["TheatreName"] = "OT2";
        myDataRowOTPatientDetail["FromTime"] = "09:00";
        myDataRowOTPatientDetail["ToTime"] = "11:00";
        myDataRowOTPatientDetail["Subject"] = "Test Patient";
        myDataRowOTPatientDetail["TooTipText"] = "Test Patient";

        OTPatientDetail.Rows.Add(myDataRowOTPatientDetail);






        DataTable Dt = new DataTable();


        RadScheduler1.SelectedView = SchedulerViewType.DayView;
        RadScheduler1.SelectedDate = dtpDate.SelectedDate.Value;
        RadScheduler1.WorkDayStartTime = TimeSpan.Parse("06:00");
        RadScheduler1.WorkDayEndTime = TimeSpan.Parse("00:00");

        RadScheduler1.DayStartTime = TimeSpan.Parse("08:00");
        RadScheduler1.DayEndTime = TimeSpan.Parse("00:00");

        RadScheduler1.MinutesPerRow = int.Parse("10");
        //RadScheduler1.TimeLabelRowSpan = 30 / int.Parse(OTPatientDetail.Rows[0]["ToTime"].ToString());

        RadScheduler1.DataKeyField = "TheaterId";
        RadScheduler1.DataStartField = "FromTime";
        RadScheduler1.DataEndField = "ToTime";
        RadScheduler1.DataSubjectField = "Subject";

        //RadScheduler1.GroupBy = "Resource";
        //RadScheduler1.DataRecurrenceField = "RecurrenceRule";
        //RadScheduler1.DataRecurrenceParentKeyField = "RecurrenceParentId";
        RadScheduler1.ResourceTypes.Clear();
        ResourceType rt = new ResourceType("Resource");
        rt.DataSource = OTTheater;
        rt.KeyField = "TheaterId";
        rt.ForeignKeyField = "TheaterId";
        rt.TextField = "TheatreName";
        RadScheduler1.ResourceTypes.Add(rt);

        RadScheduler1.DataSource = OTPatientDetail;
        //RadScheduler1.DataBind();

    }


    protected void RadScheduler1_AppointmentDataBound(object sender, SchedulerEventArgs e)
    {
        e.Appointment.ToolTip = e.Appointment.Attributes["TooTipText"];
    }

    protected void RadScheduler1_AppointmentCreated(object sender, AppointmentCreatedEventArgs e)
    {
        //WebControl rsAptInner = (WebControl)e.Container.Parent;
        //rsAptInner.Style["background"] = "#4286f4";
    }

    protected void RadScheduler1_TimeSlotContextMenuItemClicked(object sender, TimeSlotContextMenuItemClickedEventArgs e)
    {

    }

    protected void RadScheduler1_AppointmentContextMenuItemClicked(object sender, AppointmentContextMenuItemClickedEventArgs e)
    {

    }

    protected void RadScheduler1_NavigationCommand(object sender, SchedulerNavigationCommandEventArgs e)
    {

    }

    protected void RadScheduler1_TimeSlotCreated(object sender, TimeSlotCreatedEventArgs e)
    {

    }

    protected void as_Click(object sender, EventArgs e)
    {

        OTTable();
    }
    protected void OnSelectedDateChanged_dtpDate(object sender, EventArgs e)
    {
        try
        {

            as_Click(sender, e);
        }
        catch (Exception Ex)
        {

        }
    }
}
