コード例 #1
0
        public ProductListResponse Post_GetProductList([FromBody] GetProductsBySearchRequest request)
        {
            var resp = new ProductListResponse();

            resp.Products = new Models.Products();

            Models.ProductSearchField searchField = 0;
            string   searchText = null;
            Decimal? priceLow   = null;
            Decimal? priceHigh  = null;
            DateTime?dateFrom   = null;
            DateTime?dateTo     = null;

            if (request.ProductSearchFilter != null)
            {
                searchField = request.ProductSearchFilter.ProductSearchField;
                searchText  = request.ProductSearchFilter.ProductSearchText;
            }
            if (request.PriceSearchFilter != null)
            {
                if (!String.IsNullOrEmpty(request.PriceSearchFilter.SearchPriceLow))
                {
                    priceLow = Convert.ToDecimal(request.PriceSearchFilter.SearchPriceLow);
                }
                if (!String.IsNullOrEmpty(request.PriceSearchFilter.SearchPriceHigh))
                {
                    priceHigh = Convert.ToDecimal(request.PriceSearchFilter.SearchPriceHigh);
                }
            }
            if (request.DateSearchFilter != null)
            {
                if (!String.IsNullOrEmpty(request.DateSearchFilter.SearchDateFrom))
                {
                    dateFrom = Convert.ToDateTime(request.DateSearchFilter.SearchDateFrom);
                }
                if (!String.IsNullOrEmpty(request.DateSearchFilter.SearchDateTo))
                {
                    dateTo = Convert.ToDateTime(request.DateSearchFilter.SearchDateTo);
                }
            }
            int totalCount = 0;

            IProductBS bs = DIFactoryDesigntime.GetInstance <IProductBS>();
            IList <Models.ProductCM> rtnList = bs.GetProductList(searchField, searchText,
                                                                 priceLow, priceHigh, dateFrom, dateTo, request.StatusCode, request.PaginationRequest, out totalCount);

            resp.Products.AddRange(rtnList);
            resp.TotalCount = totalCount;
            return(resp);
        }
コード例 #2
0
        public ProductListResponse GetProductList([ModelBinder(typeof(FieldValueModelBinder))] GetProductsBySearchRequest request)
        {
            var resp = new ProductListResponse();

            resp.Products = new Models.Products();

            Models.ProductSearchField searchField = 0;
            string   searchText = null;
            Decimal? priceLow   = null;
            Decimal? priceHigh  = null;
            DateTime?dateFrom   = null;
            DateTime?dateTo     = null;

            if (request.ProductSearchFilter != null)
            {
                searchField = request.ProductSearchFilter.ProductSearchField;
                searchText  = request.ProductSearchFilter.ProductSearchText;
            }
            if (request.PriceSearchFilter != null)
            {
                if (!String.IsNullOrEmpty(request.PriceSearchFilter.SearchPriceLow))
                {
                    priceLow = Convert.ToDecimal(request.PriceSearchFilter.SearchPriceLow);
                }
                if (!String.IsNullOrEmpty(request.PriceSearchFilter.SearchPriceHigh))
                {
                    priceHigh = Convert.ToDecimal(request.PriceSearchFilter.SearchPriceHigh);
                }
            }
            if (request.DateSearchFilter != null)
            {
                if (!String.IsNullOrEmpty(request.DateSearchFilter.SearchDateFrom))
                {
                    dateFrom = Convert.ToDateTime(request.DateSearchFilter.SearchDateFrom);
                }
                if (!String.IsNullOrEmpty(request.DateSearchFilter.SearchDateTo))
                {
                    dateTo = Convert.ToDateTime(request.DateSearchFilter.SearchDateTo);
                }
            }
            int totalCount = 0;

            IProductBS bs = default(IProductBS);

            //IProductBS prodBs = DIFactoryDesigntime.GetInstance<IProductBS>();
            //try
            //{
            bs = DIFactoryDesigntime.GetInstance <IProductBS>();
            //}
            //catch (Exception ex)
            //{
            //    var msg = ex.Message;
            //}

            //IProductRepository productRepo = new ProductRepository(new StoreDataModelUnitOfWork());
            IEnumerable <ProductCM> rtnList = bs.GetProductList(searchField, searchText,
                                                                priceLow, priceHigh, dateFrom, dateTo, request.StatusCode, request.PaginationRequest, out totalCount);

            resp.Products.AddRange(rtnList);
            resp.TotalCount = totalCount;
            return(resp);
        }