/// <summary> /// Get warehouses list by needed parameters. Represents 'getWarehouses' method of 'Address' model. /// Documentation: https://devcenter.novaposhta.ua/docs/services/556d7ccaa0fe4f08e8f7ce43/operations/556d8211a0fe4f08e8f7ce45/console /// </summary> /// <param name="cityName">Name of the city where warehouse located</param> /// <param name="cityRef">Warehouse city reference</param> /// <param name="settlementRef">Warehouse settlement reference</param> /// <param name="warehouseType">Warehouse type reference</param> /// <param name="bicycleParking">Has warehouse bicycle parking. 'True' - has parking, 'False' - no parking.</param> /// <param name="postFinance">Warehouse post finance cashbox. 'True' - has post finance. 'False' - no post finance.</param> /// <param name="posTerminal">Warehouse has POS terminal. 'True' - has termina. 'False' - no terminal.</param> /// <param name="page">Response page number. One page contains 500 warehouses.</param> /// <returns>List of 'Nova Poshta' service warehouses</returns> public virtual IResponseEnvelope <WarehousesGetResponse.Warehouse> GetWarehouses(string cityName = "", Guid?cityRef = null, Guid?settlementRef = null, Guid?warehouseType = null, bool bicycleParking = false, bool postFinance = false, bool posTerminal = false, int page = 1) { var request = new WarehousesGetRequest() { CityName = cityName, BicycleParking = bicycleParking ? 1 : 0, CityRef = cityRef, PostFinance = postFinance ? 1 : 0, SettlementRef = settlementRef, TypeOfWarehouseRef = warehouseType, Page = page }; return(GetWarehouses(request)); }
public async Task <IEnumerable <IWarehouseState> > GetAsync(ICriterion filter, IList <string> orders = null, int firstResult = 0, int maxResults = int.MaxValue, IList <string> fields = null) { IEnumerable <IWarehouseState> states = null; var q = new WarehousesGetQuery(); q.FirstResult = firstResult; q.MaxResults = maxResults; q.Sort = WarehouseProxyUtils.GetOrdersQueryValueString(orders); q.Fields = WarehouseProxyUtils.GetReturnedFieldsQueryValueString(fields, QueryFieldValueSeparator); q.Filter = WarehouseProxyUtils.GetFilterQueryValueString(filter); var req = new WarehousesGetRequest(); req.Query = q; var resp = await _ramlClient.Warehouses.Get(req); WarehouseProxyUtils.ThrowOnHttpResponseError(resp); states = (resp.Content == null) ? null : resp.Content.Select(e => e.ToWarehouseState()); return(states); }
/// <summary> /// Get warehouses list by request parameters.Represents 'getWarehouses' method of 'Address' model. /// Documentation: https://devcenter.novaposhta.ua/docs/services/556d7ccaa0fe4f08e8f7ce43/operations/556d8211a0fe4f08e8f7ce45/console /// </summary> /// <param name="request">Warehouses get request instance</param> /// <returns>List of 'Nova Poshta' service warehouses</returns> public virtual IResponseEnvelope <WarehousesGetResponse.Warehouse> GetWarehouses(WarehousesGetRequest request) { var fullRequest = new RequestEnvelope <WarehousesGetRequest>(request) { ApiKey = _novaPoshtaGateway.ApiKey, CalledMethod = "getWarehouses", ModelName = MODEL }; var response = _novaPoshtaGateway.CreateRequest <WarehousesGetRequest, WarehousesGetResponse>(fullRequest); return(response); }