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);
            }
        }