public IEnumerable <Affiliate> GetAffiliates(AffiliateRequest request) { request = request ?? new AffiliateRequest(); var cacheKey = string.Format("{0}.{1}", CacheKeyBase, request.ToString()); return(request.UseCache ? _cacheStorage.Retrieve(cacheKey, () => GetAffiliatesInternal(request)) : GetAffiliatesInternal(request)); }
public IEnumerable <Affiliate> GetAffiliates(AffiliateRequest request = null) { const string cacheKey = "UserService.Affiliates"; request = request ?? new AffiliateRequest(); return(request.UseCache ? _cacheStorage.Retrieve(cacheKey, () => GetAffiliatesInternal(request)) : GetAffiliatesInternal(request)); }
public Affiliate CreateAffiliate(AffiliateRequest affiliateRequest) { var url = GetRequestUrl("/affiliates/"); var payLoad = JsonConvert.SerializeObject(affiliateRequest); var response = HttpClient.PostAsync(url, new StringContent(payLoad)).Result; return(GetResponse <Affiliate>(response)); }
public Affiliate GetAffiliate(int id) { var request = new AffiliateRequest { AffiliateID = id, UseCache = false, IncludeLogos = true }; return(_affiliateService.GetAffiliates(request).FirstOrDefault()); }
private IEnumerable <Affiliate> GetAffiliatesInternal(AffiliateRequest request) { var query = _affiliateRepository.GetAll <Affiliate>() .AsNoTracking() .Include("Features") .Include("Features.Settings") .Include("Features.Feature") .Include("Features.Feature.Settings"); if (request.AffiliateID > 0) { query = query.Where(a => a.AffiliateID == request.AffiliateID); } if (request.IncludeLogos) { query = query.Include("Logos") .Include("Logos.LogoType") .Include("Logos.FileInfo"); } if (request.IncludeSamlConfiguration) { query = query.Include("SamlConfiguration") .Include("SamlConfiguration.ConfigurationType") .Include("SamlConfiguration.ConfigurationType.Settings") .Include("SamlConfiguration.ConfigurationSettings") .Include("SamlConfiguration.ConfigurationSettings.Environment") .Include("SamlConfiguration.ConfigurationSettings.Setting"); } var affiliates = request.IncludeUserCount ? GetAffiliateUserCounts(query).ToList() : query.OrderBy(a => a.Name).ToList(); if (request.IncludeLogos) { var logoTypes = _affiliateRepository.GetAll <AffiliateLogoType>().ToList(); foreach (var affiliate in affiliates) { foreach (var logoType in logoTypes.Where(logoType => !affiliate.Logos.Any(l => l.AffiliateLogoTypeID == logoType.AffiliateLogoTypeID))) { affiliate.Logos.Add(new AffiliateLogo() { AffiliateID = affiliate.AffiliateID, AffiliateLogoTypeID = logoType.AffiliateLogoTypeID, LogoType = logoType }); } } } return(affiliates); }
private IEnumerable <Affiliate> GetAffiliatesInternal(AffiliateRequest request) { var query = _userRepository.GetAll <Affiliate>() .Include("Logos"); if (request.AffiliateID > 0) { query = query.Where(a => a.AffiliateID == request.AffiliateID); } return(request.IncludeUserCount ? GetAffiliateUserCounts(query).ToList() : query.ToList()); }
public IEnumerable <AffiliateFeature> GetAffiliateFeatures(int affiliateId) { var request = new AffiliateRequest { AffiliateID = affiliateId, UseCache = false, IncludeLogos = true }; var affiliate = GetAffiliates(request).FirstOrDefault(); if (affiliate == null) { throw new Exception("Invalid Affiliate ID"); } // Get all available features var features = GetFeatures().ToList(); // Add any missing features foreach (var feature in features.Where(feature => affiliate.Features.All(f => f.FeatureID != feature.FeatureID))) { affiliate.Features.Add(new AffiliateFeature() { AffiliateID = affiliate.AffiliateID, FeatureID = feature.FeatureID, Feature = feature, IsEnabled = false }); } // Now add any missing feature settings foreach (var affiliateFeature in affiliate.Features) { var feature = features.First(f => f.FeatureID == affiliateFeature.FeatureID); foreach (var setting in feature.Settings.Where(setting => affiliateFeature.Settings.All(s => s.FeatureSettingID != setting.FeatureSettingID))) { affiliateFeature.Settings.Add(new AffiliateFeatureSetting() { FeatureSettingID = setting.FeatureSettingID, AffiliateFeatureID = affiliateFeature.AffiliateFeatureID }); } } return(affiliate.Features.OrderBy(f => f.Feature.Name).ToList()); }
public IEnumerable <dynamic> GetAffiliates([FromUri] AffiliateRequest request) { request = request ?? new AffiliateRequest(); return(_affiliateService.GetAffiliates(request).OrderBy(a => a.Name).Select(a => new { a.AffiliateID, a.Name, a.ExternalID, Phone = a.Phone.FormatAsPhoneNo(), a.WebsiteUrl, Address = a.Address.Replace(Environment.NewLine, "<br/>"), a.UserCount, a.ModifyDateUtc })); }
public IEnumerable <Affiliate> GetAffiliates(AffiliateRequest request) { var proxy = _affiliateService.CreateProxy(); return(proxy.GetAffiliates(request)); }