public List <ApplicationDTO> GetApplicationsList(ApplicationListFilterDTO filter) { var dtos = new List <ApplicationDTO>(); try { var isInactive = (filter.IsActive == true) ? "N" : "S"; //Select application and its profiles var apps = _appRepo.SelectWhere(app => app.IsInactive.ToUpper() == isInactive).ToList(); var validations = new List <ValidationResult>(); apps.AsParallel().ForAll(a => { a.Validate(); validations.AddRange(a.Validation.Results); }); if (validations.Any()) { throw new ServiceException(validations); } //Initialize the DTO to return dtos = apps.Map <List <SsoApplication>, List <ApplicationDTO> >(); } catch (Exception ex) { LogHelper.ExceptionAndThrow(ex); } return(dtos); }
public List <ApplicationDTO> GetApplicationsList(ApplicationListFilterDTO filter) { var dtos = new List <ApplicationDTO>(); try { //Select application and its profiles var ssoApps = _ssoApplicationRepo.SelectWhere(app => app.IsInactive.ToUpper() == "N").ToList(); var validations = new List <ValidationResult>(); ssoApps.AsParallel().ForAll(apps => { apps.Validate(); validations.AddRange(apps.Validation.Results); }); if (validations.Any()) { throw new ServiceException(validations); } var appsIds = ssoApps.Select(sa => sa.Id.ToLower()).ToList(); var translationParameters = new List <string> { CommonTranslationParameter.TRANS_TP_EXC_APPL.ToString() }; var translations = LoadTranslations(appsIds, translationParameters, filter.LanguageCultureName); //Adds profiles to applications ssoApps.AsParallel().ForAll(app => app.AddTranslations(translations)); //Initialize the DTO to return dtos = ssoApps.Map <List <SsoApplication>, List <ApplicationDTO> >(); } catch (Exception ex) { LogHelper.ExceptionAndThrow(ex); } return(dtos); }