コード例 #1
0
 public bool DeleteUserDashboardPreference(UserDashboardPreference userDashboardPreference)
 {
     if (userDashboardPreference == null)
     {
         return(false);
     }
     _unitOfWork.UserDashboardPreferenceRepository.Delete(userDashboardPreference);
     _unitOfWork.Save();
     return(true);
 }
コード例 #2
0
        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));
        }
コード例 #3
0
 public bool EditUserDashboardPreference(UserDashboardPreference userDashboardPreference)
 {
     _unitOfWork.UserDashboardPreferenceRepository.Edit(userDashboardPreference);
     _unitOfWork.Save();
     return(true);
 }