public async Task <IEnumerable <SmsServiceInfo> > GetServiceInfoList(SmsServiceInfoCondition smsServiceInfoCondition) { if (!_smsServiceInfoListInitialized) { await InitializeSmsServiceInfoList(); } var smsServiceInfoList = _smsServiceInfoList .Where(z => z.ServiceCode == smsServiceInfoCondition.ServiceCode && z.NumberCount > 0 && !z.Skiped) .OrderBy(z => z.FailCount) .ThenBy(z => z.Price) .ThenByDescending(z => z.NumberCount) .ToList(); if ((smsServiceInfoCondition.CountryCodes != null) && smsServiceInfoCondition.CountryCodes.Any()) { smsServiceInfoList = smsServiceInfoList .Where(z => smsServiceInfoCondition.CountryCodes.Contains(z.CountryCode)) .ToList(); } if ((smsServiceInfoCondition.SmsServiceCodes != null) && smsServiceInfoCondition.SmsServiceCodes.Any()) { smsServiceInfoList = smsServiceInfoList .Where(z => smsServiceInfoCondition.SmsServiceCodes.Contains(z.SmsServiceCode)) .ToList(); } return(smsServiceInfoList); }
private SmsServiceInfoCondition GetSmsServiceInfoCondition(ServiceCode serviceCode) { if (cbSmsAuto.Checked && cbCountryAuto.Checked) { return(null); } var smsServiceInfoCondition = new SmsServiceInfoCondition { ServiceCode = serviceCode }; if (!cbCountryAuto.Checked) { smsServiceInfoCondition.CountryCodes = new List <CountryCode> { ((CountryItem)cmbCountry.SelectedItem).CountryCode }; } if (!cbSmsAuto.Checked) { smsServiceInfoCondition.SmsServiceCodes = new List <SmsServiceCode> { ((SmsServiceItem)cmbSmsService.SelectedItem).SmsServiceCode }; } return(smsServiceInfoCondition); }