Esempio n. 1
0
        public string CreateCart(string clientId, string password)
        {
            if (string.IsNullOrWhiteSpace(clientId))
            {
                throw new ArgumentException(INVALID_CLIENTID_ERROR);
            }

            if (string.IsNullOrEmpty(password))
            {
                throw new ArgumentException(INVALID_PASSWORD_ERROR);
            }

            if (!_authenticator.Login(clientId, password))
            {
                throw new ArgumentException(LOGIN_IS_INVALID_ERROR);
            }

            var cartId  = GenerateUniqueIdentifier();
            var session = new Session(new Cart(_catalog), _internalClock.GetDateTime(), clientId);

            _carts.Add(cartId, session);
            return(cartId);
        }