コード例 #1
0
        public string Put(string id, [FromBody] APIPackage package)
        {
            var sessionId    = package.sessionIdentifier;
            var apiKey       = package.apiKey;
            var sessionIdGet = id;

            if (sessionId == null || apiKey == null)
            {
                throw new InvalidOperationException("package invalid.");
            }

            if (!apiKey.Equals(_options.MyAPIKey))
            {
                throw new InvalidOperationException("api key not valid.");
            }

            if (!sessionIdGet.Equals(sessionId))
            {
                throw new InvalidOperationException("session id does not match criteria.");
            }

            int newNumberOfItems = _broker.ChangeItemInTrolley(_options.StorageConnectionString, sessionId, package.contentItem);

            return(newNumberOfItems.ToString());
        }
コード例 #2
0
        public WineItem PostItem(string id, [FromBody]APIPackage package)
        {
            var sessionId = package.sessionIdentifier;
            var apiKey = package.apiKey;

            if (apiKey == null)
            {
                return null;
            }

            if (!apiKey.Equals(_options.MyAPIKey))
            {
                return null;
            }

            if(string.IsNullOrWhiteSpace(id)) {
                return null;
            }

            if(!id.Contains(":")) {
                return null;
            }

            return _broker.GetInventoryItemWithId(id);
        }
コード例 #3
0
        public string Post([FromBody] APIPackage package)
        {
            var sessionId = package.sessionIdentifier;
            var apiKey    = package.apiKey;

            if (sessionId == null || apiKey == null)
            {
                throw new InvalidOperationException("package invalid.");
            }

            if (!apiKey.Equals(_options.MyAPIKey))
            {
                throw new InvalidOperationException("api key not valid.");
            }

            return(_broker.GetItemsInTrolley(_options.StorageConnectionString, sessionId));
        }
コード例 #4
0
        public Dictionary<string, WineItem> Post([FromBody]APIPackage package)
        {
            var sessionId = package.sessionIdentifier;
            var apiKey = package.apiKey;

            if (apiKey == null)
            {
                return new Dictionary<string, WineItem>();
            }

            if (!apiKey.Equals(_options.MyAPIKey))
            {
                return new Dictionary<string, WineItem>();
            }

            return _broker.GetCurrentInventory();
        }
コード例 #5
0
 // PUT api/inventory
 public string Put([FromBody]APIPackage package) {
     
     return _broker.ChangeStock(package.contentItem, _options.StorageConnectionString);
 }
コード例 #6
0
        public string Post([FromBody] APIPackage package)
        {
            var result = _broker.CheckoutTrolley(package.sessionIdentifier, package.contentItem, _purchaseOptions.SendGridAPIKey, _purchaseOptions.TrolleyAPI, _purchaseOptions.TrolleyAPIKey, _purchaseOptions.InventoryAPI, _purchaseOptions.InventoryAPIKey);

            return(result);
        }