Пример #1
0
        /// <summary>
        /// Loads the hierarchies.
        /// </summary>
        /// <returns>Partial View </returns>
        public async Task <ActionResult> LoadHierarchies()
        {
            try
            {
                SPFeatureViewModel        featureVM     = new SPFeatureViewModel();
                List <SPFeatureViewModel> featureVMList = new List <SPFeatureViewModel>();
                var hierarchyVMList = await GetAllHierarchies();

                hierarchyVMList = hierarchyVMList.ToList();

                if (hierarchyVMList.Count == 0)
                {
                    return(Json(new { Status = 0, Data = "Hierarchies not available", Message = "Hierarchies not available" }));
                }

                featureVM.HierarchyViewModelList = hierarchyVMList;
                featureVMList.Add(featureVM);
                return(Json(new { Status = 1, Data = RenderRazorViewToString("_Hierarchy", featureVMList) }));
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                return(Json(new { Status = -1, Data = "error", Message = ex.Message }));
            }
        }
Пример #2
0
        /// <summary>
        /// Loads the add pop up.
        /// </summary>
        /// <returns>returns _AddPopUp partial view</returns>
        public async Task <ActionResult> LoadAddPopUp()
        {
            try
            {
                SPFeatureViewModel featureVM = new SPFeatureViewModel();
                var categoryVMList           = await GetAllCategories();

                var hierarchyVMList = await GetAllHierarchies();

                categoryVMList
                .ForEach(c => c.Children = categoryVMList
                                           .Where(x => x.ParentId == c.Id)
                                           .OrderBy(x => x.SortOrder)
                                           .ToList());
                categoryVMList = categoryVMList
                                 .Where(x => x.ParentId == 0 || x.ParentId == null)
                                 .ToList();
                featureVM.CategoryViewModelList = categoryVMList;
                hierarchyVMList = hierarchyVMList.ToList();
                featureVM.HierarchyViewModelList = hierarchyVMList;
                return(Json(new { Status = 1, Data = RenderRazorViewToString("_AddPopUp", featureVM), Message = " " }));
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                return(Json(new { Status = 0, Data = "error", Message = ex.Message }));
            }
        }
Пример #3
0
        /// <summary>
        /// Sets the feature view model.
        /// </summary>
        /// <param name="catergoryModel">The catergory model.</param>
        /// <param name="featureModel">The feature model.</param>
        /// <returns>SPFeature View Model</returns>
        private SPFeatureViewModel SetFeatureViewModel(List <SPCategoryViewModel> catergoryModel, List <SPFeatureViewModel> featureModel)
        {
            SPFeatureViewModel feature = new SPFeatureViewModel();

            feature.CategoryViewModelList = new List <SPCategoryViewModel>();
            List <SPCategoryViewModel> categoryList = new List <SPCategoryViewModel>();

            try
            {
                var categoryListToAdd = catergoryModel.Where(x => x.ParentId == null).ToList();
                foreach (var category in categoryListToAdd)
                {
                    category.FeatureList = new List <SPFeatureViewModel>();
                    foreach (var featureItem in featureModel)
                    {
                        if (category.Id == featureItem.CategoryId)
                        {
                            category.FeatureList.Add(featureItem);
                        }
                    }
                }

                List <SPCategoryViewModel> subcategoryListToAdd = SetFeatureViewModelSplit(catergoryModel, featureModel);

                foreach (var category in categoryListToAdd)
                {
                    category.Children = new List <SPCategoryViewModel>();
                    foreach (var subcategoryItem in subcategoryListToAdd)
                    {
                        if (category.Id == subcategoryItem.ParentId)
                        {
                            category.Children.Add(subcategoryItem);
                        }
                    }
                }

                feature.CategoryViewModelList.AddRange(categoryListToAdd);
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                return(null);
            }

            return(feature);
        }
