/// <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 })); } }
/// <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 })); } }
/// <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); }
/// <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); }
/// <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 })); } }
/// <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 })); } }