public void bind_data(int status)
        {
            string cmdText = string.Format("select subject, createdbyemail, [message], datecreated, feedbackid, createdbyname from feedback"
                + " where status={0} order by datecreated desc", status);
            zClass ob = new zClass();
            DataSet ds = ob.zSelect(cmdText);
            try
            {
                DataColumn dc = new DataColumn("content");
                ds.Tables[0].Columns.Add(dc);
                ds.Tables[0].AcceptChanges();
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    dr.BeginEdit();
                    dr["content"] = string.Format("<b>{0} : {1}</b><br />{2}<br /><img src='/DesktopModules/zFeedback/zTime.jpg' /> {3}"
                        + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src='/DesktopModules/zFeedback/zEmail.png' /> {4}", dr[5].ToString(), dr[0].ToString(),
                        dr[2].ToString(), dr[3].ToString(), dr[1].ToString());
                    dr.EndEdit();
                }
                GridView1.DataSource = ob.zSelect(cmdText);
                GridView1.DataBind();
                GridView1.Columns[1].Visible = UserInfo.IsInRole(PortalSettings.AdministratorRoleName);
                GridView1.Columns[2].Visible = UserInfo.IsInRole(PortalSettings.AdministratorRoleName);
            }
            catch (Exception ex)
            {
                Response.Write("<script language='javascript'>alert('" + ex.Message + "')</script>");
            }

        }
 private DataTable zGetData()
 {
     string st = "SELECT ListID, Name FROM FeedbackList";
     zClass ob = new zClass();
     DataSet ds = ob.zSelect(st);
     if (ds.Tables[0].Rows.Count == 0)
     {
         string ins = "INSERT INTO FeedbackList (PortalID, Name) VALUES (1, 'Default')";
         ob.zExecute(ins);
     }
     ds = ob.zSelect(st);
     return ds.Tables[0];
 }
 private void bind_data()
 {
     try
     {
         bool isAdmin = UserInfo.IsInRole("admin") || UserInfo.IsInRole("LCD_Admin") || UserInfo.IsInRole("GiaoDichVien");
         //bool isAdmin = UserInfo.IsInRole("admin");
         string status = "2";
         if (isAdmin) status = ddTrangThai.SelectedValue;
         ddTrangThai.Visible = isAdmin;
         string cmd = string.Format("EXEC ChungNT.Feedback_Home {0}, {1}, {2}", status, UserId, ModuleId);
         zClass ob = new zClass();
         DataSet ds = ob.zSelect(cmd);
         DataColumn dc = new DataColumn("Link");
         ds.Tables[0].Columns.Add(dc);
         dc = new DataColumn("Reply");
         ds.Tables[0].Columns.Add(dc);
         ds.Tables[0].AcceptChanges();
         foreach (DataRow row in ds.Tables[0].Rows)
         {
             row.BeginEdit();
             row[5] = row[5].ToString().Replace(Environment.NewLine, "<br />");
             row[8] = row[8].ToString().Replace(Environment.NewLine, "<br />");
             row["Link"] = DotNetNuke.Common.Globals.NavigateURL(TabId, "REPLY", "mid/" + ModuleId, "ID/" + row[0].ToString());
             if (isAdmin)
                 row["Reply"] = "Trả lời";
             else
                 row["Reply"] = "";
             row.EndEdit();
         }
         dlFeedback.DataSource = ds.Tables[0];
         dlFeedback.DataBind();
         lbSoLuong.Text = ds.Tables[1].Rows[0][0].ToString() + " / " + ds.Tables[1].Rows[0][1].ToString();
     }
     catch (Exception ex) { lbCategory.Text = ex.Message; }
 }
        protected void gvQuanLy_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "SUA")
                try
                {
                    int i = Convert.ToInt32(e.CommandArgument);
                    string cmd = string.Format("EXEC dbo.GetFeedbackList 1, 0, {0}, 0, 0", gvQuanLy.Rows[i].Cells[1].Text);
                    zClass ob = new zClass();
                    DataSet ds = ob.zSelect(cmd);
                    lbID.Text = ds.Tables[0].Rows[0]["ListID"].ToString();
                    tbTenNhom.Text = ds.Tables[0].Rows[0]["Name"].ToString();
                    lbError_SuaNhom.Text = "";
                    pnBack.CssClass = "pnBack";
                    pnSuaNhom.CssClass = "pnShow";
                }
                catch { }
            if (e.CommandName == "XOA")
                try
                {
                    int i = Convert.ToInt32(e.CommandArgument);
                    string cmd = string.Format("EXEC ChungNT.Feedback_Category_Update {0}, {1}", gvQuanLy.Rows[i].Cells[1].Text, gvQuanLy.Rows[i].Cells[2].Text);
                    zClass ob = new zClass();
                    ob.zExecute(cmd);

                    Load_Data();
                    lbError.Text = "Xóa quyền quản lý nhóm thành công";
                }
                catch (Exception ex) { lbError.Text = "Có lỗi trong quá trình xử lý. " + ex.Message; }
        }
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         string catID = "0";
         if (Settings["feedCategory"] != null) catID = Settings["feedCategory"].ToString();
         zBindData(catID, "0");
         catID = "SELECT Name FROM FeedbackList WHERE ListID=" + catID;
         zClass ob = new zClass();
         lbCategory.Text = ob.zSelect(catID).Tables[0].Rows[0][0].ToString();
         if (UserInfo.IsInRole("admin") || UserInfo.IsInRole("Administrators")) GridView1.Columns[2].Visible = true;
         else GridView1.Columns[2].Visible = false;
     }
 }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack) return;
            bool isAdmin = (UserInfo.IsInRole("admin") || UserInfo.IsInRole("LCD_Admin") || UserInfo.IsInRole("GiaoDichVien"));
            if (!isAdmin) Response.Redirect(DotNetNuke.Common.Globals.NavigateURL(TabId));

            zClass ob = new zClass();
            try
            {
                ddDienLuc.DataSource = ob.zSelect("EXEC ChungNT.Feedback_Roles").Tables[0];
                ddDienLuc.DataBind();
            }
            catch { }
            Panel1.Visible = isAdmin;
            lbID.Text = Request["ID"] == null ? "0" : Request["ID"];
            if (lbID.Text != "0") load_data();
        }
 private void zBindData(string catID, string feedID)
 {
     string st = "SELECT CreatedByEmail, Message, FeedbackID, CreatedByName, DateCreated FROM Feedback";
     if (catID != "0") st = st + " WHERE Status=0 AND CategoryID=" + catID + " ORDER BY DateCreated DESC";
     else if (feedID != "0") st = st + " WHERE Status=" + feedID + " OR FeedbackID=" + feedID + " ORDER BY DateCreated";
     zClass ob = new zClass();
     DataTable dt = ob.zSelect(st).Tables[0];
     DataTable data = new DataTable();
     DataColumn dc = new DataColumn("FeedbackID");
     data.Columns.Add(dc);
     dc = new DataColumn("Message");
     data.Columns.Add(dc);
     DataRow dr;
     foreach (DataRow row in dt.Rows)
     {
         dr = data.NewRow();
         dr["FeedbackID"] = row["FeedbackID"].ToString();
         dr["Message"] = string.Format("<b>{0}</b><br />{2}<br /><div style='font-size:11px;'><img src='/DesktopModules/zFeedback/zTime.jpg' /> {3}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src='/DesktopModules/zFeedback/zEmail.png' /> {1}</div>", row[3].ToString(), row[0].ToString(), row[1].ToString(), row[4].ToString());
         data.Rows.Add(dr);
     }
     GridView1.DataSource = data;
     GridView1.DataBind();
 }
 private void Load_Data()
 {
     try
     {
         zClass ob = new zClass();
         DataSet ds = ob.zSelect("EXEC ChungNT.Feedback_Category");
         dlNhom.DataSource = ds.Tables[0];
         dlNhom.DataBind();
         gvQuanLy.DataSource = ds.Tables[1];
         gvQuanLy.DataBind();
         string id = "";
         foreach (GridViewRow dr in gvQuanLy.Rows)
             if (dr.Cells[1].Text != id)
             {
                 id = dr.Cells[1].Text;
                 dr.Cells[3].CssClass = "row1";
             }
             else dr.Cells[3].CssClass = "row2";
         dlUsers.DataSource = ds.Tables[2];
         dlUsers.DataBind();
         lbError.Text = "";
     }
     catch (Exception ex) { lbError.Text = "Có lỗi trong quá trình đọc dữ liệu. " + ex.Message; }
 }
 protected void btChuyen_Click(object sender, EventArgs e)
 {
     try
     {
         string cmd = string.Format("EXEC ChungNT.Feedback_Status {0}, 1", lbID.Text);
         zClass ob = new zClass();
         DataSet ds = ob.zSelect(cmd);
         if (ds.Tables[0].Rows[0][0].ToString() == "1")
             lbError.Text = "Chuyển trạng thái thành công";
         else
             lbError.Text = "Không thể chuyển trạng thái";
     }
     catch (Exception ex) { lbError.Text = "Có lỗi trong quá trình cập nhật. " + ex.Message; }
 }
 protected void btXoaCH_Click(object sender, EventArgs e)
 {
     try
     {
         string cmd = string.Format("EXEC ChungNT.Feedback_Delete {0}, 0", lbID.Text);
         zClass ob = new zClass();
         DataSet ds = ob.zSelect(cmd);
         if (ds.Tables[0].Rows[0][0].ToString() != "0")
             Response.Redirect(DotNetNuke.Common.Globals.NavigateURL(TabId));
         else
             lbError.Text = "Không thể xóa.";
     }
     catch (Exception ex) { lbError.Text = "Có lỗi trong quá trình cập nhật. " + ex.Message; }
 }
 protected void btXoa_Click(object sender, EventArgs e)
 {
     try
     {
         string cmd = string.Format("EXEC ChungNT.Feedback_Delete {0}, 1", lbR_ID.Text);
         zClass ob = new zClass();
         DataSet ds = ob.zSelect(cmd);
         if (ds.Tables[0].Rows[0][0].ToString() == "1")
             load_data();
         else
             lbError.Text = "Không thể xóa.";
     }
     catch (Exception ex) { lbError.Text = "Có lỗi trong quá trình cập nhật. " + ex.Message; }
 }
        protected void btTraLoi_Click(object sender, EventArgs e)
        {
            try
            {
                zClass ob = new zClass();
                string hoTen_reply = ob.reWrite(tbR_HoTen.Text);
                string tieuDe_reply = ob.reWrite(tbR_TieuDe.Text);
                string noiDung_reply = ob.reWrite(tbR_NoiDung.Text);
                string cmd = string.Format("EXEC ChungNT.Feedback_Update {0}, 1, '{1}', N'{2}', '', N'{3}', N'{4}', {5}, '', ''",
                    lbR_ID.Text, ModuleId, hoTen_reply, tieuDe_reply, noiDung_reply, lbID.Text);

                DataSet ds = ob.zSelect(cmd);
                if (ds.Tables[0].Rows[0][0].ToString() == "1")
                {
                    load_data();
                    lbError.Text = "Trả lời thành công. Câu hỏi đã được hiển thị.";
                }
                else lbError.Text = "Không thể trả lời.";
            }
            catch (Exception ex) { lbError.Text = "Có lỗi trong quá trình cập nhật. " + ex.Message; }
        }