using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
 
public partial class stu_add : System.Web.UI.Page
{
    private LinkDatabase link = new LinkDatabase();
   
    protected void Page_Load(object sender, EventArgs e)
    {        if (!Page.IsPostBack)
        {
            MultiView1.ActiveViewIndex = 0;
            bind();
            filldgv();
        }
    }    void bind()
    {
        LinkDatabase link = new LinkDatabase();
        DataTable ds_dgv = new DataTable();
        string s = "select stu_num from studentxx";
        ds_dgv = link.SelectDatabase(s);
       
    }    void filldgv()
    {        DataTable table = new DataTable();
        table.Columns.Add(new DataColumn("stu_num"));
        table.Columns.Add(new DataColumn("stu_cname"));
        table.Columns.Add(new DataColumn("stu_cpost"));
        table.Columns.Add(new DataColumn("stu_ctel"));
       
        string sql = "select stu_num,stu_cname,stu_cpost,stu_ctel from studentcontact where stu_num='" + txt_num.Text + "'";
        DataTable dt = link.SelectDatabase(sql);
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            DataRow row = table.NewRow();
            row["stu_num"] = Guid.NewGuid().ToString();
            row["stu_cname"] = dt.Rows[i]["stu_cname"].ToString();
            row["stu_cpost"] = dt.Rows[i]["stu_cpost"].ToString();
            row["stu_ctel"] = dt.Rows[i]["stu_ctel"].ToString();
            table.Rows.Add(row);
        }
        GridView1.DataSource = table;
        GridView1.DataBind();
        ViewState["inidt"] = table;    }    
    protected void bn_add_Click(object sender, EventArgs e)
    {        if (add() == true && datastatus() == true)        //int a = list_sql.Count;
        //int count = link.UpdateDatabase(list_sql);
        //if (count > 0)
        {            lbl_message.Text = "添加成功";
            lbl_message.Visible = true;
            return;
        }
        else
        {            lbl_message.Text = "添加失敗";
            lbl_message.Visible = true;
        }
        string sql = "select stu_num,stu_cname,stu_cpost,stu_ctel from studentcontact where stu_num='" + txt_num.Text + "'";
        DataTable dt = link.SelectDatabase(sql);               
            }    private bool add()
    {
        bool flag = true;
        if (txt_num.Text == "" && txt_name.Text == "")
        {
            //Response.Write("<script>alert(\"編號和名稱不能為空!\")</script>");
            lbl_message.Text = "学號和名稱不能為空!";
            lbl_message.Visible = true;
            Label1.Text = "*";
            Label2.Text = "*";
            flag = false;
        }        else
        {
            if (txt_bd.Text == "" || txt_zy.Text == "" || txt_xb.Text == "" || txt_a.Text == "" || txt_tel.Text == "" || txt_fax.Text == "" || txt_mz.Text == "" || txt_mail.Text == "" || txt_zzmm.Text == "" || txt_qq.Text == "")
            
            {
                lbl_message.Text = "您輸入的信息不完整,請重新輸入!";
                lbl_message.Visible = true;
                flag = false;
            }
            else
            {
                string bj = ddl_bj.SelectedValue;
                string no = txt_num.Text;
                string name = txt_name.Text;
                string bday = txt_bd.Text;
                string sex = txt_xb.Text;
                string dz = txt_a.Text;
                string zy = txt_zy.Text;
                string tel = txt_tel.Text;
                string fax = txt_fax.Text;
                string mz = txt_mz.Text;
                string zm = txt_zzmm.Text;
                string qq = txt_qq.Text;
                string mail = txt_mail.Text;
                LinkDatabase link = new LinkDatabase();
                int a = link.code_Id("select * from studentxx where stu_num = '" + txt_num.Text + "'");
                if (a > 0)
                {
                    lbl_message.Text = "已存在相同数据";
                    lbl_message.Visible = true;
                    flag = false;
                }
                else
              {
                int n = link.UpdateDatabase("insert into studentxx(stu_num,stu_name,stu_bj,stu_bday,stu_sex,stu_ads,stu_zy,stu_tel,stu_fax,stu_mz,stu_zzmm,stu_qq,stu_mail)values('" + no + "','" + name + "','" + bj + "','" + bday + "','" + sex + "','" + dz + "','" + zy + "','" + tel + "','" + fax + "','" + mz + "','" + zm + "','" + qq + "','" + mail + "')");
                if (n > 0)
                {
                    lbl_message.Text = "添加成功";
                    lbl_message.Visible = true;
                }
                else
                {
                    lbl_message.Text = "添加失败";
                    lbl_message.Visible = true;
                    flag = false;
                }
              }
                bind();
            }
        }
        return flag;    }    protected void bn_exit_Click(object sender, EventArgs e)
    {
        Response.Redirect("index.aspx");
    }    protected void Button1_Click(object sender, EventArgs e)
    {
        MultiView1.ActiveViewIndex = 0;
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        MultiView1.ActiveViewIndex = 1;
    }
    protected void lbtnAddRow_Click(object sender, EventArgs e)
    {
        this.GridView1.Focus();
        DataTable table = GetGridViewData();
        DataRow newRow = table.NewRow();
        newRow["stu_num"] = Guid.NewGuid().ToString();
        table.Rows.Add(newRow);
        GridView1.DataSource = table;
        GridView1.DataBind();
    }    private DataTable GetGridViewData()
    {
        DataTable table = new DataTable();
        table.Columns.Add(new DataColumn("stu_num"));
        table.Columns.Add(new DataColumn("stu_cname"));
        table.Columns.Add(new DataColumn("stu_cpost"));
        table.Columns.Add(new DataColumn("stu_ctel"));
        foreach (GridViewRow row in GridView1.Rows)
        {            DataRow sourseRow = table.NewRow();
            sourseRow["stu_num"] = row.Cells[0].Text;
            sourseRow["stu_cname"] = ((TextBox)row.Cells[3].FindControl("txtcname")).Text;
            sourseRow["stu_cpost"] = ((TextBox)row.Cells[4].FindControl("txtcpost")).Text;
            sourseRow["stu_ctel"] = ((TextBox)row.Cells[5].FindControl("txtctel")).Text;
          
            table.Rows.Add(sourseRow);        }
        return table;
    }    protected void btnDeleteRow_Click(object sender, EventArgs e)
    {
        DataTable table = GetGridViewData();
        foreach (GridViewRow row in GridView1.Rows)
        {
            if (((HtmlInputCheckBox)row.Cells[2].FindControl("chkRow")).Checked)
            {
                foreach (DataRow dtRow in table.Rows)
                {
                    if (dtRow["stu_num"].ToString() == row.Cells[0].Text)
                    {
                        table.Rows.Remove(dtRow);
                        break;
                    }
                }
            }
        }
        GridView1.DataSource = table;
        GridView1.DataBind();
    }    bool datastatus()
    {
        bool flag = true;
        DataTable dt_status = new DataTable();
        dt_status.Columns.Add("stu_cname");
        dt_status.Columns.Add("stu_cpost");
        dt_status.Columns.Add("stu_ctel");
        dt_status.Columns.Add("STATUS");        DataTable dt = GetGridViewData();
        for (int i = 0; i < dt.Rows.Count; i++)
        {            string stt_cname = dt.Rows[i]["stu_cname"].ToString();
            string st_cpost = dt.Rows[i]["stu_cpost"].ToString();
            string st_ctel = dt.Rows[i]["stu_ctel"].ToString();
            string st_code = txt_num.Text;
            DataRow[] drr = ((DataTable)ViewState["inidt"]).Select("stu_cname like '" + stt_cname + "'" );
            if (drr.Length == 0)
            {
                //string code1 = "";
                //string code2 = "";
                if (dt.Rows.Count >= 2)
                {
                    for (int k = 0; k < dt.Rows.Count - 1; k++)
                    {
                        for (int j = k + 1; j < dt.Rows.Count; j++)
                        {
                            string c1 = dt.Rows[k]["stu_cname"].ToString();
                            string c2 = dt.Rows[j]["stu_cname"].ToString();
                            if (c1 == c2)
                            {
                                this.lbl_message.Text = c1 + " 编號重複!";                                return flag = false;
                            }
                            else {
                                string sql = "insert into studentcontact(stu_num,stu_cname,stu_cpost,stu_ctel)values('" + st_code + "','" + stt_cname + "','" + st_cpost + "','" + st_ctel + "')";
                                link.UpdateDatabase(sql);
                            }
                        }
                    }
                    
                    
                }
                
            }
          
            ViewState.Clear();
            filldgv();        }
        return flag;
    }}label