// GET: /ArticleSubCategory/Details/By ID
        public ActionResult Details(long id)
        {
            var errorViewModel = new ErrorViewModel();

            try
            {
                var model = _invArtSubCategoryService.INVUnit.ArticleSubCategoryRepository.GetByID(id);
                if (model != null)
                {
                    ArticleSubCategoryModel viewModel = new ArticleSubCategoryModel
                    {
                        Id = model.Id,
                        ArticleCategory = _invArtSubCategoryService.INVUnit.ArticleCategoryRepository.GetByID(model.CategoryId).CategoryName,
                        SubCategoryName = model.SubCategoryName,
                        Description     = model.Description,
                        //IsActive = Convert.ToBoolean(model.IsActive)
                    };

                    return(PartialView("_Details", viewModel));
                }
                else
                {
                    errorViewModel.ErrorMessage = CommonMessage.ErrorOccurred;
                    return(PartialView("_ErrorPopUp", errorViewModel));
                }
            }
            catch (Exception ex)
            {
                errorViewModel.ErrorMessage = CommonExceptionMessage.GetExceptionMessage(ex);
                return(PartialView("_ErrorPopUp", errorViewModel));
            }
        }
        public ActionResult Create(ArticleSubCategoryModel viewModel)
        {
            var strMessage = string.Empty;

            try
            {
                if (ModelState.IsValid)
                {
                    #region Current User

                    var userName = HttpContext.User.Identity.Name;
                    viewModel.IUser = userName;
                    viewModel.IDate = DateTime.Now;
                    viewModel.EDate = DateTime.Now;

                    #endregion

                    var entity = viewModel.ToEntity();
                    _invArtSubCategoryService.INVUnit.ArticleSubCategoryRepository.Add(entity);
                    _invArtSubCategoryService.INVUnit.ArticleSubCategoryRepository.SaveChanges();

                    return(Content(Boolean.TrueString));
                    //return Content("Information has been saved successfully");
                }

                strMessage = Common.GetModelStateErrorMessage(ModelState);
            }
            catch (Exception ex)
            {
                strMessage = CommonExceptionMessage.GetExceptionMessage(ex, CommonAction.Save);
            }

            return(Content(strMessage));
        }
        // GET: /ArticleSubCategory/Create
        public ActionResult Create()
        {
            var errorViewModel = new ErrorViewModel();

            try
            {
                //var subCategoryList = SelectListItemExtension.PopulateDropdownList(_invArticleService.INVUnit.ArticleSubCategoryRepository.GetAll().ToList<tblArticleSubCategory>(), "Id", "SubCategoryName").ToList();
                var categoryList = SelectListItemExtension.PopulateDropdownList(_invArtSubCategoryService.INVUnit.ArticleCategoryRepository.GetAll().ToList <tblArticleCategory>(), "Id", "CategoryName").ToList();
                var model        = new ArticleSubCategoryModel()
                {
                    ddlArticleCategory = categoryList
                };

                return(PartialView("_Create", model));
            }
            catch (Exception ex)
            {
                errorViewModel.ErrorMessage = CommonExceptionMessage.GetExceptionMessage(ex);
                return(PartialView("_ErrorPopUp", errorViewModel));
            }
        }
        public ActionResult Edit(ArticleSubCategoryModel viewModel)
        {
            var strMessage = string.Empty;

            try
            {
                if (ModelState.IsValid)
                {
                    var model = _invArtSubCategoryService.INVUnit.ArticleSubCategoryRepository.GetByID(viewModel.Id);

                    #region Current User

                    viewModel.IUser = model.IUser;
                    viewModel.IDate = model.IDate;

                    var userName = HttpContext.User.Identity.Name;
                    viewModel.EUser = userName;
                    viewModel.EDate = DateTime.Now;

                    #endregion

                    var entity = viewModel.ToEntity();

                    _invArtSubCategoryService.INVUnit.ArticleSubCategoryRepository.Update(entity);
                    _invArtSubCategoryService.INVUnit.ArticleSubCategoryRepository.SaveChanges();

                    return(Content(Boolean.TrueString));
                }

                strMessage = Common.GetModelStateErrorMessage(ModelState);
            }
            catch (Exception ex)
            {
                strMessage = CommonExceptionMessage.GetExceptionMessage(ex, CommonAction.Update);
            }

            return(Content(strMessage));
        }
        // GET: /ArticleSubCategory/Edit/By ID
        public ActionResult Edit(long id)
        {
            var errorViewModel = new ErrorViewModel();

            try
            {
                var model        = _invArtSubCategoryService.INVUnit.ArticleSubCategoryRepository.GetByID(id);
                var categoryList = SelectListItemExtension.PopulateDropdownList(_invArtSubCategoryService.INVUnit.ArticleCategoryRepository.GetAll().ToList <tblArticleCategory>(), "Id", "CategoryName").ToList();

                if (model != null)
                {
                    ArticleSubCategoryModel viewModel = new ArticleSubCategoryModel
                    {
                        Id = model.Id,
                        ddlArticleCategory = categoryList,
                        CategoryId         = model.CategoryId,

                        SubCategoryName = model.SubCategoryName,
                        Description     = model.Description,
                        //IsActive = Convert.ToBoolean(model.IsActive)
                    };

                    return(PartialView("_Edit", viewModel));
                }
                else
                {
                    errorViewModel.ErrorMessage = CommonMessage.ErrorOccurred;
                    return(PartialView("_ErrorPopUp", errorViewModel));
                }
            }
            catch (Exception ex)
            {
                errorViewModel.ErrorMessage = CommonExceptionMessage.GetExceptionMessage(ex);
                return(PartialView("_ErrorPopUp", errorViewModel));
            }
        }