public bool Delete(NgoaiNguEntity ngoaingu)
 {
     try
     {
         this.m_UnitOfWork.NgoaiNguRepository.Delete(ngoaingu);
         return true;
     }
     catch (Exception e)
     {
         System.Console.WriteLine(e.ToString());
         return false;
     }
 }
        public bool Update(NgoaiNguEntity _NgoaiNgu)
        {
            var ngoaingu = this.m_UnitOfWork.NgoaiNguRepository.GetByID(_NgoaiNgu.Id);

            if (ngoaingu == null)
                return false;

            if (ngoaingu != null)
            {
                ngoaingu.MaQuyDinh = _NgoaiNgu.MaQuyDinh;
                ngoaingu.TenNgoaiNgu = _NgoaiNgu.TenNgoaiNgu;

                this.m_UnitOfWork.NgoaiNguRepository.Update(ngoaingu);
                this.m_UnitOfWork.Save();
            }

            return true;
        }
        /// only return json to client
        public ActionResult Create(NgoaiNguEntity ngoaingu)
        {
            NgoaiNguService service = new NgoaiNguService();

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

            if (service.Create(ngoaingu))
            {
                return Json(RenderResult.RequestCompleted(ViewData, "Thêm ngoại ngữ thành công"));
            }
            else
            {

                return Json(RenderResult.RequestCompleted(ViewData, "Lỗi khi thêm ngoại ngữ"));
            }
        }
        public bool Create(NgoaiNguEntity _NgoaiNgu)
        {
            try
            {
                var NgoaiNgu = new NgoaiNgus
                {
                    Id = _NgoaiNgu.Id,
                    MaQuyDinh = _NgoaiNgu.MaQuyDinh,
                    TenNgoaiNgu = _NgoaiNgu.TenNgoaiNgu
                };

                this.m_UnitOfWork.NgoaiNguRepository.Insert(NgoaiNgu);
                this.m_UnitOfWork.Save();

                return true;
            }
            catch(Exception e)
            {
                System.Console.WriteLine(e.ToString());
                return false;
            }
        }
        public ActionResult Edit(NgoaiNguEntity ngoaingu)
        {
            NgoaiNguService service = new NgoaiNguService();

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

            try
            {
                if (service.Update(ngoaingu))
                    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(NgoaiNguEntity ngoaingu)
        {
            NgoaiNguService service = new NgoaiNguService();

            try
            {
                if (service.Delete(ngoaingu))
                    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 List<NgoaiNguEntity> GetAll()
        {
            IEnumerable<NgoaiNgus> model = this.m_UnitOfWork.NgoaiNguRepository.GetAll();
            List<NgoaiNguEntity> result = new List<NgoaiNguEntity>();

            foreach (var item in model)
            {
                NgoaiNguEntity ngoaingu = new NgoaiNguEntity
                {
                    Id = item.Id,
                    MaQuyDinh = item.MaQuyDinh,
                    TenNgoaiNgu = item.TenNgoaiNgu
                };
                result.Add(ngoaingu);
            }

            return result;
        }