public async Task <Customer> Get(UserId id)
        {
            try
            {
                ItemResponse <CustomerDal> response = await this._container.ReadItemAsync <CustomerDal>(id.ToString(), new PartitionKey(id.ToString()));

                var customerDal = response.Resource;
                return(CustomerModelMapper.FromDalModel(customerDal));
            }
            catch (CosmosException ex) when(ex.StatusCode == System.Net.HttpStatusCode.NotFound)
            {
                return(null);
            }
        }
        public async Task <IReadOnlyCollection <Customer> > Get()
        {
            var query = this._container.GetItemQueryIterator <CustomerDal>();
            List <CustomerDal> results = new List <CustomerDal>();

            while (query.HasMoreResults)
            {
                var response = await query.ReadNextAsync();

                results.AddRange(response.ToList());
            }

            List <Customer> customers = new List <Customer>();

            foreach (var customerDal in results)
            {
                customers.Add(CustomerModelMapper.FromDalModel(customerDal));
            }

            return(customers);
        }
        public async Task Update(Customer customer)
        {
            var customerDal = CustomerModelMapper.FromDomainModel(customer);

            await this._container.UpsertItemAsync <CustomerDal>(customerDal, new PartitionKey(customerDal.Id.ToString()));
        }