private void importExcel(string dir, string file)
        {
            System.Globalization.CultureInfo ci = System.Globalization.CultureInfo.CreateSpecificCulture("vi-VN");
            string Excelstrcon = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dir + file + @";Extended Properties=""Excel 8.0;HDR=YES;""";

            string          SQLstr   = "SELECT * FROM [Sheet1$]";
            OleDbConnection ExcelCon = new OleDbConnection(Excelstrcon);

            ExcelCon.Open();

            OleDbCommand     dbCommand   = new OleDbCommand(SQLstr, ExcelCon);
            OleDbDataAdapter dataAdapter = new OleDbDataAdapter(dbCommand);

            DataTable dTable = new DataTable();

            try
            {
                dataAdapter.Fill(dTable);
                int    idx       = 1;
                string TenChuong = "";
                int    So        = 0;
                foreach (DataRow r in dTable.Rows)
                {
                    if (r["KhayAp"].ToString() == "0")
                    {
                        break;
                    }
                    string NV = "";
                    if (r["NV"] != DBNull.Value)
                    {
                        NV = r["NV"].ToString();
                    }
                    if (NV != "")
                    {
                        NV = "@" + NV.Replace(" ", "").Replace(",", "@@") + "@";
                    }
                    string vc = r["ViCat"].ToString();
                    if (vc.Length == 1)
                    {
                        vc = "0" + vc;
                    }
                    csCont.ParseChuong(r["Chuong"].ToString().Trim(), out TenChuong, out So);
                    DataTable dtCa = csCont.TheoDoiDe_GetCaDeByLoaiCaByChuongByViCat(vc, Convert.ToInt32(r["LoaiCa"]), TenChuong, So, Convert.ToDateTime(r["NgayVaoAp"]));
                    if (dtCa.Rows.Count == 1)
                    {
                        DataRow       rCa = dtCa.Rows[0];
                        TheoDoiDeInfo tdd = new TheoDoiDeInfo();

                        tdd.ID                = 0;
                        tdd.CaMe              = Convert.ToInt32(rCa["IDCaSau"]);
                        tdd.NgayVaoAp         = Convert.ToDateTime(r["NgayVaoAp"]);
                        tdd.KhayAp            = Convert.ToInt32(r["KhayAp"]);
                        tdd.PhongAp           = Convert.ToInt32(r["PhongAp"]);
                        tdd.TrongLuongTrungBQ = Convert.ToInt32(r["TLTBQ"]);
                        tdd.TrungDe           = Convert.ToInt32(r["TrungDe"]);
                        if (r["TrungVo"].ToString() == "")
                        {
                            tdd.TrungVo = 0;
                        }
                        else
                        {
                            tdd.TrungVo = Convert.ToInt32(r["TrungVo"]);
                        }
                        tdd.TrungThaiLoai = 0;
                        if (r["TrungKhongPhoi"].ToString() == "")
                        {
                            tdd.TrungKhongPhoi = 0;
                        }
                        else
                        {
                            tdd.TrungKhongPhoi = Convert.ToInt32(r["TrungKhongPhoi"]);
                        }
                        if (r["TrungChetPhoi1"].ToString() == "")
                        {
                            tdd.TrungChetPhoi1 = 0;
                        }
                        else
                        {
                            tdd.TrungChetPhoi1 = Convert.ToInt32(r["TrungChetPhoi1"]);
                        }
                        if (r["TrungChetPhoi2"].ToString() == "")
                        {
                            tdd.TrungChetPhoi2 = 0;
                        }
                        else
                        {
                            tdd.TrungChetPhoi2 = Convert.ToInt32(r["TrungChetPhoi2"]);
                        }
                        if (r["NgayNo"].ToString() != "")
                        {
                            tdd.NgayNo = Convert.ToDateTime(r["NgayNo"]);
                            if (tdd.NgayNo < Config.NgayKhoaSo())
                            {
                                lblMessage.Text += "<br/>Dòng " + idx.ToString() + " không import được do ngày nở trước ngày khóa sổ";
                                idx++;
                                continue;
                            }
                            if (tdd.NgayNo < tdd.NgayVaoAp)
                            {
                                lblMessage.Text += "<br/>Dòng " + idx.ToString() + " không import được do ngày nở trước ngày vào ấp";
                                idx++;
                                continue;
                            }
                        }
                        if (r["KhayUm"].ToString() != "")
                        {
                            tdd.KhayUm = Convert.ToInt32(r["KhayUm"]);
                        }
                        if (r["TrongLuongConBQ"].ToString() != "")
                        {
                            tdd.TrongLuongConBQ = Convert.ToInt32(r["TrongLuongConBQ"]);
                        }
                        if (r["ChieuDaiBQ"].ToString() != "")
                        {
                            tdd.ChieuDaiBQ = Convert.ToInt32(r["ChieuDaiBQ"]);
                        }
                        if (r["VongBungBQ"].ToString() != "")
                        {
                            tdd.VongBungBQ = Convert.ToInt32(r["VongBungBQ"]);
                        }
                        tdd.Chet1_30Ngay = 0;
                        if (tdd.NgayNo == null)
                        {
                            tdd.Status = 0;
                        }
                        else
                        {
                            tdd.Status = 1;
                        }
                        string arrLyDoThaiLoaiTrung = "@1@";
                        string arrSoLuong           = "";
                        if (r["TrungThaiLoai"].ToString() == "")
                        {
                            arrSoLuong = "@0@";
                        }
                        else
                        {
                            arrSoLuong = "@" + r["TrungThaiLoai"].ToString() + "@";
                        }
                        int IDTDD = 0;
                        int res1  = csCont.InsertTheoDoiDe(tdd, UserId, arrLyDoThaiLoaiTrung, arrSoLuong, NV, out IDTDD);
                    }
                    else if (dtCa.Rows.Count == 0)
                    {
                        lblMessage.Text += "<br/>Dòng " + idx.ToString() + " không import được do không có cá thích hợp.";
                    }
                    idx++;
                }

                // dispose used objects
                dTable.Dispose();
                dataAdapter.Dispose();
                dbCommand.Dispose();
                ExcelCon.Close();
                ExcelCon.Dispose();

                lblMessage.Text += "<br/>Đã import xong!";
            }
            catch (Exception ex)
            {
                // dispose used objects
                dTable.Dispose();
                dataAdapter.Dispose();
                dbCommand.Dispose();
                ExcelCon.Close();
                ExcelCon.Dispose();
                Response.Write(ex.ToString());
            }
        }
 protected void btnSave_Click(object sender, EventArgs e)
 {
     try
     {
         TheoDoiDeInfo tdd = new TheoDoiDeInfo();
         tdd.ID   = Convert.ToInt32(hdIDTDD.Value);
         tdd.CaMe = int.Parse(ddlCaMe.SelectedValue);
         if (txtNgayVaoAp.Text != "")
         {
             tdd.NgayVaoAp = DateTime.Parse(txtNgayVaoAp.Text, ci);
         }
         if (ddlKhayAp.SelectedValue != "0")
         {
             tdd.KhayAp = int.Parse(ddlKhayAp.SelectedValue);
         }
         if (ddlPhongAp.SelectedValue != "0")
         {
             tdd.PhongAp = int.Parse(ddlPhongAp.SelectedValue);
         }
         if (txtTLTBQ.Text != "")
         {
             tdd.TrongLuongTrungBQ = int.Parse(txtTLTBQ.Text);
         }
         if (txtTrungDe.Text != "")
         {
             tdd.TrungDe = int.Parse(txtTrungDe.Text);
         }
         else
         {
             tdd.TrungDe = 0;
         }
         if (txtTrungVo.Text != "")
         {
             tdd.TrungVo = int.Parse(txtTrungVo.Text);
         }
         else
         {
             tdd.TrungVo = 0;
         }
         if (txtTrungKhongPhoi.Text != "")
         {
             tdd.TrungKhongPhoi = int.Parse(txtTrungKhongPhoi.Text);
         }
         else
         {
             tdd.TrungKhongPhoi = 0;
         }
         if (txtTrungChetPhoi1.Text != "")
         {
             tdd.TrungChetPhoi1 = int.Parse(txtTrungChetPhoi1.Text);
         }
         else
         {
             tdd.TrungChetPhoi1 = 0;
         }
         if (txtTrungChetPhoi2.Text != "")
         {
             tdd.TrungChetPhoi2 = int.Parse(txtTrungChetPhoi2.Text);
         }
         else
         {
             tdd.TrungChetPhoi2 = 0;
         }
         if (txtNgayNo.Text != "")
         {
             tdd.NgayNo = DateTime.Parse(txtNgayNo.Text, ci);
             if (tdd.NgayNo < Config.NgayKhoaSo())
             {
                 Page.ClientScript.RegisterStartupScript(typeof(string), "insertupdatefail", "alert('Ngày nở không được trước ngày khóa sổ!');", true);
                 return;
             }
             if (tdd.NgayNo < tdd.NgayVaoAp)
             {
                 Page.ClientScript.RegisterStartupScript(typeof(string), "insertupdatefail", "alert('Ngày vào ấp không được sau ngày nở!');", true);
                 return;
             }
         }
         if (ddlKhayUm.SelectedValue != "0" && ddlKhayUm.SelectedValue != "")
         {
             tdd.KhayUm = int.Parse(ddlKhayUm.SelectedValue);
         }
         if (txtTLCBQ.Text != "")
         {
             tdd.TrongLuongConBQ = int.Parse(txtTLCBQ.Text);
         }
         if (txtCDBQ.Text != "")
         {
             tdd.ChieuDaiBQ = decimal.Parse(txtCDBQ.Text);
         }
         if (txtVBBQ.Text != "")
         {
             tdd.VongBungBQ = decimal.Parse(txtVBBQ.Text);
         }
         //Tuong thich
         tdd.Chet1_30Ngay = 0;
         if (tdd.NgayNo == null)
         {
             tdd.Status          = 0;
             tdd.KhayUm          = null;
             tdd.TrongLuongConBQ = 0;
             tdd.VongBungBQ      = 0;
             tdd.ChieuDaiBQ      = 0;
         }
         else
         {
             tdd.Status = 1;
         }
         tdd.Note = txtNote.Text;
         int    result;
         string arrLyDoThaiLoaiTrung = "";
         string arrSoLuong           = "";
         tdd.TrungThaiLoai = 0;
         foreach (GridViewRow r in grvDanhSach.Rows)
         {
             if (r.RowType == DataControlRowType.DataRow)
             {
                 TextBox txtSoLuong           = (TextBox)(r.FindControl("txtSoLuong"));
                 Button  btnSaveThaiLoaiTrung = (Button)(r.FindControl("btnSaveThaiLoaiTrung"));
                 int     soluong = 0;
                 arrLyDoThaiLoaiTrung += "@" + btnSaveThaiLoaiTrung.CommandArgument + "@";
                 if (int.TryParse(txtSoLuong.Text, out soluong) && soluong > 0)
                 {
                     arrSoLuong        += "@" + txtSoLuong.Text + "@";
                     tdd.TrungThaiLoai += soluong;
                 }
                 else
                 {
                     arrSoLuong += "@0@";
                 }
             }
         }
         string arrNhanVien    = Config.GetSelectedValues_At(lstNhanVien);
         string lnkListCaSauDe = DotNetNuke.Common.Globals.NavigateURL(PortalSettings.ActiveTab.TabID, "", "mid/" + this.ModuleId.ToString());
         if (tdd.ID != 0)
         {
             result = csCont.UpdateTheoDoiDe(tdd, UserId, CountSoTrungNo(), arrLyDoThaiLoaiTrung, arrSoLuong, arrNhanVien);
             if (result == 1)
             {
                 Page.ClientScript.RegisterStartupScript(typeof(string), "insertsuccess", "alert('Cập nhật thành công!');window.location='" + lnkListCaSauDe + "';", true);
             }
             else if (result == -1)
             {
                 Page.ClientScript.RegisterStartupScript(typeof(string), "insertsuccess", "alert('Không cập nhật được do đã có cá con chết hoặc giết mổ hoặc bán!');", true);
             }
             else if (result == -2)
             {
                 Page.ClientScript.RegisterStartupScript(typeof(string), "insertsuccess", "alert('Cá mẹ không hợp lệ!');", true);
             }
             else if (result == -3)
             {
                 Page.ClientScript.RegisterStartupScript(typeof(string), "insertsuccess", "alert('Ngày nở không hợp lệ!');", true);
             }
             else if (result == -4)
             {
                 Page.ClientScript.RegisterStartupScript(typeof(string), "insertsuccess", "alert('Cá mẹ hoặc ngày nở không hợp lệ!');", true);
             }
             else if (result == -5)
             {
                 Page.ClientScript.RegisterStartupScript(typeof(string), "insertsuccess", "alert('Số trứng nở mới ít hơn số trứng nở cũ: không hợp lệ!');", true);
             }
             else if (result == -1000)
             {
                 Page.ClientScript.RegisterStartupScript(typeof(string), "insertsuccess", "alert('Cá này đã đẻ trong năm này rồi!');", true);
             }
             else
             {
                 Page.ClientScript.RegisterStartupScript(typeof(string), "insertsuccess", "alert('Cập nhật không thành công!');", true);
             }
         }
         else
         {
             int IDTDD = 0;
             result = csCont.InsertTheoDoiDe(tdd, UserId, arrLyDoThaiLoaiTrung, arrSoLuong, arrNhanVien, out IDTDD);
             if (IDTDD != 0)
             {
                 hdIDTDD.Value  = IDTDD.ToString();
                 Delete.Visible = true;
                 Page.ClientScript.RegisterStartupScript(typeof(string), "insertsuccess", "alert('Đã thêm xong!');window.location='" + lnkListCaSauDe + "';", true);
             }
             else
             {
                 Page.ClientScript.RegisterStartupScript(typeof(string), "insertfail", "alert('Không thêm được do cá này đã đẻ trong năm này rồi!');", true);
             }
         }
         //if (result == -1)
         //{
         //    Page.ClientScript.RegisterStartupScript(typeof(string), "insertupdatefail", "alert('Cập nhật không thành công!');", true);
         //}
         //else
         //{
         //    Page.ClientScript.RegisterStartupScript(typeof(string), "insertsuccess", "alert('Cập nhật thành công!');", true);
         //}
     }
     catch (Exception ex)
     {
         Response.Write(ex.Message);
     }
 }