public async Task <IEnumerable <IClientDialog> > GetDialogsWithPreTradeConditionAsync(string clientId, string assetId) { IEnumerable <IDialogCondition> conditions = await _conditionsRepository.GetDialogConditionsAsync(DialogConditionType.Pretrade); var clientDialogs = await _clientDialogsRepository.GetClientDialogsAsync(clientId); return(clientDialogs.Where(item => conditions.Any(x => x.DialogId == item.Id && x.Data.GetConditionParameters <PreTradeParameters>().AssetId == assetId))); }
public async Task <IEnumerable <IClientDialog> > GetClientDialogsAsync(string clientId) { var clientDialogs = await _dialogsRepository.GetClientDialogsAsync(clientId); var submittedDialogs = await _dialogSubmitsRepository.GetSubmittedDialogsAsync(clientId); //don't return submitted dialogs return(clientDialogs.Where(item => submittedDialogs.All(i => i.DialogId != item.Id))); }