protected void btn_update_rm_Click(object sender, ImageClickEventArgs e)
    {
        ImageButton btn = (ImageButton)sender;
        GridViewRow gvr = (GridViewRow)btn.NamingContainer;

        int     rm_id            = Convert.ToInt32(gvRooms.DataKeys[gvr.RowIndex].Value.ToString());
        TextBox txt_edit_rm_name = (TextBox)gvr.FindControl("txt_edit_rm_name");

        if (txt_edit_rm_name.Text.Trim() != "")
        {
            //all vars to one object
            ch_rooms rm1 = new ch_rooms();
            rm1.rm_Name = txt_edit_rm_name.Text.Trim();

            string err = ch_roomsSvc.UpdateRoomById(rm_id, rm1);
            if (err == "")//אם העדכון התבצע
            {
                lblErrGV.Text     = string.Empty;
                gvRooms.EditIndex = -1;

                if (Convert.ToInt32(Session["lvl_id"]) == 3)
                {
                    //Bind data to GridView
                    DataSet dsRooms = ch_roomsSvc.GetRooms(Convert.ToInt32(Session["sc_id"]));
                    GridViewSvc.GVBind(dsRooms, gvRooms);
                }
                else if (Convert.ToInt32(Session["lvl_id"]) >= 4)
                {
                    //Bind data to GridView
                    DataSet dsRooms = ch_roomsSvc.GetRooms(Convert.ToInt32(ddlSchools.SelectedValue));
                    GridViewSvc.GVBind(dsRooms, gvRooms);
                }
            }
            else
            {
                lblErrGV.Text = err;

                if (Convert.ToInt32(Session["lvl_id"]) == 3)
                {
                    //Bind data to GridView
                    DataSet dsRooms = ch_roomsSvc.GetRooms(Convert.ToInt32(Session["sc_id"]));
                    GridViewSvc.GVBind(dsRooms, gvRooms);
                }
                else if (Convert.ToInt32(Session["lvl_id"]) >= 4)
                {
                    //Bind data to GridView
                    DataSet dsRooms = ch_roomsSvc.GetRooms(Convert.ToInt32(ddlSchools.SelectedValue));
                    GridViewSvc.GVBind(dsRooms, gvRooms);
                }
            }
        }
        else
        {
            lblErrGV.Text = "הכנס חדר";
        }
    }
    /// <summary>
    /// Get room id by room name
    /// </summary>
    /// <param name="name">room name</param>
    /// <returns>-1 if not exist or return the id if name exist</returns>
    public static int GetId(ch_rooms rm1)
    {
        string strSql = "SELECT COUNT(rm_id) FROM ch_rooms WHERE rm_name = '" + rm1.rm_Name + "' AND sc_id = " + rm1.sc_Id;
        int    num    = Convert.ToInt32(Connect.MathAction(strSql, "ch_rooms"));

        if (num > 0)
        {
            string  strSql2 = "SELECT rm_id FROM ch_rooms WHERE rm_name = '" + rm1.rm_Name + "' AND sc_id = " + rm1.sc_Id;
            DataSet ds      = Connect.GetData(strSql2, "ch_rooms");
            return(Convert.ToInt32(ds.Tables["ch_rooms"].Rows[0][0].ToString()));
        }
        return(-1);
    }
    /// <summary>
    /// Add a new ch_rooms record to the database
    /// </summary>
    /// <param name="rm1">the new ch_room record you want to add to the database</param>
    /// <returns>string of an error or a string.Empty if the action is completed</returns>
    public static string AddRoom(ch_rooms rm1)
    {
        string strSql1 = "SELECT COUNT(rm_id) FROM ch_rooms WHERE rm_name = '" + rm1.rm_Name + "' AND sc_id = " + rm1.sc_Id;
        int    num     = Convert.ToInt32(Connect.MathAction(strSql1, "ch_rooms"));

        if (num > 0)
        {
            return("החדר כבר קיים");
        }

        string strSql = "INSERT INTO ch_rooms(rm_name,sc_id)  VALUES('" + rm1.rm_Name + "', " + rm1.sc_Id + ")";

        Connect.DoAction(strSql, "ch_rooms");
        return("");
    }
    /// <summary>
    /// Update room using its id
    /// </summary>
    /// <param name="id">rm_id statement</param>
    /// <param name="newRoom1">ch_rooms object</param>
    public static string UpdateRoomById(int id, ch_rooms newRoom1)
    {
        string strSql1 = "SELECT COUNT(rm_id) FROM ch_rooms WHERE rm_name = '" + newRoom1.rm_Name + "' AND sc_id = " + newRoom1.sc_Id + " AND rm_id <>" + id;
        int    num     = Convert.ToInt32(Connect.MathAction(strSql1, "ch_rooms"));

        if (num > 0)
        {
            return("החדר כבר קיים");
        }

        string strSql = "UPDATE ch_rooms SET rm_name='" + newRoom1.rm_Name + "' WHERE rm_id=" + id;

        Connect.DoAction(strSql, "ch_rooms");

        return("");
    }
    protected void btn_insert_rm_Click(object sender, ImageClickEventArgs e)
    {
        ImageButton btn = (ImageButton)sender;
        GridViewRow gvr = (GridViewRow)btn.NamingContainer;

        TextBox txt_insert_rm_name = (TextBox)gvr.FindControl("txt_insert_rm_name");

        if (txt_insert_rm_name.Text.Trim() != "")
        {
            //all vars to one object
            ch_rooms rm1 = new ch_rooms();
            rm1.rm_Name = txt_insert_rm_name.Text.Trim();

            if (Convert.ToInt32(Session["lvl_id"]) == 3)
            {
                rm1.sc_Id = Convert.ToInt32(Session["sc_id"]);
            }
            else if (Convert.ToInt32(Session["lvl_id"]) >= 4)
            {
                rm1.sc_Id = Convert.ToInt32(ddlSchools.SelectedValue);
            }

            string err = ch_roomsSvc.AddRoom(rm1);

            if (err == "")//אם ההכנסה התבצע
            {
                lblErrGV.Text      = "";
                gvRooms.ShowFooter = false;
                btnInsert.Enabled  = true;

                if (Convert.ToInt32(Session["lvl_id"]) == 3)
                {
                    //Bind data to GridView
                    DataSet dsRooms = ch_roomsSvc.GetRooms(Convert.ToInt32(Session["sc_id"]));
                    GridViewSvc.GVBind(dsRooms, gvRooms);
                }
                else if (Convert.ToInt32(Session["lvl_id"]) >= 4)
                {
                    //Bind data to GridView
                    DataSet dsRooms = ch_roomsSvc.GetRooms(Convert.ToInt32(ddlSchools.SelectedValue));
                    GridViewSvc.GVBind(dsRooms, gvRooms);
                }
            }
            else
            {
                lblErrGV.Text           = err;
                txt_insert_rm_name.Text = "";

                if (Convert.ToInt32(Session["lvl_id"]) == 3)
                {
                    //Bind data to GridView
                    DataSet dsRooms = ch_roomsSvc.GetRooms(Convert.ToInt32(Session["sc_id"]));
                    GridViewSvc.GVBind(dsRooms, gvRooms);
                }
                else if (Convert.ToInt32(Session["lvl_id"]) >= 4)
                {
                    //Bind data to GridView
                    DataSet dsRooms = ch_roomsSvc.GetRooms(Convert.ToInt32(ddlSchools.SelectedValue));
                    GridViewSvc.GVBind(dsRooms, gvRooms);
                }
            }
        }
        else
        {
            lblErrGV.Text = "הכנס חדר";
        }
    }
    /// <param name="old_id">the old_id</param>
    /// <param name="rm1"></param>
    /// <returns>The number of ch_rooms instances in database except of old_id</returns>
    public static int IsRoomExistUpdate(int old_id, ch_rooms rm1)
    {
        string strSql = "SELECT COUNT(rm_id) FROM ch_rooms WHERE rm_name = '" + rm1.rm_Name + "' AND sc_id = " + rm1.sc_Id + " AND rm_id <> " + old_id;

        return(Convert.ToInt32(Connect.MathAction(strSql, "ch_rooms")));
    }