public OrderCreateReturnType CreateOrder(Order order, string accessToken) { if (order == null) { throw new ArgumentNullException(nameof(order), "Order cannot be null for this call"); } if (string.IsNullOrEmpty(accessToken)) { throw new ArgumentNullException(nameof(accessToken), Constants.MissingAccessTokenMessage); } var restclient = new RestClient(Constants.BaseUrl); RestRequest request = new RestRequest(string.Format(orderCreateEndPoint)) { Method = Method.POST }; request.AddCommonHeaders(accessToken); request.AddParameter(string.Empty, JsonConvert.SerializeObject(order, new DefaultJsonSerializer()), ParameterType.RequestBody); var tResponse = restclient.Execute(request); var responseJson = tResponse.Content; var responseKeys = JsonConvert.DeserializeObject <Dictionary <string, object> >(responseJson); var checkReposnseForError = responseKeys.ContainsKey(Constants.ErrorCode) ? responseKeys[Constants.ErrorCode].ToString() : string.Empty; if (!string.IsNullOrEmpty(checkReposnseForError) && (checkReposnseForError == Constants.ErroCodeInvalid || checkReposnseForError == Constants.ValueNotSupported)) { throw new InvalidOperationException(responseJson.ToString()); } return(JsonConvert.DeserializeObject <OrderCreateReturnType>(tResponse.Content)); }
/// <summary> /// Get Stock details /// </summary> /// <param name="customerId"></param> /// <param name="facilityId"></param> /// <param name="date"></param><remarks>Include time if same day details are required</remarks> /// <param name="accessToken"></param> /// <returns></returns> public StockDetailsResultType GetStockByDate(int customerId, int facilityId, DateTime date, string accessToken) { if (string.IsNullOrEmpty(accessToken)) { throw new ArgumentNullException(nameof(accessToken), Constants.MissingAccessTokenMessage); } if (customerId == 0) { throw new ArgumentException(Constants.MissingCustomerIdMessage); } if (facilityId == 0) { throw new ArgumentException(Constants.MissingFacilityIdMessage); } var restclient = new RestClient(Constants.BaseUrl); RestRequest request = new RestRequest(string.Format(stockDetailsEndPoint, customerId, facilityId) + "&rql=ReceivedDate=le=" + date) { Method = Method.GET }; request.AddCommonHeaders(accessToken); var tResponse = restclient.Execute(request); return(JsonConvert.DeserializeObject <StockDetailsResultType>(tResponse.Content)); }
public void CancelOrder(OrderCancel order, string accessToken) { if (string.IsNullOrEmpty(accessToken)) { throw new ArgumentNullException(nameof(accessToken), Constants.MissingAccessTokenMessage); } if (order == null) { throw new ArgumentException(nameof(order), "No order provided"); } var restclient = new RestClient(Constants.BaseUrl); RestRequest request = new RestRequest(orderCancelEndPoint) { Method = Method.POST }; request.AddCommonHeaders(accessToken); request.AddParameter(string.Empty, JsonConvert.SerializeObject(order, new DefaultJsonSerializer()), ParameterType.RequestBody); var tResponse = restclient.Execute(request); }
public StockSummaryResultType GetItemStockSummary(int itemId, string accessToken) { if (string.IsNullOrEmpty(accessToken)) { throw new ArgumentNullException(nameof(accessToken), Constants.MissingAccessTokenMessage); } if (itemId == 0) { throw new ArgumentException(Constants.MissingItemIdMessage); } var restclient = new RestClient(Constants.BaseUrl); string rql = string.Format("rql=itemid=={0}", itemId); RestRequest request = new RestRequest(string.Format(stockSummaryEndPoint, rql)) { Method = Method.GET }; request.AddCommonHeaders(accessToken); var tResponse = restclient.Execute(request); return(JsonConvert.DeserializeObject <StockSummaryResultType>(tResponse.Content)); }
public ItemCollectionResultType GetList(GetItemListCriteria criteria, int customerId, string accessToken) { if (string.IsNullOrEmpty(accessToken)) { throw new ArgumentNullException(nameof(accessToken), Constants.MissingAccessTokenMessage); } if (customerId == 0) { throw new ArgumentException(Constants.MissingCustomerIdMessage); } var restclient = new RestClient(Constants.BaseUrl); string itemsUrl = criteria != null && criteria.PageNumber > 0 ? string.Format(itemEndPointWithPageQuery, customerId, criteria.PageSize, criteria.PageNumber) : string.Format(itemEndPoint, customerId); RestRequest request = new RestRequest(itemsUrl) { Method = Method.GET }; request.AddCommonHeaders(accessToken); var tResponse = restclient.Execute(request); return(JsonConvert.DeserializeObject <ItemCollectionResultType>(tResponse.Content)); }
public void Delete(int Id, int customerId, string accessToken) { if (string.IsNullOrEmpty(accessToken)) { throw new ArgumentNullException(nameof(accessToken), Constants.MissingAccessTokenMessage); } if (customerId == 0) { throw new ArgumentException(Constants.MissingCustomerIdMessage); } if (Id == 0) { throw new ArgumentNullException(Constants.MissingItemIdMessage); } string rql = string.Format("itemId=={0}", Id); var restclient = new RestClient(Constants.BaseUrl); RestRequest request = new RestRequest(string.Format(itemEndPoint, customerId) + "?rql=" + rql) { Method = Method.DELETE }; request.AddCommonHeaders(accessToken); var tResponse = restclient.Execute(request); }
public OrderDetailResultType GetOrderDetails(int orderId, string accessToken) { if (string.IsNullOrEmpty(accessToken)) { throw new ArgumentNullException(nameof(accessToken), Constants.MissingAccessTokenMessage); } if (orderId == 0) { throw new ArgumentException(Constants.MissingOrderIdMessage); } var restclient = new RestClient(Constants.BaseUrl); RestRequest request = new RestRequest(string.Format(orderDetailsEndPoint, orderId)) { Method = Method.GET }; request.AddCommonHeaders(accessToken); var tResponse = restclient.Execute(request); return(JsonConvert.DeserializeObject <OrderDetailResultType>(tResponse.Content)); }