public ActionResult CreateLanguage(ProgrammingLanguageViewModel language)
        {
            if(ModelState.IsValid)
            {
                ProgrammingLanguage newLanguage = new ProgrammingLanguage();
                newLanguage.Name = language.Name.Trim();
                newLanguage.DateCreated = DateTime.Now;
                try
                {
                    _languageService.CreateProgrammingLanguage(newLanguage);
                    _languageService.SaveProgrammingLanguage();
                }
                catch(Exception ex)
                {
                    return View(language).WithError(ex.Message);
                }

            }
            else
                return View(language).WithError("Invalid Language");

            return RedirectToAction("Languages").WithSuccess("Language " + language.Name + " created successfully.");
        }
        public ActionResult EditLanguage(ProgrammingLanguageViewModel language)
        {
            if (ModelState.IsValid)
            {
                ProgrammingLanguage lang = _languageService.GetProgrammingLanguage(language.ID);
                lang.Name = language.Name.Trim();

                try
                {
                    _languageService.SaveProgrammingLanguage();
                }
                catch (Exception ex)
                {
                    return View(language).WithError(ex.Message);
                }

            }
            else
                return View(language).WithError("Invalid Data");

            return RedirectToAction("Languages").WithSuccess("Language " + language.Name + " updated successfully.");
        }