public ActionResult BoSungGiayPhep()
        {
            ToChucBoSungViewModel model = new ToChucBoSungViewModel();
            // Get current user
            TaiKhoan tk = ((EnhancedPrincipal)HttpContext.User).Data;
            List<ToChuc> tcs = tk.ToChucs.ToList();
            // Khi chua co to chuc nao duoc luu
            if (tcs.Count == 0)
            {
                model.NangLucs = new List<NangLucVM> { };
                model.NhanLucs = new List<NhanLucVM> { };
                model.ThietBis = new List<ThietBiVM> { };
                model.DSHoatDongSelecteds = new int[] { };
                model.DSHoatDongDaDKs = new List<string> { };
                model.DSHoatDongs = _hoatdongRespository.GetHoatDongs().ToList();
                model.CongTrinhs = new List<CongTrinhVM> { };
                ViewData["sogiayphep"] = 0;
            }
            // Da co thong tin to chuc cua tai khoan do
            else
            {
                ToChuc tc = tcs[0];
                //kiểm tra xem tổ chức có được đăng ký bổ sung hoạt động không
                int check = _hsgpRepository.Check(tc.MaToChuc);
                if (check == 1 || check == 2 || check == 3 || check == 4 || check == 6 || check == 9 || check == 10 || check == 12)
                    return RedirectToAction("ThongBao", new { iMsg = check });

                model.TenToChuc = tc.TenToChuc;
                model.MaToChuc = tc.MaToChuc;
                model.DienThoai = tc.DienThoai;
                model.Email = tc.Email;
                model.Fax = tc.Fax;
                model.GiayPhepKinhDoanh = tc.GiayPhepKinhDoanh;
                model.HangDoanhNghiep = tc.HangDoanhNghiep;
                model.MaLoaiHinhToChuc = (int)tc.MaLoaiHinhToChuc;
                model.NguoiDaiDien = tc.NguoiDaiDien;
                model.SoTaiKhoan = tc.SoTaiKhoan;
                model.TongSoCanBo = tc.TongSoCanBo.GetValueOrDefault(0);
                model.TruSoChinh = tc.TruSoChinh;
                model.VonLuuDong = tc.VonLuuDong.GetValueOrDefault(0);
                model.VonPhapDinh = tc.VonPhapDinh.GetValueOrDefault(0);

                //nếu đã có thông tin tổ chức thì lấy list năng lực, lấy list nhân lực, list thiết bị
                model.NangLucs = new List<NangLucVM> { };
                List<NangLucKeKhai> listNangLuc = new List<NangLucKeKhai>();
                listNangLuc = _nanglucRespository.GetNangLucByTCID(tc.MaToChuc);
                if (listNangLuc != null && listNangLuc.Count != 0)
                {
                    foreach (var nl in listNangLuc)
                    {
                        NangLucVM nangluc = new NangLucVM();
                        nangluc.NganhNghe = nl.NganhNghe;
                        nangluc.Daihoc = nl.SoTrenDaiHoc.GetValueOrDefault(0);
                        nangluc.TrungCap = nl.SoTrungCap.GetValueOrDefault(0);
                        nangluc.CongNhan = nl.SoCongNhanKyThuat.GetValueOrDefault(0);
                        nangluc.LoaiKhac = nl.LoaiKhac.GetValueOrDefault(0);
                        model.NangLucs.Add(nangluc);
                    }
                }
                //nhân lực
                model.NhanLucs = new List<NhanLucVM> { };
                List<NhanLuc> listNhanLuc = new List<NhanLuc>();
                listNhanLuc = _nhanlucRespository.GetNhanLucByTCID(tc.MaToChuc);
                if (listNhanLuc != null && listNhanLuc.Count != 0)
                {
                    foreach (var nl in listNhanLuc)
                    {
                        NhanLucVM nhanluc = new NhanLucVM();
                        nhanluc.HoTen = nl.HoTen;
                        nhanluc.ChucVu = nl.ChucVu;
                        nhanluc.ThamNien = nl.ThamNien;
                        model.NhanLucs.Add(nhanluc);
                    }
                }
                //thiết bị
                model.ThietBis = new List<ThietBiVM> { };
                List<ThietBi> listThietBi = new List<ThietBi>();
                listThietBi = _thietbiRespository.GetThietBiByTCID(tc.MaToChuc);
                if (listThietBi != null && listThietBi.Count != 0)
                {
                    foreach (var tb in listThietBi)
                    {
                        ThietBiVM thietbi = new ThietBiVM();
                        thietbi.TenThietBi_CongNghe = tb.TenThietBi_CongNghe;
                        thietbi.SoLuong = tb.SoLuong.GetValueOrDefault(0);
                        thietbi.GhiChu = tb.GhiChu;
                        thietbi.TinhTrang = tb.TinhTrang;
                        model.ThietBis.Add(thietbi);
                    }
                }
                /// báo cáo hoạt động
                BaoCaoHoatDong bc = _bchdRespository.GetBaoCaoHoatDongByTC(tc.MaToChuc);
                model.CongTrinhs = new List<CongTrinhVM> { };
                if (bc != null)
                {
                    model.TuNam = bc.TuNam;
                    model.DenNam = bc.DenNam;
                    model.DoanhThuNam = bc.DoanhThu.GetValueOrDefault(0);
                    model.NopNganSach = bc.NopNganSach.GetValueOrDefault(0);

                    List<BaoCaoCongTrinh> bcctList = _bcctRespository.GetBCCTByBCHD(bc.MaBaoCao);
                    if (bcctList.Count != 0)
                    {
                        foreach (var bcct in bcctList)
                        {
                            CongTrinhVM ct = new CongTrinhVM();
                            ct.ChuDauTu = bcct.ChuDauTu;
                            ct.TenCongTrinh = bcct.TenCongTrinh;
                            ct.CongDoanDaThiCong = bcct.CongDoanDaThiCong;
                            ct.ThoiGianThucHien = bcct.ThoiGianThucHien;
                            ct.GiaTriThucHien = bcct.GiaTriDaThucHien;
                            ct.GhiChu = bcct.GhiChu;
                            model.CongTrinhs.Add(ct);
                        }
                    }
                }

                ///kiểm tra có hồ sơ tồn tại chưa
                ///nếu đã tồn tại thì k cho điền số gp trên view, nếu chưa thì cho điền số gp trên view rồi lưu xuống.
                // lấy danh sách hoạt động đã được cấp (nếu có tổ chức rồi thì có thể là mảng rỗng hoặc không)

                IList<HoSoGiayPhep> listHS = _hsgpRepository.GetHSGPByToChuc(tc.MaToChuc);
                HoSoGiayPhep hs = new HoSoGiayPhep();
                if (listHS != null && listHS.Count != 0)
                {
                    ViewData["sogiayphep"] = 1;
                    hs = listHS[0];
                    model.SoGiayPhep = hs.SoGiayPhep;
                    if(hs.NgayCapPhep != null)
                    {
                        model.NgayCapPhepDoDac = (DateTime)hs.NgayCapPhep;
                    }
                    ///những hoạt động đã được cấp (lúc đăng ký + lúc bổ sung)
                    IList<HoatDongDuocCap> listHDDaCap = _dkhdRespository.GetHDDaCapBySoGP(model.SoGiayPhep, tc.MaToChuc);
                    model.DSHoatDongDaDKs = new List<string>();
                    model.DSHoatDongs = new List<HoatDong>();
                    List<HoatDong> allHD = _hoatdongRespository.GetHoatDongs().ToList();
                    foreach (var i in listHDDaCap)
                    {
                        model.DSHoatDongDaDKs.Add(i.TenHoatDong);
                        for (int j = 0; j < allHD.Count; j++)
                        {
                            if (allHD[j].MaHoatDong == i.MaHDHienTai)
                            {
                                allHD.RemoveAt(j);
                                break;
                            }
                        }
                    }
                    model.DSHoatDongs = allHD;
                    model.TepDinhKem = hs.TepDinhKem;
                    //model.NgayCapPhepDoDac = hs.NgayCapPhep;
                }
                else
                {
                    ViewData["sogiayphep"] = 0;
                    model.SoGiayPhep = "";
                    model.DSHoatDongDaDKs = new List<string> { };
                    model.DSHoatDongs = _hoatdongRespository.GetHoatDongs().ToList();
                }
            }

            model.DSHoatDongSelecteds = new int[] { };
            model.loaiHinh = _loaihinhtochucRepository.GetLoaiHinhToChucs().ToList();
            model.Camket = "Tôi xin chịu trách nhiệm về toàn bộ nội dung bản đăng ký này.";
            model.LyDo = "Xin đăng ký bổ sung hoạt động đo đạc";

            return View(model);
        }
        public ActionResult TaoMoi()
        {
            TaiKhoan tk = ((EnhancedPrincipal)HttpContext.User).Data;
            List<ToChuc> tcs = tk.ToChucs.ToList();
            ToChucDetailViewModel model = new ToChucDetailViewModel();

            // Khi chua co to chuc nao duoc luu
            if (tcs.Count == 0)
            {
                model.NangLucs = new List<NangLucVM> { };
                model.NhanLucs = new List<NhanLucVM> { };
                model.ThietBis = new List<ThietBiVM> { };
                model.DSHoatDongSelecteds = new int[] { };
                model.DSHoatDongs = new List<HoatDong> { new HoatDong { MaHoatDong = 1, TenHoatDong = "sdf" }, new HoatDong { MaHoatDong = 2, TenHoatDong = "gfg" } };
            }
            // Da co thong tin to chuc cua tai khoan do
            else
            {
                ToChuc tc = tcs[0];
                //kiểm tra được phép đăng ký mới hay không
                int check = _hsgpRepository.Check(tc.MaToChuc);
                if (check == 1 || check == 4 || check == 5 || check == 6 || check == 8 || check == 9 || check == 11)
                {
                    ViewData["mataikhoan"] = tk.MaTaiKhoan;
                    return RedirectToAction("thongbao", new { iMsg = check });
                }

                model.NangLucs = new List<NangLucVM> { };
                List<NangLucKeKhai> listNangLuc = new List<NangLucKeKhai>();
                listNangLuc = _nanglucRespository.GetNangLucByTCID(tc.MaToChuc);
                if (listNangLuc != null)
                {
                    foreach (var nl in listNangLuc)
                    {
                        NangLucVM nangluc = new NangLucVM();
                        nangluc.NganhNghe = nl.NganhNghe;
                        nangluc.Daihoc = nl.SoTrenDaiHoc.GetValueOrDefault(0);
                        nangluc.TrungCap = nl.SoTrungCap.GetValueOrDefault(0);
                        nangluc.CongNhan = nl.SoCongNhanKyThuat.GetValueOrDefault(0);
                        nangluc.LoaiKhac = nl.LoaiKhac.GetValueOrDefault(0);
                        model.NangLucs.Add(nangluc);
                    }
                }

                model.NhanLucs = new List<NhanLucVM> { };
                List<NhanLuc> listNhanLuc = new List<NhanLuc>();
                listNhanLuc = _nhanlucRespository.GetNhanLucByTCID(tc.MaToChuc);
                if (listNhanLuc != null)
                {
                    foreach (var nl in listNhanLuc)
                    {
                        NhanLucVM nhanluc = new NhanLucVM();
                        nhanluc.HoTen = nl.HoTen;
                        nhanluc.ChucVu = nl.ChucVu;
                        nhanluc.TrinhDoHocVan = nl.TrinhDoHocVan;
                        nhanluc.ThamNien = nl.ThamNien;
                        model.NhanLucs.Add(nhanluc);
                    }
                }

                model.ThietBis = new List<ThietBiVM> { };
                List<ThietBi> listThietBi = new List<ThietBi>();
                listThietBi = _thietbiRespository.GetThietBiByTCID(tc.MaToChuc);
                if (listThietBi != null)
                {
                    foreach (var tb in listThietBi)
                    {
                        ThietBiVM thietbi = new ThietBiVM();
                        thietbi.TenThietBi_CongNghe = tb.TenThietBi_CongNghe;
                        thietbi.SoLuong = tb.SoLuong.GetValueOrDefault(0);
                        thietbi.GhiChu = tb.GhiChu;
                        thietbi.TinhTrang = tb.TinhTrang;
                        model.ThietBis.Add(thietbi);
                    }
                }

                model.DSHoatDongSelecteds = new int[] { };
                model.DSHoatDongs = new List<HoatDong> { new HoatDong { MaHoatDong = 1, TenHoatDong = "sdf" }, new HoatDong { MaHoatDong = 2, TenHoatDong = "gfg" } };

                model.TenToChuc = tc.TenToChuc;
                model.MaToChuc = tc.MaToChuc;
                model.DienThoai = tc.DienThoai;
                model.Email = tc.Email;
                model.Fax = tc.Fax;
                model.GiayPhepKinhDoanh = tc.GiayPhepKinhDoanh;
                model.HangDoanhNghiep = tc.HangDoanhNghiep;
                model.MaLoaiHinhToChuc = (int)tc.MaLoaiHinhToChuc;
                model.NguoiDaiDien = tc.NguoiDaiDien;
                model.SoTaiKhoan = tc.SoTaiKhoan;
                model.TongSoCanBo = tc.TongSoCanBo.GetValueOrDefault(0);
                model.TruSoChinh = tc.TruSoChinh;
                model.VonLuuDong = tc.VonLuuDong.GetValueOrDefault(0);
                model.VonPhapDinh = tc.VonPhapDinh.GetValueOrDefault(0);
            }

            model.loaiHinh = _loaihinhtochucRepository.GetLoaiHinhToChucs().ToList();

            model.Camket = "Tôi xin chịu trách nhiệm về toàn bộ nội dung bản đăng ký này.";
            model.LyDo = "Xin đăng ký giấy phép mới.";

            // Mã nhũng hoạt động khi được chọn từ danh sách hoạt động
            // Ban đầu thì không có phần tử nào
            model.DSHoatDongs = _hoatdongRespository.GetHoatDongs().ToList();
            return View(model);
        }