Пример #4
0
        /// <summary>
        /// To the object.
        /// </summary>
        /// <param name="featureEntity">The feature entity.</param>
        /// <returns>SPFeatureViewModel Object</returns>
        public override SPFeatureViewModel ToObject(SPFeatureDto featureEntity)
        {
            var model = new SPFeatureViewModel();

            model.Id          = featureEntity.Id;
            model.Name        = featureEntity.Name;
            model.DisplayName = featureEntity.DisplayName;
            model.IconClass   = featureEntity.IconClass;
            model.ProgramLink = featureEntity.ProgramLink;
            model.IsActive    = featureEntity.IsActive;
            model.CategoryId  = featureEntity.CategoryId;
            model.HierarchyId = featureEntity.HierarchyId;
            model.SortOrder   = featureEntity.SortOrder;
            model.ParentCatId = featureEntity.CategoryId;
            model.CreatedDate = featureEntity.CreatedDate ?? DateTime.MinValue;
            ////model.EditedDate = featureEntity.EditedDate;
            return(model);
        }
Пример #5
0
        /// <summary>
        /// Gets the feature by identifier.
        /// </summary>
        /// <param name="featureId">The feature identifier.</param>
        /// <returns>returns _FeatureList partial view</returns>
        public async Task <ActionResult> GetFeatureById(int featureId)
        {
            try
            {
                var featureVM      = new SPFeatureViewModel();
                var categoryVMList = await GetAllCategories();

                var hierarchyVMList = await GetAllHierarchies();

                var responseFeatures = await Get("SPFeature/GetFeatureById/" + featureId);

                if (responseFeatures.IsSuccessStatusCode)
                {
                    var feature = await responseFeatures.Content.ReadAsAsync <SPFeatureDto>();

                    featureVM = featureMapper.ToObject(feature);

                    categoryVMList
                    .ForEach(c => c.Children = categoryVMList
                                               .Where(x => x.ParentId == c.Id)
                                               .OrderBy(x => x.SortOrder)
                                               .ToList());

                    categoryVMList = categoryVMList
                                     .Where(x => x.ParentId == 0 || x.ParentId == null)
                                     .ToList();
                    featureVM.CategoryViewModelList = categoryVMList;
                    hierarchyVMList = hierarchyVMList.ToList();
                    featureVM.HierarchyViewModelList = hierarchyVMList;
                }

                return(Json(new { Status = 1, Data = RenderRazorViewToString("_EditPopUp", featureVM), Message = " " }));
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                return(Json(new { Status = 0, Data = "error", Message = ex.Message }));
            }
        }
Пример #6
0
        /// <summary>
        /// Edits the feature.
        /// </summary>
        /// <param name="featureModel">The feature model.</param>
        /// <returns>returns _FeatureList partial view</returns>
        public async Task <ActionResult> EditFeature(SPFeatureViewModel featureModel)
        {
            try
            {
                var featureEntity = featureMapper.ToEntity(featureModel);
                var response      = await Put("SPFeature/EditFeature", featureEntity);

                if (!response.IsSuccessStatusCode)
                {
                    return(Json(new { Status = 0, Message = response.ReasonPhrase }));
                }
                else if (response.StatusCode == HttpStatusCode.Created || response.StatusCode == HttpStatusCode.OK)
                {
                    List <SPFeatureViewModel> featureList = new List <SPFeatureViewModel>();
                    featureList = await GetFeatureByHierarchy(featureModel.HierarchyId);

                    var categoryListViewModel = await GetAllCategories();

                    featureList
                    .ForEach(x => x.SPCategoryViewModel = categoryListViewModel
                                                          .Where(c => c.Id == x.CategoryId)
                                                          .FirstOrDefault());
                    var featureListForRendering = SetFeatureViewModel(categoryListViewModel, featureList);
                    return(Json(new { Status = 1, Data = RenderRazorViewToString("_FeatureList", featureListForRendering), Message = response.ReasonPhrase }));
                }
                else
                {
                    return(Json(new { Status = 0, Message = response.ReasonPhrase }));
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                return(Json(new { Status = 0, Data = "error", Message = ex.Message }));
            }
        }