public async Task <IResponse <Dictionary <string, int> > > GetLossCountLastDaysAsync(int dayCount = 10) { var result = new Response <Dictionary <string, int> >(); try { var cache = (Response <Dictionary <string, int> >)_cacheProvider.Get(LossCountLastDaysCacheKey()); if (cache != null) { return(cache); } result.Result = await _appUow.LossRepo.GetLossCountLastDaysAsync(dayCount); if (result.Result.Count() == 0) { return new Response <Dictionary <string, int> > { Message = ServiceMessage.RecordNotExist } } ; result.IsSuccessful = true; result.Message = ServiceMessage.Success; _cacheProvider.Add(LossCountLastDaysCacheKey(), result, DateTimeOffset.Now.AddMinutes(30)); return(result); } catch (Exception e) { FileLoger.Error(e); return(result); } }
public MenuModel GetAvailableActions(Guid userId, List <MenuSPModel> spResult = null, string urlPrefix = "") { var userMenu = (MenuModel)_cache.Get(GlobalVariables.CacheSettings.MenuModelCacheKey(userId)); if (userMenu != null) { return(userMenu); } userMenu = new MenuModel(); if (spResult == null) { spResult = _dashboardMenuSp.GetUserMenu(userId).ToList(); } #region Find Default View foreach (var menuItem in spResult) { if (menuItem.IsAction && menuItem.IsDefault) { userMenu.DefaultUserAction = new UserAction { Action = menuItem.ActionName, Controller = menuItem.ControllerName }; break; } var actions = menuItem.ActionsList; if (actions.Any(x => x.IsDefault)) { userMenu.DefaultUserAction = new UserAction { Action = actions.FirstOrDefault(x => x.IsDefault).ActionName, Controller = actions.FirstOrDefault(x => x.IsDefault).ControllerName }; break; } } if (userMenu.DefaultUserAction == null || userMenu.DefaultUserAction.Controller == null) { return(null); } #endregion var userActions = new List <UserAction>(); foreach (var item in spResult) { if (item.IsAction) { userActions.Add(new UserAction { Controller = item.ControllerName.ToLower(), Action = item.ActionName.ToLower(), RoleId = item.RoleId, RoleNameFa = item.RoleNameFa }); } if (item.ActionsList != null) { foreach (var child in item.ActionsList) { userActions.Add(new UserAction { Controller = child.ControllerName.ToLower(), Action = child.ActionName.ToLower(), RoleId = child.RoleId, RoleNameFa = child.RoleNameFa }); } } } userActions = userActions.Distinct().ToList(); userMenu.Menu = GetAvailableMenu(spResult, urlPrefix); userMenu.ActionList = userActions; _cache.Add(GlobalVariables.CacheSettings.MenuModelCacheKey(userId), userMenu, DateTime.Now.AddMinutes(30)); return(userMenu); }