// GET: Admin/PHNC/Create
        public ActionResult Create(string Mabao, string provincecode)
        {
            BPhanHuongNhuCauModel objPHNC = new BPhanHuongNhuCauModel();
            bindCombobox(1);
            ViewBag.MaBao = Mabao;
            if (!string.IsNullOrWhiteSpace(Mabao))
            {
                BThongTinBao objBao = db.getAllThongTinBaoById(Mabao);
                objPHNC.ThongTinBaoId = objBao.Id;
                objPHNC.TenBao = objBao.TenBao;
            }

            //check session unitmodel
            UnitModel objUnitNew = new UnitModel();
            objUnitNew = BuildSession(Mabao);
            List<TinhThanh> lstTinh = objUnitNew.getAllProvinceNotMap(provincecode);
            if (!string.IsNullOrWhiteSpace(provincecode))
            {
                ViewBag.CheckPrv = true;
                ViewBag.QuanHuyen = objUnitNew.getDistrictNotMapByProvinceCode(provincecode);
                Session["ProvinceCode"] = provincecode;
            }
            else
            {
                if (Session["ProvinceCode"] != null)
                {
                    Session["ProvinceCode"] = null;
                }
            }
            ViewBag.ProvinceComment = "huyện chưa thiết lập phân hướng nhu cầu xong";
            TempData["DistrictComment"] = "bưu cục chưa thiết lập phân hướng nhu cầu";
            TempData["TypeUnit"] = "1";
            ViewBag.Province = lstTinh;

            if (HttpContext.Request.IsAjaxRequest())
            return PartialView("_DiemTiepNhan",objPHNC);
            return View(objPHNC);
        }
        // GET: Admin/PHNC
        public ActionResult Index(string Mabao, string pageIndex = "")
        {
            BPhanHuongNhuCauModel objPHNC = new BPhanHuongNhuCauModel();
            BThongTinBao objBao = db.getAllThongTinBaoById(Mabao);
            if (!string.IsNullOrWhiteSpace(Mabao))
            {
                objPHNC.ThongTinBaoId = objBao.Id;
                objPHNC.TenBao = objBao.TenBao;
            }

            //check session unitmodel
            UnitModel objUnitNew = new UnitModel();
            objUnitNew = BuildSession(Mabao);
            List<TinhThanh> lstTinh = objUnitNew.getAllProvince();
            ViewBag.Mabao = Mabao;
            ViewBag.ThongTinBao = objBao;
            if (HttpContext.Request.IsAjaxRequest())
                return PartialView("_PHNCView", lstTinh);
            return View(lstTinh);
        }
        // GET: Admin/PHNC/Edit/5?provinecode=1
        public ActionResult Edit(string provincecode, string Mabao)
        {
            //ViewBag.DTNBC = db.getAllData(userInfo.UnitCode, Mabao);
            BPhanHuongNhuCauModel objPHNC = new BPhanHuongNhuCauModel();
            bindCombobox(1);
            ViewBag.MaBao = Mabao;
            if (!string.IsNullOrWhiteSpace(Mabao))
            {
                BThongTinBao objBao = db.getAllThongTinBaoById(Mabao);
                objPHNC.ThongTinBaoId = objBao.Id;
                objPHNC.TenBao = objBao.TenBao;
            }

            //check session unitmodel
            UnitModel objUnitNew = new UnitModel();
            objUnitNew = BuildSession(Mabao);
            List<QuanHuyen> lstHuyen = objUnitNew.getDistrictMapByProvinceCode(provincecode);

            TempData["TypeUnit"] = "2";
            TempData["DistrictComment"] = "bưu cục đã thiết lập phân hướng nhu cầu";

            ViewBag.QuanHuyen = lstHuyen;
            return View(objPHNC);
        }
        // GET: Admin/PHNC/Details/5
        public ActionResult Details(string provincecode, string districtcode, string Mabao)
        {
            BPhanHuongNhuCauModel objPHNC = new BPhanHuongNhuCauModel();
            if (!string.IsNullOrWhiteSpace(Mabao))
            {
                BThongTinBao objBao = db.getAllThongTinBaoById(Mabao);
                objPHNC.ThongTinBaoId = objBao.Id;
                objPHNC.TenBao = objBao.TenBao;
                ViewBag.MaBao = Mabao;
                ViewBag.ThongTinBao = objBao;
            }

            //check session unitmodel
            UnitModel objUnitNew = new UnitModel();
            objUnitNew = BuildSession(Mabao);
            List<QuanHuyen> lstHuyen = new List<QuanHuyen>();
            if(!String.IsNullOrWhiteSpace(provincecode))
            {
                lstHuyen = objUnitNew.getDistrictMapByProvinceCode(provincecode);
                ViewBag.UnitForm = "0";
            }
            else if (!String.IsNullOrWhiteSpace(districtcode))
            {
                lstHuyen = objUnitNew.getDistrictMapByDistrictCode(districtcode);
                ViewBag.UnitForm = "1";
                ViewBag.ProvinceCodeDetail = lstHuyen.FirstOrDefault().ProvinceCode;
            }
            ViewBag.ProvinceCode = provincecode;
            return View(lstHuyen.OrderBy(t => t.DistrictName));
        }
        // GET: Admin/PHNC/delete/5
        //id : DiemTiepNhanId
        public ActionResult Delete(string id, string Mabao)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }

            //get BDiemTiepNhan with DiemTiepNhanId
            BDiemTiepNhan bDiemTiepNhan = db.getByDiemTiepNhanId(id);

            //tạo model mới để return ra view DiemTiepNhanId và ThongTinBaoId
            BPhanHuongNhuCauModel bPhanHuongNhuCau = new BPhanHuongNhuCauModel();
            bPhanHuongNhuCau.DiemTiepNhanId = id;
            bPhanHuongNhuCau.ThongTinBaoId = Mabao;

            //check lỗi không có điểm tiếp nhận
            if (bDiemTiepNhan == null)
            {
                return HttpNotFound();
            }

            //Viewbag chung để return ra view input
            ViewBag.DTNBC = db.getAllData(userInfo.UnitCode, Mabao); //left tree data
            ViewBag.DiemTiepNhanId = new SelectList(db.getAllDiemTiepNhan(), "Id", "Name", bPhanHuongNhuCau.DiemTiepNhanId);
            ViewBag.ThongTinBaoId = new SelectList(db.getAllThongTinBao(), "Id", "MaBao", bPhanHuongNhuCau.ThongTinBaoId);
            ViewBag.UnitCode = db.getAllUnitByDTNId(userInfo.UnitCode, id, Mabao);
            ViewBag.MaBao = Mabao;
            return View(bPhanHuongNhuCau);
        }
 public ActionResult Create([Bind(Include = "Id,ThongTinBaoId,DiemTiepNhanId")] BPhanHuongNhuCauModel bPhanHuongNhuCau, string listId, string typeid)
 {
     BPhanHuongNhuCauModel objPHNC = new BPhanHuongNhuCauModel();
     if (ModelState.IsValid)
     {
         //check session unitmodel
         string Mabao = bPhanHuongNhuCau.ThongTinBaoId;
         UnitModel objUnitNew = BuildSession(Mabao);
         List<v_Unit> lstUnits = new List<v_Unit>();
         //lstids typeid: 1: list province, 2: list district, 3: list unit
         string[] lstids = listId.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
         if (lstids.Count() == 0)
         {
             if (Session["ProvinceCode"] != null)
             {
                 return Json(new {MSG = "Bạn chưa chọn quận huyện hay bưu cục nào !"});
                 //return Create(bPhanHuongNhuCau.ThongTinBaoId,(string)Session["ProvinceCode"] );
             }
             else
             {
                 //return Json(new { MSG = "Bạn chưa chọn quận huyện hay bưu cục nào !" });
                 //return Create(bPhanHuongNhuCau.ThongTinBaoId, null);
             }
         }
         lstUnits = objUnitNew.getUnitNotMap(lstids, typeid);
         //bind data
         bPhanHuongNhuCau.CreateBy = userInfo.Id;
         bPhanHuongNhuCau.CreateDate = DateTime.Now;
         bPhanHuongNhuCau.ModifyBy = userInfo.Id;
         bPhanHuongNhuCau.ModifyDate = DateTime.Now;
         //add action
         db.Add(bPhanHuongNhuCau.toBPhanHuongNhuCau(), lstUnits);
         //map lai list vua tao cho object
         objUnitNew.setListUnitMapNew(lstUnits, bPhanHuongNhuCau.DiemTiepNhanId);
         Session[Application.Session.UnitModel] = objUnitNew;
         if (Session["ProvinceCode"] != null)
         {
             return Json(new { MSG = "Bạn đã thiết lập thành công !" });
             //return Create(bPhanHuongNhuCau.ThongTinBaoId,(string)Session["ProvinceCode"] );
         }
         else
         {
             return Json(new { MSG = "Bạn đã thiết lập thành công !" });
             //return Create(bPhanHuongNhuCau.ThongTinBaoId, null);
         }
         //return RedirectToAction("Create");
     }
     buildMessage("Có lỗi xảy ra, dữ liệu không hợp lệ !");
     if (Session["ProvinceCode"] != null)
     {
         return RedirectToAction("Create", new { provincecode = Session["ProvinceCode"], Mabao = bPhanHuongNhuCau.ThongTinBaoId });
     }
     else
     {
         return RedirectToAction("Create", new { Mabao = bPhanHuongNhuCau.ThongTinBaoId });
     }
 }