public bool DeleteUserDashboardPreference(UserDashboardPreference userDashboardPreference) { if (userDashboardPreference == null) { return(false); } _unitOfWork.UserDashboardPreferenceRepository.Delete(userDashboardPreference); _unitOfWork.Save(); return(true); }
public JsonResult SavePreference([DataSourceRequest] DataSourceRequest request, List <int> selectedDashboardIDs) { var userID = UserAccountHelper.GetUser(HttpContext.User.Identity.Name).UserProfileID; var userDashboardPreferences = _userDashboardPreferenceService.Get(t => t.UserID == userID).OrderBy(m => m.OrderNo); var selectedDashboardWidgets = userDashboardPreferences.Select(userDashboardPreference => _dashboardWidgetService.FindById(userDashboardPreference.DashboardWidgetID)).ToList(); var selectedDashboardWidgetIDs = selectedDashboardWidgets.Select(selectedDashboardWidget => selectedDashboardWidget.DashboardWidgetID).ToList(); //Create the newly selected dashboards in user preference var order = 1; foreach (var selectedDashboardID in selectedDashboardIDs) { if (!selectedDashboardWidgetIDs.Contains(selectedDashboardID)) { var userDashboardPreference = new UserDashboardPreference { DashboardWidgetID = selectedDashboardID, UserID = userID, OrderNo = order }; _userDashboardPreferenceService.AddUserDashboardPreference(userDashboardPreference); } order++; } //Delete the removed dashboards from the user preference foreach (var userDashboardPreferenceObj in selectedDashboardWidgetIDs.Where(selectedDashboardWidgetID => !selectedDashboardIDs.Contains(selectedDashboardWidgetID)).Select(id => _userDashboardPreferenceService.Get( t => t.DashboardWidgetID == id && t.UserID == userID).FirstOrDefault())) { _userDashboardPreferenceService.DeleteUserDashboardPreference(userDashboardPreferenceObj); } //Edit the selected dashboards order var orderNo = 1; foreach (var userDashboardPreferenceObj in selectedDashboardIDs.Select(id => _userDashboardPreferenceService.Get( t => t.DashboardWidgetID == id && t.UserID == userID).FirstOrDefault())) { userDashboardPreferenceObj.OrderNo = orderNo; _userDashboardPreferenceService.EditUserDashboardPreference(userDashboardPreferenceObj); orderNo++; } ModelState.AddModelError("Success", @"Preference Saved."); return(Json(true, JsonRequestBehavior.AllowGet)); }
public bool EditUserDashboardPreference(UserDashboardPreference userDashboardPreference) { _unitOfWork.UserDashboardPreferenceRepository.Edit(userDashboardPreference); _unitOfWork.Save(); return(true); }