public bool Delete(DonViEntity _DonVi)
 {
     try
     {
         this.m_UnitOfWork.DonViRepository.Delete(_DonVi);
         return true;
     }
     catch (Exception e)
     {
         System.Console.WriteLine(e.ToString());
         return false;
     }
 }
        public List<DonViEntity> GetAll()
        {
            IEnumerable<DonVis> model = this.m_UnitOfWork.DonViRepository.GetAll();
            List<DonViEntity> result = new List<DonViEntity>();

            foreach(var item in model)
            {
                DonViEntity donvi = new DonViEntity
                {
                    Id = item.Id,
                    MaQuyDinh = item.MaQuyDinh,
                    TenDonVi = item.TenDonVi
                };
                result.Add(donvi);
            }

            return result;
        }
        /// only return json to client
        public ActionResult Create(DonViEntity donvi)
        {
            DonViService service = new DonViService();

            if (donvi == null)
            {
                RenderResult.RequestError(ViewData, "Lỗi đối số không hợp lệ");
                return Json(JsonConvert.SerializeObject(ViewData));
            }

            if(service.Create(donvi))
            {
                return Json(RenderResult.RequestCompleted(ViewData, "Thêm đơn vị thành công"));
            }
            else
            {
                
                return Json(RenderResult.RequestCompleted(ViewData, "Lỗi khi thêm đơn vị"));
            }
        }
        public bool Create(DonViEntity _DonVi)
        {
            try
            {
                var DonVi = new DonVis
                {
                    MaQuyDinh = _DonVi.MaQuyDinh,
                    TenDonVi = _DonVi.TenDonVi
                };

                this.m_UnitOfWork.DonViRepository.Insert(DonVi);
                this.m_UnitOfWork.Save();

                return true;
            }
            catch(Exception e)
            {
                System.Console.WriteLine(e.ToString());
                return false;
            }
        }
        public ActionResult Edit(DonViEntity donvi)
        {
            DonViService service = new DonViService();

            if(donvi == null)
            {
                return Json(RenderResult.RequestError(ViewData, "Lỗi đối số không hợp lệ"), JsonRequestBehavior.AllowGet);
            }
            
            try
            {
                if (service.Update(donvi))
                    return Json(RenderResult.RequestCompleted(ViewData, "Chỉnh sửa thành công"));

                return Json(RenderResult.RequestCompleted(ViewData, "Chỉnh sửa không thành công"));
            }
            catch(Exception e)
            {
                System.Console.WriteLine(e.ToString());

                return Json(RenderResult.RequestError(ViewData, "Lỗi xảy ra"));
            }
        }
        public ActionResult Delete(DonViEntity donvi)
        {
            DonViService service = new DonViService();

            try
            {
                if (service.Delete(donvi))
                    return Json(RenderResult.RequestCompleted(ViewData, "Xóa thành công"));

                return Json(RenderResult.RequestCompleted(ViewData, "Xóa không thành công"));
            }
            catch (Exception e)
            {
                System.Console.WriteLine(e.ToString());
                return Json(RenderResult.RequestError(ViewData, "Lỗi xảy ra"));
            }

        }
        public bool Update(DonViEntity _DonVi)
        {
            var DonVi = this.m_UnitOfWork.DonViRepository.GetByID(_DonVi.Id);

            if (DonVi == null)
                return false;

            if(DonVi != null)
            {
                DonVi.MaQuyDinh = _DonVi.MaQuyDinh;
                DonVi.TenDonVi = _DonVi.TenDonVi;

                this.m_UnitOfWork.DonViRepository.Update(DonVi);
                this.m_UnitOfWork.Save();
            }

            return true;
        }