Example #1
0
        public async Task <SearchResult <SettingViewModel> > GetWebsiteSettingsAsync(string tenantId, string languageId)
        {
            var websiteSettingGroupId = "GHM.Website.Domain.Models.WebsiteSetting.WebsiteSetting";
            var settings = await GetsByGroupId(tenantId, languageId, websiteSettingGroupId);

            var properties = ClassHelper.GetPropertiesName <WebsiteSetting>();

            if (properties == null || !properties.Any())
            {
                return(new SearchResult <SettingViewModel>(-1, _resourceService.GetString(ErrorMessage.SomethingWentWrong)));
            }

            if (settings != null && settings.Any())
            {
                var listNewProperties = properties
                                        .Select(ClassHelper.GetPropertyNameAsKey <WebsiteSetting>)
                                        .ToList()
                                        .Except(settings.Select(x => x.Key))
                                        .ToList();

                if (listNewProperties.Any())
                {
                    var newProperties = properties.Where(x => listNewProperties
                                                         .Contains(ClassHelper.GetPropertyNameAsKey <WebsiteSetting>(x))).ToList();
                    settings.AddRange(newProperties.Select(x => new SettingViewModel
                    {
                        Value       = string.Empty,
                        GroupId     = websiteSettingGroupId,
                        LanguageId  = languageId,
                        Key         = ClassHelper.GetPropertyNameAsKey <WebsiteSetting>(x),
                        DisplayName = ClassHelper.GetDisplayName <WebsiteSetting>(x)
                    }));
                }
                return(new SearchResult <SettingViewModel>(settings));
            }

            settings = properties.Select(x => new SettingViewModel
            {
                Value       = string.Empty,
                GroupId     = websiteSettingGroupId,
                LanguageId  = languageId,
                Key         = ClassHelper.GetPropertyNameAsKey <WebsiteSetting>(x),
                DisplayName = ClassHelper.GetDisplayName <WebsiteSetting>(x)
            }).ToList();
            return(new SearchResult <SettingViewModel>(settings));
        }
Example #2
0
        public async Task <SearchResult <WarehouseConfigViewModel> > GetWarehouseConfigs(string tenantId, string languageId, string warehouseId)
        {
            var warehouseConfigs = await _warehouseConfigRepository.GetAll(tenantId, languageId, warehouseId);

            var properties = ClassHelper.GetPropertiesName <WarehouseConfigSetting>();

            if (properties == null || !properties.Any())
            {
                return(new SearchResult <WarehouseConfigViewModel>(-1, _warehouseResourceService.GetString(ErrorMessage.SomethingWentWrong)));
            }

            if (warehouseConfigs != null && warehouseConfigs.Any())
            {
                var listNewProperties = properties
                                        .Select(ClassHelper.GetPropertyNameAsKey <WarehouseConfigSetting>)
                                        .ToList()
                                        .Except(warehouseConfigs.Select(x => x.Key))
                                        .ToList();

                if (listNewProperties.Any())
                {
                    var newProperties = properties.Where(x => listNewProperties
                                                         .Contains(ClassHelper.GetPropertyNameAsKey <WarehouseConfigSetting>(x))).ToList();
                    warehouseConfigs.AddRange(newProperties.Select(x => new WarehouseConfigViewModel
                    {
                        TenantId    = tenantId,
                        Value       = string.Empty,
                        LanguageId  = languageId,
                        Key         = ClassHelper.GetPropertyNameAsKey <WarehouseConfigSetting>(x),
                        DisplayName = ClassHelper.GetDisplayName <WarehouseConfigSetting>(x)
                    }));
                }
                return(new SearchResult <WarehouseConfigViewModel>(warehouseConfigs));
            }

            warehouseConfigs = properties.Select(x => new WarehouseConfigViewModel
            {
                TenantId    = tenantId,
                Value       = string.Empty,
                LanguageId  = languageId,
                Key         = ClassHelper.GetPropertyNameAsKey <WarehouseConfigSetting>(x),
                DisplayName = ClassHelper.GetDisplayName <WarehouseConfigSetting>(x)
            }).ToList();
            return(new SearchResult <WarehouseConfigViewModel>(warehouseConfigs));
        }