public ActionResult Edit(SubPracticeModel subPractice)
        {
            try
            {
                InitializePageData();
                ViewBag.PracticeListItems = (IEnumerable <SelectListItem>)Session["PracticeListItems"] ?? GetPracticesDropDownList();

                if (ModelState.IsValid)
                {
                    if (subPracticeService.Exists(subPractice.SubPracticeName, subPractice.SubPracticeID, subPractice.PracticeID))
                    {
                        DisplayWarningMessage($"The Competency Name '{subPractice.SubPracticeName}' is duplicate");
                        return(View(subPractice));
                    }

                    SubPracticeDto subPracticeDto = Mapper.Map <SubPracticeModel, SubPracticeDto>(subPractice);
                    subPracticeService.UpdateSubPractice(subPracticeDto);
                    DisplaySuccessMessage("Competency has been updated successfully");
                    Session["SelectedPracticeID"] = subPractice.PracticeID.ToString();
                    return(RedirectToAction("List"));
                }
            }
            catch (Exception exp)
            {
                DisplayUpdateErrorMessage(exp);
            }
            return(View(subPractice));
        }
        // GET: SubPractice/Edit/5
        public ActionResult Edit(int?id)
        {
            SubPracticeModel uiPractice = new SubPracticeModel();

            if (!id.HasValue)
            {
                DisplayWarningMessage("Looks like, the ID is missing in your request");
                return(RedirectToAction("List"));
            }

            try
            {
                if (!subPracticeService.Exists(id.Value))
                {
                    DisplayWarningMessage($"Sorry, We couldn't find the Competency with ID: {id.Value}");
                    return(RedirectToAction("List"));
                }

                InitializePageData();
                ViewBag.PracticeListItems = (IEnumerable <SelectListItem>)Session["PracticeListItems"] ?? GetPracticesDropDownList();

                SubPracticeDto practice = subPracticeService.GetByID(id.Value);
                uiPractice = Mapper.Map <SubPracticeDto, SubPracticeModel>(practice);
            }
            catch (Exception exp)
            {
                DisplayReadErrorMessage(exp);
            }

            return(View(uiPractice));
        }