public partial class CodeTableUpdate : System.Web.UI.Page
    {
        private string Codeid;
        private string constring;
        protected void Page_Load(object sender, EventArgs e)
        {
            string conString = ConfigurationManager.AppSettings["ConnString"].ToString();
            constring = conString;
            string idString = Request.QueryString["ID"].ToString();
            if (idString != "0")
            {
                this.Codeid = idString;
                this.btnAddOrUpdate.Text = "UpDate";
                showdataCode(idString);
            }
            else
            {
                this.btnAddOrUpdate.Text = "Add";
            }
        }
        public void showdataCode(string id)
        {
            using (SqlConnection conn = new SqlConnection(constring))
            {
                conn.Open();
                string sql = "SELECT * FROM T_CodeTable WHERE ID=@ID";
                SqlCommand cmd = new SqlCommand(sql, conn);
                cmd.Parameters.Add(new SqlParameter("@ID", id));
                SqlDataReader dr = cmd.ExecuteReader();
                if (dr.Read())
                {
                    ddlCodeType.SelectedItem.Text = dr.GetString(1);
                    txtCodeName.Text = dr.GetString(2);
                    TxtCodeDes.Text = dr.IsDBNull(3) ? null : dr.GetString(3);
                    txtCodeOrder.Text = Convert.ToString(dr.GetInt32(4));
                    txtCreateBy.Text = dr.IsDBNull(8) ? null : dr.GetString(8);
                    txtCreateTime.Text = dr.GetDateTime(5).ToString();
                    txtModifyBy.Text = dr.IsDBNull(7) ? null : dr.GetString(7);
                    txtModifyTime.Text = dr.IsDBNull(6) ? null : dr.GetString(6);
                    ckIsActive.Checked = (Boolean)dr.GetBoolean(9);
                }
            }
        }
        public void codeUpdate(string id)
        {
            this.txtCreateTime.Visible = false;
            this.txtModifyTime.Text = DateTime.Now.ToShortTimeString();
            this.txtModifyTime.Visible = false;
            using (SqlConnection con = new SqlConnection(constring))
            {
                string sql = "UPDATE T_CodeTable SET CodeType=@codetype,CodeName=@codename,CodeDescription=@codedescription,CodeOrder=@codeorder,ModifyTime=@modifytime,IsActive=@isactive WHERE ID=@id ";
                con.Open();
                SqlCommand cmd = new SqlCommand(sql, con);
                cmd.Parameters.Add(new SqlParameter("@codetype", System.Data.SqlDbType.VarChar));
                cmd.Parameters["@codetype"].Value = ddlCodeType.Text.Trim();
                cmd.Parameters.Add(new SqlParameter("@codename", System.Data.SqlDbType.VarChar));
                cmd.Parameters["@codename"].Value = txtCodeName.Text.Trim();
                cmd.Parameters.Add(new SqlParameter("@codeorder", System.Data.SqlDbType.Int));
                cmd.Parameters["@codeorder"].Value = Convert.ToInt32(txtCodeOrder.Text.ToString());
                cmd.Parameters.Add(new SqlParameter("@codedescription", System.Data.SqlDbType.VarChar));
                cmd.Parameters["@codedescription"].Value = TxtCodeDes.Text.ToString();
                cmd.Parameters.Add(new SqlParameter("@modifytime", System.Data.SqlDbType.DateTime));
                cmd.Parameters["@modifytime"].Value = DateTime.Now.ToShortTimeString();
                cmd.Parameters.Add(new SqlParameter("@isactive", System.Data.SqlDbType.Bit));
                cmd.Parameters["@isactive"].Value = ckIsActive.Checked;
                cmd.Parameters.Add(new SqlParameter("@id", System.Data.SqlDbType.UniqueIdentifier));
                cmd.Parameters["@id"].Value = Codeid;
                if (cmd.ExecuteNonQuery() > 0)
                {
                    Response.Write("<Script language=javascript>alert('Update success');location='CodeTableUpdate.aspx'</Script>");
                }
            }
        }
        public void codeAdd()
        {
            this.txtCreateTime.Text = DateTime.Now.ToShortTimeString();
            this.txtCreateTime.Visible = false;
            this.txtModifyTime.Visible = false;
            string sql = "INSERT INTO T_CodeTable(CodeType,CodeName,CodeDescription,CodeOrder,CreateTime,CreateBy) VALUES('" + ddlCodeType.SelectedItem.Text + "','" + txtCodeName.Text + "','" + TxtCodeDes + "','" + Convert.ToInt32(txtCodeOrder.Text.Trim()) + "','" + DateTime.Now.ToShortTimeString() + "','" + txtCreateBy.Text.Trim() + "')";
            using (SqlConnection conn = new SqlConnection(constring))
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand(sql, conn);
                if (cmd.ExecuteNonQuery() > 0)
                {
                    Response.Write("<Script language=javascript>alert('Add success');location='CodeTableUpdate.aspx'</Script>");
                }
            }
        }
        protected void btnAddOrUpdate_Click(object sender, EventArgs e)
        {
            moveOrder(txtCodeOrder.Text.ToString());
            if (btnAddOrUpdate.Text == "Update")
            {
                codeUpdate(Codeid);
            }
            else if (btnAddOrUpdate.Text == "Add")
            {
                codeAdd();
            }
        }
        public void moveOrder(string order)
        {
            int mvstart = Convert.ToInt32(order);
            using (SqlConnection conn = new SqlConnection(constring))
            {
                conn.Open();
                string sql = "SELECT MAX(CodeOrder) FROM T_CodeTable WHERE CodeType='" + ddlCodeType.Text.ToString() + "'";
                SqlCommand cmd = new SqlCommand(sql, conn);
                int max = Convert.ToInt32(cmd.ExecuteScalar());
                if (max > mvstart)
                {
                    string ssql = "UPDATE T_CodeTable SET CodeOrder=CoderOrder+1 WHERE CodeOrder>'" + mvstart + "'and CodeOrder<='" + max + "'";
                    cmd = new SqlCommand(ssql, conn);
                    cmd.ExecuteNonQuery();
                }
            }
        }
    }