// Public method
        public static void DeleteInventoryItem(int ID)
        {
            // Delete existing entry request generate
            var requestMessage = new ODataClientRequestMessage(new Uri(BoxXDataCRUDHelpers.DataCollectionUrl + '(' + ID + ')'),
                                                               ODataConstants.MethodDelete);

            BoxXDataCRUDHelpers.DeleteEntryRequestHeaderSetter(requestMessage, AuthUtil.Instance.AccessToken);

            // Delete existing entry request execute
            IODataResponseMessage responseMessage = requestMessage.GetResponse();
        }
예제 #2
0
        public void CreateInventoryItem(IInventoryItem inventoryItem)
        {
            if (_model == null)
            {
                _model = BoxXDataCRUDHelpers.GetMetadata(BoxXDataCRUDHelpers.MetadataUrl);
            }

            // Create new entry request generate
            var requestMessage = new ODataClientRequestMessage(new Uri(BoxXDataCRUDHelpers.DataCollectionUrl),
                                                               ODataConstants.MethodPost);

            BoxXDataCRUDHelpers.CreateEntryRequestHeaderSetter(requestMessage, AuthUtil.Instance.AccessToken);
            BoxXDataCRUDHelpers.SetODataRequestContent(requestMessage, _model, inventoryItem);

            // Create new entry request execute
            IODataResponseMessage responseMessage = requestMessage.GetResponse();
        }
        // TODO: Remove this method once the test failed.
        public void GetValueWithoutLocallyFiltering(IInventoryCollection dataCollection, IInventoryQuery query)
        {
            if (dataCollection == null)
            {
                throw new ArgumentNullException("dataCollection");
            }

            if (_model == null)
            {
                _model = BoxXDataCRUDHelpers.GetMetadata(BoxXDataCRUDHelpers.MetadataUrl);
            }

            var requestMessage = new ODataClientRequestMessage(new Uri(BoxXDataCRUDHelpers.DataCollectionUrl + query.GetQueryUriOptions()),
                                                               ODataConstants.MethodGet);

            BoxXDataCRUDHelpers.GetFeedOrEntryRequsetHeaderSetter(requestMessage, AuthUtil.Instance.AccessToken);
            IODataResponseMessage responseMessage = requestMessage.GetResponse();

            using (var messageReader = new ODataMessageReader(responseMessage, new ODataMessageReaderSettings(), _model))
            {
                switch (GetMessageType(responseMessage))
                {
                case ODataMessageType.Feed:
                {
                    ODataReader reader = messageReader.CreateODataFeedReader();
                    ParseDataFromFeedOrEntry(dataCollection, reader);
                    break;
                }

                case ODataMessageType.Entry:
                {
                    ODataReader reader = messageReader.CreateODataEntryReader();
                    ParseDataFromFeedOrEntry(dataCollection, reader);
                    break;
                }

                default:
                {
                    throw new ArgumentOutOfRangeException();
                }
                }
            }
        }