public IActionResult Create(FAQViewModel model)
        {
            FAQViewModel viewModel = null;
            try
            {
                if(!ModelState.IsValid)
                    throw new Exception("The FAQ model is not valid!");

                _libraryContext.FAQs.Add(model.FAQ);
                if (_libraryContext.SaveChanges() == 0)
                {
                   throw new Exception("The FAQ model could not be saved!");
                }

                return RedirectToAction("Index");
            }
            catch(Exception ex)
            {
                ModelState.AddModelError(string.Empty, "Unable to save changes.");

                viewModel = new FAQViewModel
                {
                    FAQ = new FAQ(),
                    Libraries = _libraryContext.Libraries.AsEnumerable()
                };
            }
            return View(viewModel);
        }
        public IActionResult Create()
        {
            var model = new FAQViewModel
            {
                FAQ = new FAQ(),
                Libraries = _libraryContext.Libraries.AsEnumerable()
            };

            return View(model);
        }
        public IActionResult Edit(FAQViewModel model)
        {
            try
            {
                if(!ModelState.IsValid)
                    throw new Exception("The FAQ model is not valid!");

                var originalModel = _libraryContext.FAQs.FirstOrDefault(m => m.Id == model.FAQ.Id);

                if(originalModel == null)
                    throw new Exception("The existing Post: " + model.FAQ.Question + " doesn't exists anymore!");

                originalModel.Question = model.FAQ.Question;
                originalModel.Answer = model.FAQ.Answer;
                originalModel.Description = model.FAQ.Description;
                originalModel.LibraryId = model.FAQ.LibraryId;

                _libraryContext.FAQs.Attach(originalModel);
                _libraryContext.Entry(originalModel).State = EntityState.Modified;

                if (_libraryContext.SaveChanges() == 0)
                {
                   throw new Exception("The FAQ model could not be saved!");
                }

                return RedirectToAction("Index");

            }
            catch(Exception ex)
            {
                ModelState.AddModelError(string.Empty, "Unable to save changes.");
            }
            return View(model);
        }
        public IActionResult Edit(Int32? id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(400);
            }

            var model = _libraryContext.FAQs.FirstOrDefault(m => m.Id == id);

            if(model == null)
            {
                return RedirectToAction("Index");
            }

            var viewModel = new FAQViewModel
            {
                FAQ = model,
                Libraries = _libraryContext.Libraries.AsEnumerable()
            };

            return View(viewModel);
        }