public void napDulieu()
 {
     if (Session["UserID"] == null) Response.End();
     iUserID = Convert.ToInt32(Session["UserID"].ToString());
     oCosonuoitrong = CosonuoitrongBRL.GetByFK_iUserID(iUserID)[0];
     lblTencoso.Text = oCosonuoitrong.sTencoso;
     lblNguoidaidien.Text = oCosonuoitrong.sTenchucoso;
     lblSodienthoai.Text = oCosonuoitrong.sDienthoai;
     lblDiachiCoso.Text = "Xã " + oCosonuoitrong.sXa + ", ấp " + oCosonuoitrong.sAp;
 }
 public void napDulieu()
 {
     if (Session["UserID"] != null)
     {
         if (Session["GroupID"] != null && Convert.ToByte(Session["GroupID"].ToString()) == 1)
         {
             if (Session["iCosonuoitrongID"] != null)
             {
                 int iCosonuoitrongID = Convert.ToInt32(Session["iCosonuoitrongID"]);
                 oCosonuoitrong = CosonuoitrongBRL.GetOne(iCosonuoitrongID);
                 Cosonuoitrong = oCosonuoitrong;
             }
         }
         else
         {
             iUserID = Convert.ToInt32(Session["UserID"].ToString());
             List<CosonuoitrongEntity> lstCosonuoitrong = CosonuoitrongBRL.GetByFK_iUserID(iUserID);
             if (lstCosonuoitrong.Count > 0)
                 oCosonuoitrong = lstCosonuoitrong[0];
             else
             {
                 oCosonuoitrong = null;
                 Response.Write("<script>alert('Không có cơ sở nuôi trồng nào đăng ký!');</script>");
                 return;
             }
             Cosonuoitrong = oCosonuoitrong;
         }
         if (oCosonuoitrong != null)
         {
             lblTencoso.Text = oCosonuoitrong.sTencoso;
             lblNguoidaidien.Text = oCosonuoitrong.sTenchucoso;
             lblSodienthoai.Text = oCosonuoitrong.sDienthoai;
             lblDiachiCoso.Text = "Xã " + oCosonuoitrong.sXa + ", ấp " + oCosonuoitrong.sAp;
         }
     }
 }
    protected void rptCosonuoitrong_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        int iTongsanluong = 0, iCosonuoitrongID = 0;
        //float fTongdientich = 0, fTongdientichmatnuoc = 0, fTongdientichAolang = 0;
        CosonuoitrongEntity oCosonuoitrong = new CosonuoitrongEntity();
        if (e.Item.ItemType == ListItemType.Item||e.Item.ItemType== ListItemType.AlternatingItem)
        {
            Literal ltrCosonuoitrongID = (Literal)e.Item.FindControl("ltrCosonuoitrongID");
            Literal ltrDiachi = (Literal)e.Item.FindControl("ltrDiachi");
            if (ltrCosonuoitrongID != null && ltrDiachi != null)
            {
                iCosonuoitrongID = Convert.ToInt32(ltrCosonuoitrongID.Text);
                oCosonuoitrong = CosonuoitrongBRL.GetOne(iCosonuoitrongID);
                QuanHuyenEntity oQuanHuyen = QuanHuyenBRL.GetOne(oCosonuoitrong.FK_iQuanHuyenID);
                if (oCosonuoitrong.sAp.Length > 0)
                    ltrDiachi.Text = oCosonuoitrong.sAp +", ";
                if(oCosonuoitrong.sXa.Length>0)
                    ltrDiachi.Text += oCosonuoitrong.sXa +", ";
                if (oCosonuoitrong.sXa.Length > 0)
                    ltrDiachi.Text += oQuanHuyen.sTen;

                //fTongdientich += oCosonuoitrong.fTongdientich;
                //fTongdientichAolang += oCosonuoitrong.fDientichAolang;
                //fTongdientichmatnuoc += oCosonuoitrong.fTongdientichmatnuoc;
                //iTongsanluong += oCosonuoitrong.iSanluongdukien;
                //Session["fTongdientich"] = fTongdientich;
                //Session["fTongdientichAolang"] = fTongdientichAolang;
                //Session["fTongdientichmatnuoc"] = fTongdientichmatnuoc;
                //Session["iTongsanluong"] = iTongsanluong;
            }
        }
        //else if (e.Item.ItemType == ListItemType.Footer)
        //{
        //    Label lblTongdientich = (Label)e.Item.FindControl("lblTongdientich");
        //    Label lblTongdientichmatnuoc = (Label)e.Item.FindControl("lblTongdientichmatnuoc");
        //    Label lblTongdientichAolang = (Label)e.Item.FindControl("lblTongdientichAolang");
        //    Label lblSanluongdukien = (Label)e.Item.FindControl("lblSanluongdukien");

        //    lblTongdientich.Text = Session["fTongdientich"].ToString();
        //    lblTongdientichAolang.Text = Session["fTongdientichAolang"].ToString();
        //    lblTongdientichmatnuoc.Text = Session["fTongdientichmatnuoc"].ToString();
        //    lblSanluongdukien.Text = Session["iTongsanluong"].ToString();
        //}
    }
    protected void btnExToWord_Click(object sender, EventArgs e)
    {
        oCosonuoitrong = Cosonuoitrong;
        if (oCosonuoitrong == null) return;
        //-----------
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        NodeCollection tables = doc.GetChildNodes(NodeType.Table, true);

        builder.PageSetup.PaperSize = PaperSize.A4;

        builder.PageSetup.Orientation = Aspose.Words.Orientation.Portrait;
        builder.PageSetup.VerticalAlignment = PageVerticalAlignment.Top;
        builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;

        builder.Font.Size = 12;
        builder.Font.Bold = true;
        builder.Writeln("BÁO CÁO ĐÁNH GIÁ NỘI BỘ");
        builder.Font.Bold = false;
        builder.Font.Italic = true;
        builder.Writeln("(Ban hành kèm theo Thông tư số  ............/2011/TT-BNNPTNT");
        builder.Writeln("ngày      tháng    năm 2011 của Bộ trưởng Bộ Nông nghiệp và Phát triển nông thôn)");
        builder.Writeln("");
        builder.Font.Bold = true;
        builder.Font.Italic = false;
        builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;
        builder.Writeln("Kính gửi: …………………………………………………………………………….");
        builder.Writeln("");
        builder.ParagraphFormat.SpaceAfter = 1.5;
        builder.Writeln("I. Thông tin chung");
        builder.Font.Bold = false;
        builder.Font.Size = 13;

        builder.Writeln("1. Tên cơ sở nuôi: " + oCosonuoitrong.sTencoso);
        builder.Writeln("2. Địa chỉ cơ sở nuôi: " + "Xã " + oCosonuoitrong.sXa + ", ấp " + oCosonuoitrong.sAp);
        builder.Writeln("3. Số điện thoại: "+ oCosonuoitrong.sDienthoai +"			Fax:");
        builder.Writeln("4. Người đại diện: " + oCosonuoitrong.sTenchucoso);
        builder.Writeln("5. Số lượng thành viên (nếu cơ sở do một tổ chức làm chủ): ");
        builder.Writeln("");builder.Writeln("");
        builder.Font.Bold = true;
        builder.Font.Size = 12;
        builder.Writeln("Sau khi tiến hành đánh giá nội bộ, Cơ sở nuôi chúng tôi xin gửi tới Quý cơ quan kết quả ");
        builder.Writeln("");
        builder.Writeln("kết quả đánh giá (Bảng 1).");
        builder.Writeln("");builder.Writeln("");
        builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;
        builder.Font.Italic = true;
        builder.Font.Bold = false;
        builder.Writeln("Ngày … tháng … năm …\t                     ");
        builder.Writeln(""); builder.Writeln("");
        //-------Table
        Aspose.Words.Table table = builder.StartTable();
        builder.CellFormat.Width = 260;
        builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
        builder.InsertCell();
        builder.CellFormat.VerticalAlignment = CellVerticalAlignment.Bottom;
        builder.Font.Bold = true;
        builder.Font.Italic = false;
        builder.Writeln("Người đánh giá");
        builder.Font.Bold = false;
        builder.Font.Italic = true;
        builder.Writeln("(Ký, ghi rõ họ tên)");

        builder.InsertCell();
        builder.Font.Bold = true;
        builder.Font.Italic = false;
        builder.Writeln("Đại diện chủ cơ sở nuôi");
        builder.Font.Bold = false;
        builder.Font.Italic = true;
        builder.Writeln("(Ký, ghi rõ họ tên)");
        builder.EndRow();

        builder.EndTable();
        //--------end table
        /*
         * Lưu file
         */
        doc.Save("Baocaonoibo_"+ oCosonuoitrong.sMaso_vietgap +".doc", SaveFormat.Doc, SaveType.OpenInBrowser, Response);
    }
    private void taoCSNT_giadinh()
    {
        try
        {

            //Thêm cơ sở nuôi trồng giả định
            List<ToadoEntity> lstToado = ToadoBRL.GetAll();
            List<DoituongnuoiEntity> lstDoituong = DoituongnuoiBRL.GetAll();
            List<HinhthucnuoiEntity> lstHinhthuc = HinhthucnuoiBRL.GetAll();
            CosonuoitrongEntity oCoso = new CosonuoitrongEntity();
            oCoso.sTencoso = "Tên cơ sở";
            oCoso.sTenchucoso = "Tên chủ cơ sở";
            oCoso.FK_iQuanHuyenID = 2;
            oCoso.FK_iToadoID = lstToado[0].PK_iToadoID;
            oCoso.FK_iDoituongnuoiID = lstDoituong[0].PK_iDoituongnuoiID;
            oCoso.FK_iHinhthucnuoiID = lstHinhthuc[0].PK_iHinhthucnuoiID;
            fk_user = Convert.ToInt32(Session["userID"].ToString());
            oCoso.FK_iUserID = fk_user;
            oCoso.FK_iTochucchungnhanID = Convert.ToInt32(ddlTochucchungnhan.SelectedValue);
            iCosonuoitrongID = CosonuoitrongBRL.Add(oCoso);
            FK_iCosonuoitrong.Value = iCosonuoitrongID.ToString();
            btnDKThongtinCoSoNuoi.CommandName = "ADD";

            lblLoi.Text = "";
            pnCSNT.Visible = true;
        }
        catch (Exception ex)
        {
            lblLoi.Text = ex.Message.ToString();
        }
    }
    protected void btnRegistry_Click(object sender, EventArgs e)
    {
        ccJoin.ValidateCaptcha(txtCapcha.Text);
        if (!ccJoin.UserValidated)
        {
            lblLoi.Text = "Mã xác nhận không đúng!";
            return;
        }
        try
        {
            string password = INVISecurity.MD5(txtPassword.Text);

            UserEntity us = new UserEntity();
            us.sUsername = txtUsername.Text;
            us.sPassword = password;
            us.sEmail = txtEmail.Text;
            us.bActive = false;
            us.tLastVisit = DateTime.Now;
            us.sIP = Request.ServerVariables["REMOTE_ADDR"].Trim();
            us.iGroupID = 2;
            fk_user = UserBRL.Add(us);

            FK_iUser.Value = fk_user.ToString();
            lblLoi.Text = "Tài khoản đã được tạo thành công";
            pnDangKyTV.Visible = false;
            //Thêm cơ sở nuôi trồng giả định
            List<ToadoEntity> lstToado = ToadoBRL.GetAll();
            List<DoituongnuoiEntity> lstDoituong = DoituongnuoiBRL.GetAll();
            List<HinhthucnuoiEntity> lstHinhthuc = HinhthucnuoiBRL.GetAll();
            CosonuoitrongEntity oCoso = new CosonuoitrongEntity();
            oCoso.sTencoso = "Tên cơ sở";
            oCoso.sTenchucoso = "Tên chủ cơ sở";
            oCoso.FK_iQuanHuyenID = 2;
            oCoso.FK_iToadoID = lstToado[0].PK_iToadoID;
            oCoso.FK_iDoituongnuoiID = lstDoituong[0].PK_iDoituongnuoiID;
            oCoso.FK_iHinhthucnuoiID = lstHinhthuc[0].PK_iHinhthucnuoiID;
            oCoso.FK_iUserID = fk_user;
            // Lấy thông tin về Tổ chức chứng nhận
            // Dựa trên User và GroupID
            // Từ đó lấy được ID của Tổ chức chứng nhận
            if(Session["userID"]!=null)
            {
                int iUserID_TCCN = Convert.ToInt32(Session["userID"].ToString());
                List<TochucchungnhanTaikhoanEntity> lstTochucTaikhoan = TochucchungnhanTaikhoanBRL.GetByFK_iTaikhoanID(iUserID_TCCN);
                if (lstTochucTaikhoan.Count > 0)
                {
                    oCoso.FK_iTochucchungnhanID = lstTochucTaikhoan[0].FK_iTochucchungnhanID;
                }
                else
                {
                    Response.Write("<script>alert('Tổ chức chứng nhận không hợp lệ!');</script>");
                }
            }
            try
            {
                iCosonuoitrongID = CosonuoitrongBRL.Add(oCoso);
            }
            catch // Không thêm được thì mới xóa User đi
            {
                UserBRL.Remove(fk_user);
            }
            if (fk_user > 0)
            {
                TaiKhoanDangKyToChucChungNhanEntity oTaikhoandangkyVoiTCCN = new TaiKhoanDangKyToChucChungNhanEntity();
                oTaikhoandangkyVoiTCCN.bDuyet = false;
                oTaikhoandangkyVoiTCCN.dNgaydangky = DateTime.Today;
                oTaikhoandangkyVoiTCCN.FK_iTaikhoanID = fk_user;
                oTaikhoandangkyVoiTCCN.FK_iTochucchungnhanID = oCoso.FK_iTochucchungnhanID;
                TaiKhoanDangKyToChucChungNhanBRL.Add(oTaikhoandangkyVoiTCCN);
            }
            FK_iCosonuoitrong.Value = iCosonuoitrongID.ToString();
            btnDKThongtinCoSoNuoi.CommandName = "Edit";
            //List<UserEntity> list = UserBRL.GetAll();
            //list.Sort(
            //    delegate(UserEntity firstEntity, UserEntity secondEntity)
            //    {
            //        return secondEntity.iUserID.CompareTo(firstEntity.iUserID);
            //    }
            //);
            //fk_user = list[0].iUserID;
            SendEmailVerificationToUser(txtUsername.Text, fk_user.ToString());
            lblLoi.Text = "";
            pnDangKyTV.Visible = false;
            pnCSNT.Visible = true;
        }
        catch (Exception ex)
        {
            lblLoi.Text = ex.Message.ToString();

        }
    }
    private void EditCosonuoitrong()
    {
        CosonuoitrongEntity oCosonuoitrong = null;
        try
        {

            if (iCosonuoitrongID > 0)
            {
                oCosonuoitrong = CosonuoitrongBRL.GetOne(iCosonuoitrongID);
            }
            else
            {
                oCosonuoitrong = new CosonuoitrongEntity();
            }
            oCosonuoitrong.sTencoso = txtTenCoSo.Text;
            oCosonuoitrong.sTenchucoso = txtTenChuCoSo.Text;
            oCosonuoitrong.FK_iQuanHuyenID = int.Parse(ddlHuyen.SelectedValue);
            oCosonuoitrong.sXa = txtXa.Text;
            oCosonuoitrong.sAp = txtAp.Text;
            oCosonuoitrong.sDienthoai = txtDienThoai.Text;
            oCosonuoitrong.fTongdientich = float.Parse(txtTongDienTichCoSoNuoi.Text);
            oCosonuoitrong.fTongdientichmatnuoc = float.Parse(txtTongDienTichMatNuoc.Text);
            oCosonuoitrong.fDientichAolang = float.Parse(txtDienTichAoLang.Text);
            if (fuSoDoAoNuoi.HasFile)
            {
                INVIHelper.UploadImage(fuSoDoAoNuoi);
                oCosonuoitrong.sSodoaonuoi = fuSoDoAoNuoi.FileName;
            }
            oCosonuoitrong.FK_iDoituongnuoiID = int.Parse(ddlDoituongnuoi.SelectedValue);
            oCosonuoitrong.FK_iHinhthucnuoiID = int.Parse(ddlHinhThucNuoi.SelectedValue);
            oCosonuoitrong.iChukynuoi = int.Parse(txtChuKyNuoi.Text);
            oCosonuoitrong.iNamsanxuat = int.Parse(ddlNamSanXuat.SelectedValue);
            oCosonuoitrong.iSanluongdukien = int.Parse(txtSanluongdukien.Text);
            oCosonuoitrong.PK_iCosonuoitrongID = iCosonuoitrongID;
            if (Session["userID"] != null)
                oCosonuoitrong.FK_iUserID = Convert.ToUInt32(Session["userID"].ToString());
            //Cập nhật lại tọa độ
            if (oCosonuoitrong!=null && oCosonuoitrong.FK_iToadoID > 0)
            {
                ToadoEntity oToado = ToadoBRL.GetOne(oCosonuoitrong.FK_iToadoID);
                oToado.Latitude = txtViDo1.Text;
                oToado.Longitude = txtKinhDo1.Text;
                ToadoBRL.Edit(oToado);
                Session["iCosonuoitrongID"] = null;
            }
            else
            {
                ToadoEntity oToado = new ToadoEntity();
                oToado.Latitude = txtViDo1.Text;
                oToado.Longitude = txtKinhDo1.Text;
                ToadoBRL.Add(oToado);
            }
            //Nếu sửa
            if (btnDKThongtinCoSoNuoi.CommandName == "Edit")
            {
                if (chkKiemduyet.Checked)
                {
                    oCosonuoitrong.bDuyet = true;
                }
                CosonuoitrongBRL.Edit(oCosonuoitrong);
                if(HttpContext.Current.Request.Url.AbsolutePath.ToString().Contains("Register"))
                {
                    Response.Write("<script>alert('Đăng ký cơ sở nuôi trồng thành công!');location='Default.aspx';</script>");
                }
                else
                {
                    Response.Write("<script>alert('Cập nhập thành công!');location='Default.aspx?page=Cosonuoitrong'</script>");
                }
            }
            else
            {
                oCosonuoitrong.dNgaydangky = DateTime.Now;
                CosonuoitrongBRL.Add(oCosonuoitrong);
                Response.Write("<script>alert('Đăng ký thành công!');location='Default.aspx';</script>");
            }

        }
        catch (Exception ex)
        {
            lblLoi.Text = ex.Message;
            pnCSNT.Visible = true;
            // Nếu xảy ra lỗi phải khử CSNT giả định
            if (btnDKThongtinCoSoNuoi.CommandName.ToUpper() == "ADD")
            {
                //Trước khi khử phải xóa các thông tin trong các bảng liên quan
                //1. Tọa độ cơ sở nuôi
                List<ToadoCosonuoiEntity> lstToadoCSNT = ToadoCosonuoiBRL.GetByFK_iCosonuoiID((int)oCosonuoitrong.PK_iCosonuoitrongID);
                if (lstToadoCSNT.Count > 0)
                {
                    foreach (ToadoCosonuoiEntity oToadoCSNT in lstToadoCSNT)
                        ToadoCosonuoiBRL.Remove(oToadoCSNT.PK_iToadocosonuoiID);
                }
                CosonuoitrongBRL.Remove(oCosonuoitrong.PK_iCosonuoitrongID);
            }
        }
    }
    private void EditCosonuoitrong()
    {
        try
        {
            CosonuoitrongEntity oCosonuoitrong = null;
            if (iCosonuoitrongID > 0)
            {
                oCosonuoitrong = CosonuoitrongBRL.GetOne(iCosonuoitrongID);
            }
            else
            {
                oCosonuoitrong = new CosonuoitrongEntity();
            }
            oCosonuoitrong.sTencoso = txtTenCoSo.Text;
            oCosonuoitrong.sTenchucoso = txtTenChuCoSo.Text;
            oCosonuoitrong.FK_iQuanHuyenID = int.Parse(ddlHuyen.SelectedValue);
            oCosonuoitrong.sXa = txtXa.Text;
            oCosonuoitrong.sAp = txtAp.Text;
            oCosonuoitrong.sDienthoai = txtDienThoai.Text;
            oCosonuoitrong.fTongdientich = float.Parse(txtTongDienTichCoSoNuoi.Text);
            oCosonuoitrong.fTongdientichmatnuoc = float.Parse(txtTongDienTichMatNuoc.Text);
            oCosonuoitrong.fDientichAolang = float.Parse(txtDienTichAoLang.Text);
            if (fuSoDoAoNuoi.HasFile)
            {
                INVIHelper.UploadImage(fuSoDoAoNuoi);
                oCosonuoitrong.sSodoaonuoi = fuSoDoAoNuoi.FileName;
            }
            oCosonuoitrong.FK_iDoituongnuoiID = int.Parse(ddlDoituongnuoi.SelectedValue);
            oCosonuoitrong.FK_iHinhthucnuoiID = int.Parse(ddlHinhThucNuoi.SelectedValue);
            oCosonuoitrong.iChukynuoi = int.Parse(txtChuKyNuoi.Text);
            oCosonuoitrong.iNamsanxuat = int.Parse(ddlNamSanXuat.SelectedValue);
            oCosonuoitrong.iSanluongdukien = int.Parse(txtSanluongdukien.Text);
            oCosonuoitrong.PK_iCosonuoitrongID = iCosonuoitrongID;

            //Cập nhật lại tọa độ
            if (oCosonuoitrong.FK_iToadoID != null && oCosonuoitrong.FK_iToadoID > 0)
            {
                ToadoEntity oToado = ToadoBRL.GetOne(oCosonuoitrong.FK_iToadoID);
                oToado.Latitude = txtViDo1.Text;
                oToado.Longitude = txtKinhDo1.Text;
                ToadoBRL.Edit(oToado);
                Session["iCosonuoitrongID"] = null;
            }
            else
            {
                ToadoEntity oToado = new ToadoEntity();
                oToado.Latitude = txtViDo1.Text;
                oToado.Longitude = txtKinhDo1.Text;
                ToadoBRL.Add(oToado);
            }
            //Nếu sửa
            if (btnDKThongtinCoSoNuoi.CommandName == "Edit")
            {
                if (chkKiemduyet.Checked)
                {
                    oCosonuoitrong.bDuyet = true;
                }
                CosonuoitrongBRL.Edit(oCosonuoitrong);
                if(HttpContext.Current.Request.Url.AbsolutePath.ToString().Contains("Register"))
                {
                    if (Convert.ToInt64(Session["groupID"].ToString()) == 1)
                        Response.Write("<script>alert('Đăng ký cơ sở nuôi trồng thành công!');location='Default.aspx';</script>");
                    else if (Convert.ToInt64(Session["groupID"].ToString()) == 4)
                        Response.Write("<script>alert('Đăng ký cơ sở nuôi trồng thành công!');location='Tochucchungnhan/Default.aspx';</script>");
                }
                else
                {
                    if (Convert.ToInt64(Session["groupID"].ToString()) == 1)
                        Response.Write("<script>alert('Cập nhập thành công!');location='Default.aspx?page=Cosonuoitrong'</script>");
                    else if (Convert.ToInt64(Session["groupID"].ToString()) == 4)
                        Response.Write("<script>alert('Cập nhập thành công!');location='Default.aspx?page=Cosonuoitrong&ctr=adm'</script>");
                }
            }
            else
            {
                oCosonuoitrong.dNgaydangky = DateTime.Now;
                CosonuoitrongBRL.Add(oCosonuoitrong);
                Response.Write("<script>alert('Đăng ký thành công!');location='Default.aspx';</script>");

            }

        }
        catch (Exception ex)
        {
            lblLoi.Text = ex.Message;
            pnCSNT.Visible = true;
        }
    }
    protected void lbtImport_Click(object sender, EventArgs e)
    {
        int iOK = 0, iNOK = 0;
        DataTable tblLoi = new DataTable();
        tblLoi.Columns.Add("sTenCoSo", typeof(string));
        tblLoi.Columns.Add("sLoi", typeof(string));

        CosonuoitrongEntity oCSNT = new CosonuoitrongEntity();
        int FK_iQuanHuyenID;
        DataTable dtCSNT = GetDataFromExcelFile(Server.MapPath(ConfigurationManager.AppSettings["UploadPath"] + "\\" + ViewState["FileName"].ToString()));
        if (dtCSNT.Rows.Count > 0)
        {
            for (int i = 0; i < dtCSNT.Rows.Count; i++)
            {
                string loi = "";
                if ((dtCSNT.Rows[i]["FK_iUserID"] != null) && (dtCSNT.Rows[i]["FK_iQuanHuyenID"] != null) && (dtCSNT.Rows[i]["FK_iDoituongnuoiID"] != null) && (dtCSNT.Rows[i]["FK_iHinhthucnuoiID"] != null))
                {
                    try
                    {
                        try
                        {
                            FK_iQuanHuyenID = Convert.ToInt32(dtCSNT.Rows[i]["FK_iQuanHuyenID"]);
                            oCSNT.FK_iQuanHuyenID = FK_iQuanHuyenID;
                        }
                        catch
                        {
                            loi += "- FK_iQuanHuyenID phải là số <br/> ";
                        }
                        try
                        {
                            oCSNT.bDuyet = Convert.ToBoolean(dtCSNT.Rows[i]["bDuyet"]);
                        }
                        catch
                        {
                            loi += "- bDuyet sai định dạng true/false<br/> ";
                        }
                        try
                        {
                            string ngay = dtCSNT.Rows[i]["dNgaydangky"].ToString().Substring(0, 10);
                            oCSNT.dNgaydangky = DateTime.ParseExact(ngay, "dd/MM/yyyy", CultureInfo.InvariantCulture);
                        }
                        catch
                        {
                            loi += "- dNgaydangky sai định dạng dd/MM/yyyy<br/>";
                        }
                        try
                        {
                            oCSNT.fDientichAolang = float.Parse(dtCSNT.Rows[i]["fDientichAolang"].ToString());
                        }
                        catch
                        {
                            loi += "- fDientichAolang phải là số thực<br/>";
                        }
                        try
                        {
                            oCSNT.FK_iDoituongnuoiID = Convert.ToInt32(dtCSNT.Rows[i]["FK_iDoituongnuoiID"]);
                        }
                        catch
                        {
                            loi += "- FK_iDoituongnuoiID phải là số<br/>";
                        }
                        try
                        {
                            oCSNT.FK_iHinhthucnuoiID = Convert.ToInt32(dtCSNT.Rows[i]["FK_iHinhthucnuoiID"]);
                        }
                        catch
                        {
                            loi += "- FK_iHinhthucnuoiID phải là số<br/>";
                        }

                        try
                        {
                            oCSNT.FK_iUserID = Convert.ToInt32(dtCSNT.Rows[i]["FK_iUserID"]);
                        }
                        catch
                        {
                            loi += "- FK_iUserID phải là số <br/>";
                        }
                        try
                        {
                            oCSNT.fTongdientich = float.Parse(dtCSNT.Rows[i]["fTongdientich"].ToString());
                        }
                        catch
                        {
                            loi += "- fTongdientich phải là số thực<br/>";
                        }
                        try
                        {
                            oCSNT.fTongdientichmatnuoc = float.Parse(dtCSNT.Rows[i]["fTongdientichmatnuoc"].ToString());
                        }
                        catch
                        {
                            loi += "- fTongdientichmatnuoc phải là số thực<br/>";
                        }
                        try
                        {
                            oCSNT.iChukynuoi = Convert.ToInt32(dtCSNT.Rows[i]["iChukynuoi"]);
                        }
                        catch
                        {
                            loi += "- iChukynuoi phải là số<br/>";
                        }
                        try
                        {
                            oCSNT.iNamsanxuat = Convert.ToInt32(dtCSNT.Rows[i]["iNamsanxuat"]);
                        }
                        catch
                        {
                            loi += "- iNamsanxuat phải là số<br/>";
                        }
                        try
                        {
                            oCSNT.iSanluongdukien = Convert.ToInt32(dtCSNT.Rows[i]["iSanluongdukien"]);
                        }
                        catch
                        {
                            loi += "- iSanluongdukien phải là số<br/>";
                        }
                        oCSNT.sAp = dtCSNT.Rows[i]["sAp"].ToString();
                        oCSNT.sDienthoai = dtCSNT.Rows[i]["sDienthoai"].ToString();
                        oCSNT.sMaso_vietgap = dtCSNT.Rows[i]["sMaso_vietgap"].ToString();
                        oCSNT.sMasocoso = dtCSNT.Rows[i]["sMasocoso"].ToString();
                        oCSNT.sSodoaonuoi = dtCSNT.Rows[i]["sSodoaonuoi"].ToString();
                        oCSNT.sTencoso = dtCSNT.Rows[i]["sTencoso"].ToString();
                        oCSNT.sTenchucoso = dtCSNT.Rows[i]["sTenchucoso"].ToString();
                        oCSNT.sXa = dtCSNT.Rows[i]["sXa"].ToString();

                        if (QuanHuyenBRL.GetOne(oCSNT.FK_iQuanHuyenID) == null)
                        {
                            loi += "- (FK_iQuanHuyen) Quận huyện không tồn tại<br/> ";
                        }
                        if (DoituongnuoiBRL.GetOne(oCSNT.FK_iDoituongnuoiID) == null)
                        {
                            loi += "- (FK_iDoituongnuoiID) Đối tượng nuôi không tồn tại";
                        }
                        if (HinhthucnuoiBRL.GetOne(oCSNT.FK_iHinhthucnuoiID) == null)
                        {
                            loi += "- (FK_iHinhthucnuoiID) Hình thức nuôi không tồn tại<br/> ";
                        }
                        if (UserBRL.GetOne(Convert.ToInt32(oCSNT.FK_iUserID)) == null)
                        {
                            loi += "- (FK_iUserID) Người dùng hệ thống không tồn tại<br/> ";
                        }
                        string diachi = "";
                        if (oCSNT.sAp.Trim().Length > 0)
                        {
                            diachi += oCSNT.sAp + ", ";
                        }
                        if (oCSNT.sXa.Trim().Length > 0)
                        {
                            diachi += oCSNT.sXa + ", ";
                        }
                        QuanHuyenEntity oQuanHuyen = QuanHuyenBRL.GetOne(oCSNT.FK_iQuanHuyenID);
                        if (oQuanHuyen != null)
                        {
                            diachi += oQuanHuyen.sTen + ", ";
                            TinhEntity oTinh = TinhBRL.GetOne(oQuanHuyen.FK_iTinhThanhID);
                            diachi += oTinh.sTentinh;
                        }
                        GooglePoint GP = new GooglePoint();
                        GP.Address = diachi;
                        if (GP.GeocodeAddress(ConfigurationManager.AppSettings["GoogleAPIKey"].ToString()))
                        {
                            GP.InfoHTML = GP.Address;
                            ToadoEntity oToaDo = new ToadoEntity();
                            oToaDo.Latitude = GP.Latitude;
                            oToaDo.Longitude = GP.Longitude;
                            oCSNT.FK_iToadoID = ToadoBRL.Add(oToaDo);
                        }
                        if (oCSNT.FK_iToadoID == null)
                        {
                            loi += "- Không thể xác định tọa độ của địa chỉ trên<br/>";
                        }
                        //fu.SaveAs(Server.MapPath(Server.HtmlEncode(dtCSNT.Rows[i]["sSodoaonuoi"].ToString())));
                        if (loi.Trim().Length == 0)
                        {
                            CosonuoitrongBRL.Add(oCSNT);
                            iOK++;
                        }
                        else
                        {

                            iNOK++;
                        }
                    }
                    catch (Exception ex)
                    {
                        loi += "Lỗi khi thêm mới: " + ex.Message + "br/>";
                        iNOK++;
                    }
                    finally {
                        if (loi.Trim().Length > 0)
                        {
                            tblLoi.Rows.Add(oCSNT.sTencoso, loi);

                        }
                    }
                }
            }
            if (tblLoi.Rows.Count > 0)
            {
                pnLoi.Visible = true;
                rptLoi.DataSource = tblLoi;
                rptLoi.DataBind();
            }
            else
            {
                pnLoi.Visible = false;
            }

            lblThongbao.Text = "Có " + iOK.ToString() + " import thành công và " + iNOK.ToString() + " thất bại";
        }
    }
    private void taoCosonuoitronggiadinh()
    {
        try
        {
            ////Thêm cơ sở nuôi trồng giả định
            List<ToadoEntity> lstToado = ToadoBRL.GetAll();
            List<DoituongnuoiEntity> lstDoituong = DoituongnuoiBRL.GetAll();
            List<HinhthucnuoiEntity> lstHinhthuc = HinhthucnuoiBRL.GetAll();
            CosonuoitrongEntity oCoso = new CosonuoitrongEntity();
            oCoso.sTencoso = "Tên cơ sở";
            oCoso.sTenchucoso = "Tên chủ cơ sở";
            oCoso.FK_iQuanHuyenID = 2;
            oCoso.FK_iToadoID = lstToado[0].PK_iToadoID; // Sửa lại tọa độ ở đây - để lấy tọa độ trung tâm của CSNT
            oCoso.FK_iDoituongnuoiID = lstDoituong[0].PK_iDoituongnuoiID;
            oCoso.FK_iHinhthucnuoiID = lstHinhthuc[0].PK_iHinhthucnuoiID;
            oCoso.FK_iUserID = Convert.ToInt64(ddlTaikhoan.SelectedValue);
            // Lấy thông tin về Tổ chức chứng nhận
            // Dựa trên User và GroupID
            // Từ đó lấy được ID của Tổ chức chứng nhận
            if (Session["userID"] != null)
            {
                int iUserID_TCCN = Convert.ToInt32(Session["userID"].ToString());
                List<TochucchungnhanTaikhoanEntity> lstTochucTaikhoan = TochucchungnhanTaikhoanBRL.GetByFK_iTaikhoanID(iUserID_TCCN);
                if (lstTochucTaikhoan.Count > 0)
                {
                    oCoso.FK_iTochucchungnhanID = lstTochucTaikhoan[0].FK_iTochucchungnhanID;
                }
                else
                {
                    Response.Write("<script>alert('Tổ chức chứng nhận không hợp lệ!');</script>");
                }
            }
            iCosonuoitrongID = CosonuoitrongBRL.Add(oCoso);
            FK_iCosonuoitrong.Value = iCosonuoitrongID.ToString();
            btnDKThongtinCoSoNuoi.CommandName = "Edit";

            SendEmailVerificationToUser(txtUsername.Text, fk_user.ToString());
            lblLoi.Text = "";
            pnDangKyTV.Visible = false;
            pnCSNT.Visible = true;
        }
        catch (Exception ex)
        {
            lblLoi.Text = ex.Message.ToString();
        }
    }
    protected void lbtImport_Click(object sender, EventArgs e)
    {
        int iOK = 0, iNOK = 0;
        CosonuoitrongEntity oCSNT = new CosonuoitrongEntity();
        int FK_iQuanHuyenID;
        DataTable dtCSNT = GetDataFromExcelFile(Server.MapPath(ConfigurationManager.AppSettings["UploadPath"] + "\\" + ViewState["FileName"].ToString()));
        if (dtCSNT.Rows.Count > 0)
        {
            for (int i = 0; i < dtCSNT.Rows.Count; i++)
            {
                if ((dtCSNT.Rows[i]["FK_iUserID"] != null) && (dtCSNT.Rows[i]["FK_iQuanHuyenID"] != null) && (dtCSNT.Rows[i]["FK_iDoituongnuoiID"] != null) && (dtCSNT.Rows[i]["FK_iHinhthucnuoiID"] != null))
                {
                    try
                    {
                        FK_iQuanHuyenID = Convert.ToInt32(dtCSNT.Rows[i]["FK_iQuanHuyenID"]);
                        oCSNT.bDuyet = Convert.ToBoolean(dtCSNT.Rows[i]["bDuyet"]);
                        oCSNT.dNgaydangky = Convert.ToDateTime(dtCSNT.Rows[i]["dNgaydangky"]);
                        oCSNT.fDientichAolang = float.Parse(dtCSNT.Rows[i]["fDientichAolang"].ToString());
                        oCSNT.FK_iDoituongnuoiID = Convert.ToInt32(dtCSNT.Rows[i]["FK_iDoituongnuoiID"]);
                        oCSNT.FK_iHinhthucnuoiID = Convert.ToInt32(dtCSNT.Rows[i]["FK_iHinhthucnuoiID"]);
                        oCSNT.FK_iQuanHuyenID = FK_iQuanHuyenID;
                        oCSNT.FK_iUserID = Convert.ToInt32(dtCSNT.Rows[i]["FK_iUserID"]);
                        oCSNT.fTongdientich = float.Parse(dtCSNT.Rows[i]["fTongdientich"].ToString());
                        oCSNT.fTongdientichmatnuoc = float.Parse(dtCSNT.Rows[i]["fTongdientichmatnuoc"].ToString());
                        oCSNT.iChukynuoi = Convert.ToInt32(dtCSNT.Rows[i]["iChukynuoi"]);
                        oCSNT.iNamsanxuat = Convert.ToInt32(dtCSNT.Rows[i]["iNamsanxuat"]);
                        oCSNT.iSanluongdukien = Convert.ToInt32(dtCSNT.Rows[i]["iSanluongdukien"]);
                        oCSNT.sAp = dtCSNT.Rows[i]["sAp"].ToString();
                        oCSNT.sDienthoai = dtCSNT.Rows[i]["sDienthoai"].ToString();
                        oCSNT.sMaso_vietgap = dtCSNT.Rows[i]["sMaso_vietgap"].ToString();
                        oCSNT.sMasocoso = dtCSNT.Rows[i]["sMasocoso"].ToString();
                        oCSNT.sSodoaonuoi = dtCSNT.Rows[i]["sSodoaonuoi"].ToString();
                        oCSNT.sTencoso = dtCSNT.Rows[i]["sTencoso"].ToString();
                        oCSNT.sTenchucoso = dtCSNT.Rows[i]["sTenchucoso"].ToString();
                        oCSNT.sXa = dtCSNT.Rows[i]["sXa"].ToString();

                        string diachi = "";
                        if (oCSNT.sAp.Trim().Length>0)
                        {
                            diachi += oCSNT.sAp + ", ";
                        }
                        if (oCSNT.sXa.Trim().Length > 0)
                        {
                            diachi += oCSNT.sXa + ", ";
                        }
                        QuanHuyenEntity oQuanHuyen = QuanHuyenBRL.GetOne(FK_iQuanHuyenID);
                        if (oQuanHuyen != null)
                        {
                            diachi += oQuanHuyen.sTen + ", ";
                            TinhEntity oTinh = TinhBRL.GetOne(oQuanHuyen.FK_iTinhThanhID);
                            diachi += oTinh.sTentinh;
                        }
                        GooglePoint GP = new GooglePoint();
                        GP.Address = diachi;
                        if (GP.GeocodeAddress(ConfigurationManager.AppSettings["GoogleAPIKey"].ToString()))
                        {
                            GP.InfoHTML = GP.Address;
                            ToadoEntity oToaDo = new ToadoEntity();
                            oToaDo.Latitude = GP.Latitude;
                            oToaDo.Longitude = GP.Longitude;
                            oCSNT.FK_iToadoID = ToadoBRL.Add(oToaDo);
                        }
                        //fu.SaveAs(Server.MapPath(Server.HtmlEncode(dtCSNT.Rows[i]["sSodoaonuoi"].ToString())));
                        CosonuoitrongBRL.Add(oCSNT);
                        iOK++;
                    }
                    catch {
                        iNOK++;
                    }
                }
            }
            lblThongbao.Text = "Có " + iOK.ToString() + " import thành công và " + iNOK.ToString() + " thất bại";
        }
    }
    protected void btnCapmaso_Click(object sender, EventArgs e)
    {
        try
        {
            if (Session["UserID"] == null || Session["GroupID"] == null)
            {
                Response.Write("<script>alert('Bạn không có quyền vào trang này');location='./Logon.aspx'</script>");
                Response.End();
            }

            if (Session["iHosodangkyCSNT"] != null)
                PK_iHosodangky = Convert.ToInt32(Session["iHosodangkyCSNT"].ToString());
            else
            {
                Response.Redirect(ResolveUrl("~/adminx/Tochucchungnhan/Default.aspx?page=DanhsachHosodangky"));
            }
            HosodangkychungnhanEntity oHosodangky = HosodangkychungnhanBRL.GetOne(PK_iHosodangky);
            Int64 PK_iCosonuoitrongID = oHosodangky.FK_iCosonuoiID;

            if (!PermissionBRL.CheckPermission("CapmasoVietgap")) Response.End();
            String sMasovietgap = String.Empty;
            CosonuoitrongEntity oCosonuoitrong = new CosonuoitrongEntity();
            //if (Session["iCosonuoitrongID"] == null) return;
            //PK_iCosonuoitrongID = Convert.ToInt32(Session["iCosonuoitrongID"].ToString());
            MasovietgapEntity oMasoVietGap = new MasovietgapEntity();
            oMasoVietGap.dNgaycap = DateTime.ParseExact(txtNgaycap_datepicker.Value, "dd/MM/yyyy", CultureInfo.InvariantCulture);
            oMasoVietGap.iThoihan = byte.Parse(txtThoihan.Value);
            txtNgayhethan_datepicker.Value = DateTime.ParseExact(txtNgaycap_datepicker.Value, "dd/MM/yyyy", CultureInfo.InvariantCulture).AddMonths(byte.Parse(txtThoihan.Value)).ToString("dd/MM/yyyy");
            oMasoVietGap.dNgayhethan = DateTime.ParseExact(txtNgayhethan_datepicker.Value, "dd/MM/yyyy", CultureInfo.InvariantCulture);
            oMasoVietGap.FK_iCosonuoitrongID = PK_iCosonuoitrongID;
            int iUserID = int.Parse(Session["UserID"].ToString());
            // Chỗ này phải check permission --> vì Admin không thuộc Group hay tổ chức nào
            int iGroupID = Convert.ToInt32(Session["GroupID"].ToString());

            if (iGroupID != 4)
            {
                Response.Write("<script>alert('Tài khoản bạn đang truy cập không phải dành cho Tổ chức chứng nhận. Bạn không thể cấp mã số!!!');location='./Logon.aspx'</script>");
                Response.End();
            }
            List<TochucchungnhanTaikhoanEntity> lstTochucTaikhoan = TochucchungnhanTaikhoanBRL.GetByFK_iTaikhoanID(iUserID);
            if (lstTochucTaikhoan.Count <= 0)
            {
                Response.Write("<script language=\"javascript\">alert('Tài khoản của bạn không gắn với bất cứ Tổ chức chứng nhận nào!!!');</script>");
                return;
            }
            TochucchungnhanEntity oTochucchungnhan = TochucchungnhanBRL.GetOne(lstTochucTaikhoan[0].FK_iTochucchungnhanID);
            List<XulyTochucchungnhanEntity> lstThongtinxuly = XulyTochucchungnhanBRL.GetByFK_iTochucchungnhanID(oTochucchungnhan.PK_iTochucchungnhanID);
            if (lstThongtinxuly.Count > 0)
            {
                XulyTochucchungnhanEntity.Sort(lstThongtinxuly, "dNgaythuchien", "DESC");
                if (lstThongtinxuly[0].iMucdo == 2 || lstThongtinxuly[0].iMucdo == 3)
                {
                    Response.Write("<script language=\"javascript\">alert('Bạn không thể cấp mã số, vì đang bị xử lý phạt');</script>");
                    return;
                }
            }
            oMasoVietGap.FK_iTochucchungnhanID = oTochucchungnhan.PK_iTochucchungnhanID;

            //Kiểm tra xem mã số VietGap này đã có hay chưa
            sMasovietgap = genVietGapCode((int)PK_iCosonuoitrongID, oTochucchungnhan.PK_iTochucchungnhanID);
            oMasoVietGap.sMaso = sMasovietgap;
            // Kiểm tra xem CSNT đã tồn tại hay chưa, vì mỗi một CSNT chỉ được cấp mã số 1 lần
            // Có thể cập nhập mã số - viết một chức năng khác
            List<MasovietgapEntity> lstMasovietgap = MasovietgapBRL.GetByFK_iCosonuoitrongID(PK_iCosonuoitrongID);
            if (lstMasovietgap.Capacity == 0)
            {
                MasovietgapBRL.Add(oMasoVietGap);
                oCosonuoitrong = CosonuoitrongBRL.GetOne(PK_iCosonuoitrongID);
                //oCosonuoitrong.sMasocoso = Session["sMasocoso"].ToString();
                oCosonuoitrong.sMasocoso = oTochucchungnhan.sKytuviettat;
                oCosonuoitrong.sMaso_vietgap = sMasovietgap;
                CosonuoitrongBRL.Edit(oCosonuoitrong);
                HosodangkychungnhanEntity oHoso = HosodangkychungnhanBRL.GetOne(PK_iHosodangky);
                oHoso.iTrangthai = 1; //Đã duyệt
                HosodangkychungnhanBRL.Edit(oHoso);
            }
            else
            {
                INVI.INVILibrary.MessageBox.Show("Cơ sở nuôi trồng đã được cấp mã số");
            }
            //CosonuoitrongBRL.SetVerify(PK_iCosonuoitrongID, chk.Checked);
            //Nap lai du lieu
            //Response.Redirect(Request.Url.ToString());

            Response.Write("<script>alert('CSNT:" + oCosonuoitrong.sTencoso + " đã được cấp mã số:" + oMasoVietGap.sMaso + "');</script>");
            //Ẩn panel
            panCapmaso.Visible = false;
        }
        catch (Exception ex)
        {
            Response.Write("<script language=\"javascript\">alert('" + ex.Message + "');location='Default.aspx?page=DanhsachHosodangky';</script>");
        }
    }