public async Task GetProducts() { EnsureInternetAvailable(); await EnsureSessionIsValid(); try { var accessToken = await GetAccessToken(); var contract = await _productWebService.Search("", accessToken); var dataObject = Mapper.Map <List <ProductDataObject> >(contract.ToList()); _productRepository.Clear(); _productRepository.AddRange(dataObject); } catch (ApiException ex) { throw new ServerErrorException(ex.Message); } }