Ejemplo n.º 1
0
        /// <summary>
        /// Get Products by Description.
        /// </summary>
        /// <param name="query">Query.</param>
        /// <returns>Products.</returns>
        public AnswerPage <Product> GetProductsByDescription(BaseQueryPagination query)
        {
            var wsProductsClient = new wsConsultasProductosReference.consultasEspecialesProductosPortTypeClient();
            var resultsService   = wsProductsClient.wsBuscarProductosXDescripcion(query.Contains, query.Page, query.PageSize);

            AnswerPage <Product> answer = new AnswerPage <Product>();

            answer.Page     = query.Page;
            answer.PageSize = query.PageSize;
            answer.Total    = resultsService == null ? 0 : Convert.ToInt32(resultsService.FirstOrDefault().CANTIDAD_REGISTROS);

            answer.Results = resultsService == null ? new List <Product>() : (from pro in resultsService
                                                                              select new Product()
            {
                Id = Convert.ToInt32(pro.ID),
                ProductId = Convert.ToInt32(pro.PRODUCTO_ID),
                Name = pro.NOMBRE,
                Description = pro.DESCRIPCION,
                Category = pro.CATEGORIA,
                ListPrice = Convert.ToInt32(pro.PRECIO_LISTA),
                Producer = pro.FABRICANTE,
                Image = pro.IMAGEN_URL
            }).ToList();

            return(answer);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Get Products.
        /// </summary>
        /// <param name="filterSearch">filter Search.</param>
        /// <param name="start">Start.</param>
        /// <param name="length">Length.</param>
        /// <param name="typeSearch">Type Search.</param>
        /// <returns>Products.</returns>
        public AnswerPage <Product> GetProducts(string filterSearch, int start, int length, TypeSearch typeSearch)
        {
            try
            {
                AnswerPage <Product> answerProduct = new AnswerPage <Product>();

                BaseQueryPagination query = new BaseQueryPagination()
                {
                    Contains    = filterSearch,
                    TotalReturn = true,
                    Page        = start / length + 1,
                    PageSize    = length
                };

                switch (typeSearch)
                {
                case TypeSearch.Code:
                {
                    int value;
                    if (int.TryParse(filterSearch, out value))
                    {
                        answerProduct = IoCFactory.Resolve <IProductsServiceAgent>().GetProductById(Convert.ToInt32(filterSearch));
                    }
                    else
                    {
                        answerProduct = IoCFactory.Resolve <IProductsServiceAgent>().GetProductsByName(query);
                    }

                    break;
                }

                case TypeSearch.Name:
                {
                    answerProduct = IoCFactory.Resolve <IProductsServiceAgent>().GetProductsByName(query);
                    break;
                }

                case TypeSearch.Description:
                {
                    answerProduct = IoCFactory.Resolve <IProductsServiceAgent>().GetProductsByDescription(query);
                    break;
                }

                default:
                {
                    answerProduct = IoCFactory.Resolve <IProductsServiceAgent>().GetProductsByName(query);
                    break;
                }
                }
                return(answerProduct);
            }
            catch (Exception ex)
            {
                throw new Exception("Se produjo un error al consultar los productos", ex);
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Get the top 5.
 /// </summary>
 /// <param name="query">Query.</param>
 /// <returns>Products.</returns>
 public AnswerPage <Product> GetProductsTop5(BaseQueryPagination query)
 {
     try
     {
         return(IoCFactory.Resolve <IProductsServiceAgent>().GetProductsTop5(query));
     }
     catch (Exception ex)
     {
         throw new Exception("Se produjo un error al consultar los productos del top 5", ex);
     }
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Get the top 5.
        /// </summary>
        /// <param name="query">Query.</param>
        /// <returns>Products.</returns>
        public AnswerPage <Product> GetProductsTop5(BaseQueryPagination query)
        {
            var wsTopProductsClient = new wsTopProductsReference.topProductosPortTypeClient();
            var resultService       = wsTopProductsClient.wsTopCinco(Convert.ToInt32(query.Contains));

            var wsProductsClient = new wsConsultasProductosReference.consultasEspecialesProductosPortTypeClient();

            AnswerPage <Product> answer = new AnswerPage <Product>();

            answer.Page     = query.Page;
            answer.PageSize = query.PageSize;
            answer.Total    = resultService == null ? 0 : resultService.Count();
            answer.Results  = new List <Product>();

            if (resultService != null)
            {
                foreach (var pro in resultService)
                {
                    var resultsService = wsProductsClient.wsBuscarproductoXID(Convert.ToInt32(pro.PRODID));
                    var product        = resultsService.FirstOrDefault();
                    answer.Results.Add(
                        new Product()
                    {
                        Id          = Convert.ToInt32(product.ID),
                        ProductId   = Convert.ToInt32(product.PRODUCTO_ID),
                        Name        = product.NOMBRE,
                        Description = product.DESCRIPCION,
                        Category    = product.CATEGORIA,
                        ListPrice   = Convert.ToInt32(product.PRECIO_LISTA),
                        Producer    = product.FABRICANTE,
                        Image       = product.IMAGEN_URL
                    });
                }
            }

            return(answer);
        }