예제 #1
0
        // GET: api/Products
        public IHttpActionResult Get()
        {
            string            token         = GetAuthToken();
            IHttpActionResult validateToken = ValidateToken(token);

            if (validateToken != null)
            {
                return(validateToken);
            }
            Dictionary <String, String> query =
                ActionContext.Request.GetQueryNameValuePairs().ToDictionary(q => q.Key, q => q.Value);
            ProductSearchFilter filter = new ProductSearchFilter();

            if (query.ContainsKey("Name"))
            {
                filter.Name = query["Name"];
            }
            if (query.ContainsKey("Description"))
            {
                filter.Description = query["Description"];
            }
            if (query.ContainsKey("PriceFrom"))
            {
                filter.PriceFrom = Double.Parse(query["PriceFrom"]);
            }
            if (query.ContainsKey("PriceTo"))
            {
                filter.PriceTo = Double.Parse(query["PriceTo"]);
            }
            if (query.ContainsKey("Category"))
            {
                filter.Category = query["Category"];
            }
            DataAccessSoapClient ws = new DataAccessSoapClient();
            var binding             = ws.ChannelFactory.Endpoint.Binding as BasicHttpBinding;

            binding.MaxReceivedMessageSize = int.MaxValue;
            Product[] prods = ws.FindProductsByFilter(new DataAccessWS.Security {
                BinarySecurityToken = token
            }, filter);
            return(Ok(prods.Select(p => CreateRestProduct(p))));
        }
예제 #2
0
        public IHttpActionResult Get(string username)
        {
            DataAccessSoapClient dataWS = new DataAccessSoapClient();
            var binding = dataWS.ChannelFactory.Endpoint.Binding as BasicHttpBinding;

            binding.MaxReceivedMessageSize = int.MaxValue;
            string            token      = GetAuthToken();
            IHttpActionResult validation = ValidateSeller(token, username);

            if (validation != null)
            {
                return(validation);
            }
            Product[] products = dataWS.FindProductsByFilter(new DataAccessWS.Security {
                BinarySecurityToken = token
            },
                                                             new ProductSearchFilter {
                Seller = username
            });
            return(Ok(products.Select(p => CreateRestProduct(p))));
        }