private void LoadData()
        {
            dashboardMyToDoListTDS = new DashboardTDS();
            DashboardMyToDoList model = new DashboardMyToDoList(dashboardMyToDoListTDS);
            DashboardMyToDoListOnHold modelOnHold = new DashboardMyToDoListOnHold(dashboardMyToDoListTDS);

            EmployeeGateway employeeGateway = new EmployeeGateway(new DataSet());

            int companyId = Int32.Parse(hdfCompanyId.Value);
            int loginId = Convert.ToInt32(Session["loginID"]);
            int employeeId = employeeGateway.GetEmployeIdByLoginId(loginId);
            string state = "%"; if (ddlStateMyToDo.SelectedValue != "(All)") state = ddlStateMyToDo.SelectedValue;

            // ... Load to do list
            // ... ...Load for admin
            if (!Convert.ToBoolean(Session["sgLFS_FLEETMANAGEMENT_TODOLIST_ADMIN"]))
            {
                if (state == "New & In Progress")
                {
                    model.LoadMyNewAndInProgressToDoListByCreated(employeeId, companyId);
                }
                else
                {
                    // ... ... Load for assigned employee
                    model.LoadMyCurrentToDoListByCreatedByIdState(employeeId, state, companyId);
                }

                modelOnHold.LoadMyCurrentToDoListOnHoldByCreatedById(employeeId, companyId);
            }
            else
            {
                if (state == "New & In Progress")
                {
                    model.LoadNewAndInProgressToDoList(companyId);
                }
                else
                {
                    // ... ... Loads all (current)
                    model.LoadCurrentToDoListByState(state, companyId);
                }

                modelOnHold.LoadCurrentToDoListOnHold(companyId);
            }

            HttpContext.Current.Session.Add("dashboardMyToDoListTDS", dashboardMyToDoListTDS);

            Page.DataBind();
        }
        // ////////////////////////////////////////////////////////////////////////
        // EVENTS
        //
        protected void Page_Load(object sender, EventArgs e)
        {
            // Register client scripts
            this.RegisterClientScripts();

            if (!IsPostBack)
            {
                // Security check
                if (!(Convert.ToBoolean(Session["sgLFS_FLEETMANAGEMENT_TODOLIST_VIEW"]) && Convert.ToBoolean(Session["sgLFS_FLEETMANAGEMENT_TODOLIST_EDIT"])))
                {
                    Response.Redirect("./../../error_page.aspx?error=" + "You are not authorized to view this page. Contact your system administrator.");
                }

                // Validate query string
                if ((string)Request.QueryString["source_page"] == null)
                {
                    Response.Redirect("./../../error_page.aspx?error=" + "Invalid query string in wucMyToDoList.ascx");
                }

                // Tag page
                hdfCompanyId.Value = Session["companyID"].ToString();

                // Prepare initial data
                HttpContext.Current.Session.Remove("dashboardMyToDoListDataTableDummy");
                HttpContext.Current.Session.Remove("dashboardMyToDoListOnHoldDataTableDummy");
                ArrayList arrayListWidgetData = (ArrayList)HttpContext.Current.Session["myToDoListWidget"];
                ArrayList arrayListWidgetDataOnHold = (ArrayList)HttpContext.Current.Session["myToDoListOnHoldWidget"];

                // If coming from
                // ... Out
                if (Request.QueryString["source_page"] == "out")
                {
                    int loginId = Convert.ToInt32(Session["loginID"]);
                    EmployeeGateway employeeGateway = new EmployeeGateway(new DataSet());
                    int employeeId = employeeGateway.GetEmployeIdByLoginId(loginId);
                    string state = "%"; if (ddlStateMyToDo.SelectedValue != "(All)") state = ddlStateMyToDo.SelectedValue;

                    // ... For Grid
                    int companyId = Int32.Parse(hdfCompanyId.Value);

                    dashboardMyToDoListTDS = new DashboardTDS();
                    DashboardMyToDoList model = new DashboardMyToDoList(dashboardMyToDoListTDS);
                    DashboardMyToDoListOnHold modelOnHold = new DashboardMyToDoListOnHold(dashboardMyToDoListTDS);

                    if (HttpContext.Current.Session["myToDoListWidget"] != null)
                    {
                        ddlStateMyToDo.SelectedIndex = Convert.ToInt32(arrayListWidgetData[1].ToString());
                        if (ddlStateMyToDo.SelectedValue != "(All)") state = ddlStateMyToDo.SelectedValue;
                    }

                    // ... Load to do list
                    // ... ...Load for admin
                    if (!Convert.ToBoolean(Session["sgLFS_FLEETMANAGEMENT_TODOLIST_ADMIN"]))
                    {
                        // ... Load for assigned employee
                        model.LoadMyCurrentToDoListByCreatedByIdState(employeeId, state, companyId);
                        modelOnHold.LoadMyCurrentToDoListOnHoldByCreatedById(employeeId, companyId);
                    }
                    else
                    {
                        // ... ... Loads all  (current)
                        model.LoadCurrentToDoListByState(state, companyId);
                        modelOnHold.LoadCurrentToDoListOnHold(companyId);
                    }

                    // ... Store datasets
                    HttpContext.Current.Session.Add("dashboardMyToDoListTDS", dashboardMyToDoListTDS);
                }
            }
            else
            {
                // Prepare initial data
                HttpContext.Current.Session.Remove("dashboardMyToDoListDataTableDummy");
                HttpContext.Current.Session.Remove("dashboardMyToDoListOnHoldDataTableDummy");

                // Restore dataset
                dashboardMyToDoListTDS = (DashboardTDS)HttpContext.Current.Session["dashboardMyToDoListTDS"];
            }
        }