public Dtos.SubscribersDto GetSubscriber(Dtos.GetSubscribersInput input) { //Get the Subscriber(s) //NOTE: If multiple subscribers come back than we need to filter based on subscribers associated to criteria for a company //NOTE: May need to refactor by adding CompanyRefId to Subscriber List<Subscriber> subscribers = new List<Subscriber>(); Subscriber subscriber = new Subscriber(); SubscribersDto subscriberDto = new SubscribersDto(); try { if (input.SubscribersEmail != string.Empty) { subscribers = _subscribersRepository.GetSubscriberByEmail(input.SubscribersEmail); if (subscribers.Count > 1) { int subscriberId = 0; foreach (var item in subscribers) { List<SubscriberCriteria> scList = _subscribersValuesRepository.GetSubscribersCriteriaValues(item.Id, input.CompanyId.Value); if (scList != null) { if (scList.Count > 0) { subscriberId = item.Id; } } } subscriber = subscribers.Where(s => s.Id == subscriberId).FirstOrDefault(); subscriberDto = subscriber.MapTo<SubscribersDto>(); } else { subscriber = subscribers.FirstOrDefault(); subscriberDto = subscriber.MapTo<SubscribersDto>(); if (subscriber != null) { //Get subscriber images from DocumentHero #region Get Subscriber Image var inputFileExt = new List<FileExtDto>(); var inputFileExtValue = new FileExtDto() { Key = "SubscriberId", Value = subscriber.Id.ToString(), FileRefId = input.CompanyId.Value }; inputFileExt.Add(inputFileExtValue); GetFileInput fileInput = new GetFileInput(); fileInput.ApiKey = input.CompanyId; fileInput.FileMetadata = inputFileExt; //var _fileExtRepository = _iocResolver.Resolve<IFileExtRepository>(); //var fileService = IocManager.Instance.Resolve<FileAppService>(); //var imageUri = fileService.GetFiles(fileInput); //DocumentHero.Files.FileAppService fileAppService = new FileAppService(); var resultsImage = _documentHeroService.GetAllByKeyValue(fileInput); if (resultsImage.Files != null) { subscriberDto.ImageUri = resultsImage.Files[0].Uri; } } #endregion } } return subscriberDto; } catch(System.Exception exc) { Logger.ErrorFormat("CH_SAS_000", exc.StackTrace); throw exc; } }