public HttpResponseMessage PostAddress(Address address)
        {
            if (address == null)
            {
                return Request.CreateErrorResponse(HttpStatusCode.BadRequest, Resources.InvalidAddress);
            }

            if (!ModelState.IsValid)
            {
                return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
            }

            _addressRepository.AddUpdate(this.User.Identity.Name, address);
            return Request.CreateResponse(HttpStatusCode.OK, true);
        }
        public void AddUpdate(string userName, Address address)
        {
            if (!_addressesDictionary.ContainsKey(userName))
            {
                _addressesDictionary[userName] = new List<Address>();
            }

            var userAddresses = _addressesDictionary[userName];
            var matchingAddress = userAddresses.Find(a => a.Id == address.Id);
            if (matchingAddress != null)
            {
                userAddresses.Remove(matchingAddress);
            }
            _addressesDictionary[userName].Add(address);
        }