public static IList <PageInfo> GetPageInfos(string langCode, EntitiesAlias entity, bool forceUpdate = false) { if (!PageInfos.ContainsKey(langCode)) { PageInfos.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <PageInfo> >()); } if (!PageInfos[langCode].ContainsKey(entity)) { PageInfos[langCode].GetOrAdd(entity, _commands.GetPageInfos(langCode, entity)); } else if (!PageInfos[langCode][entity].Any() || forceUpdate) { PageInfos[langCode].AddOrUpdate(entity, _commands.GetPageInfos(langCode, entity)); } return(PageInfos[langCode][entity]); }
/// <summary> /// To start English version of it on Application start /// </summary> /// <param name="langCode">1 for EN</param> public static void Initialize(string langCode) { Tables = new Dictionary <EntitiesAlias, TableReference>(); RibbonMenus.GetOrAdd(langCode, new List <RibbonMenu>()); IdRefLangNames.GetOrAdd(langCode, new ConcurrentDictionary <int, IList <IdRefLangName> >()); PageInfos.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <PageInfo> >()); Operations.GetOrAdd(langCode, new ConcurrentDictionary <LookupEnums, IList <Operation> >()); DisplayMessages.GetOrAdd(langCode, new ConcurrentDictionary <string, DisplayMessage>()); ColumnSettings.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <ViewModels.ColumnSetting> >()); GridColumnSettings.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <ViewModels.ColumnSetting> >()); ValidationRegExpressions.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <ValidationRegEx> >()); MasterTables.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, object>()); ConditionalOperators.GetOrAdd(langCode, new List <ConditionalOperator>()); SysSettings.GetOrAdd(langCode, new SysSetting()); BusinessConfiguration.GetOrAdd(langCode, new BusinessConfiguration()); }
/// <summary> /// To start English version of it on Application start /// </summary> /// <param name="langCode">1 for EN</param> public static void Initialize(string langCode) { RibbonMenus.GetOrAdd(langCode, new List <RibbonMenu>()); IdRefLangNames.GetOrAdd(langCode, new ConcurrentDictionary <int, IList <IdRefLangName> >()); PageInfos.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <PageInfo> >()); Operations.GetOrAdd(langCode, new ConcurrentDictionary <LookupEnums, IList <Operation> >()); DisplayMessages.GetOrAdd(langCode, new ConcurrentDictionary <string, DisplayMessage>()); ColumnSettings.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <ColumnSetting> >()); GridColumnSettings.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <ColumnSetting> >()); ValidationRegExpressions.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <ValidationRegEx> >()); MasterTables.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, object>()); ConditionalOperators.GetOrAdd(langCode, new List <ConditionalOperator>()); BusinessConfiguration.GetOrAdd(langCode, new BusinessConfiguration()); List <Task> tasks = new List <Task>(); tasks.Add(Task.Factory.StartNew(() => { GetRibbonMenus(langCode); GetTables(); InitializerOperations(langCode); GetSystemSettings(langCode); })); if (tasks.Count > 0) { Task.WaitAll(tasks.ToArray()); } #region Nav Cache Commented Code ////string username = M4PBusinessContext.ComponentSettings.NavAPIUserName; ////string password = M4PBusinessContext.ComponentSettings.NavAPIPassword; ////string serviceURL = M4PBusinessContext.ComponentSettings.NavAPIUrl; ////NAVOrderItemResponse.GetOrAdd(langCode, new NAVOrderItemResponse()); ////DimensionValues.GetOrAdd(langCode, new NavSalesOrderDimensionResponse()); ////GetNavSalesOrderDimensionValues(langCode, username, password, serviceURL); ////CachedNavSalesOrder.GetOrAdd(langCode, new NavSalesOrderPostedInvoiceResponse()); ////GetCachedNavSalesOrderValues(langCode, username, password, serviceURL); ////CachedNavPurchaseOrder.GetOrAdd(langCode, new NavPurchaseOrderPostedInvoiceResponse()); ////GetCachedNavPurchaseOrderValues(langCode, username, password, serviceURL); ////CachedNavSalesLine.GetOrAdd(langCode, new NavSalesOrderItemResponse()); ////GetCachedNavSalesOrderItemValues(langCode, username, password, serviceURL); ////CachedNavPurchaseLine.GetOrAdd(langCode, new NavPurchaseOrderItemResponse()); ////GetCachedNavPurchaseOrderItemValues(langCode, username, password, serviceURL); #endregion Nav Cache Commented Code }
public List <T> Pageing <T>(IQueryable <T> infoList, PageInfos pageInfo) { if (pageInfo == null) { pageInfo = new PageInfos { Index = 1, Size = 10, TotalRow = 0, CountTotal = true }; } if (infoList != null && pageInfo != null) { if (pageInfo.CountTotal) { pageInfo.TotalRow = infoList.Count(); } long infoCount = pageInfo.TotalRow; //特殊不需要分页的情况 if (pageInfo.Size == int.MaxValue || pageInfo.Size == -1) { return(infoList.ToList()); } int index = pageInfo.Index < 1 ? 1 : pageInfo.Index; if (((pageInfo.Index - 1) * pageInfo.Size) > infoCount) { index = (int)infoCount / pageInfo.Size; } else if (((pageInfo.Index - 1) * pageInfo.Size) == infoCount) { index = pageInfo.Index - 1; } index = index < 1 ? 1 : index; infoList = infoList.Skip((index - 1) * pageInfo.Size).Take(pageInfo.Size); return(infoList.ToList()); } else { return(new List <T>()); } }