Example #1
0
        public bool UpdateProduct(Product product)
        {
            if (product.ID <= 0)
            {
                throw new HttpResponseException()
                      {
                          Status = (int)ApiResultModel.CodeEnum.IllegalRequest
                      };
            }

            if (string.IsNullOrWhiteSpace(product.SerialNo))
            {
                throw new HttpResponseException()
                      {
                          Status = (int)ApiResultModel.CodeEnum.IllegalRequest
                      };
            }

            ProductsRequest productsRequest = new ProductsRequest();

            productsRequest.ProductCondition.SerialNo = product.SerialNo;

            if (_productService.GetProducts(productsRequest).FirstOrDefault() == null)
            {
                throw new HttpResponseException()
                      {
                          Status = (int)ApiResultModel.CodeEnum.Fail
                      };
            }

            return(_productService.UpdateProduct(product));
        }
Example #2
0
        public ProductList GetProducts(ProductsRequest productsRequest)
        {
            HttpWebRequest request     = CatalogRequestBuilder.ConstructProductsRequest(apiKey, productsRequest);
            ProductList    productList = ProcessBodylessRequest(request).ToObject <ProductList>();

            return(productList);
        }
Example #3
0
        private ProductsResponse[] ObterArticulo(int codeStore, ProductsRequest productRequest)
        {
            var parameters = new Dictionary <string, object>();

            parameters.Add("@Sku", productRequest.Sku);
            parameters.Add("@CodigoTienda", codeStore);
            List <ProductsResponse> list = new List <ProductsResponse>();
            Inspector inspector          = new Inspector();

            foreach (var item in data.GetDataReader("[dbo].[sp_vanti_ProductoBusqueda]", parameters))
            {
                ProductsResponse product = new ProductsResponse();
                product.Articulo = new Articulo();
                product.Articulo.DigitoVerificadorArticulo = new DigitoVerificadorArticulo();

                product.Articulo.DigitoVerificadorArticulo.DigitoVerificadorActual   = item.GetValue(0).ToString();
                product.Articulo.DigitoVerificadorArticulo.DigitoVerificadorCorrecto = item.GetValue(1).ToString();
                product.Articulo.DigitoVerificadorArticulo.Inconsistencia            = Convert.ToInt32(item.GetValue(2)) == 1;
                product.Articulo.Sku                = Convert.ToInt32(item.GetValue(3));
                product.Articulo.Estilo             = item.GetValue(4).ToString();
                product.Articulo.Upc                = item.GetValue(5).ToString();
                product.Articulo.RutaImagenLocal    = item.GetValue(6).ToString();
                product.Articulo.RutaImagenRemota   = item.GetValue(7).ToString();
                product.Articulo.TasaImpuesto1      = inspector.TruncarValor(Convert.ToDecimal(item.GetValue(8).ToString()));
                product.Articulo.TasaImpuesto2      = inspector.TruncarValor(Convert.ToDecimal(item.GetValue(9).ToString()));
                product.Articulo.PrecioConImpuestos = inspector.TruncarValor(Convert.ToDecimal(item.GetValue(10).ToString()));
                product.Articulo.CodigoImpuesto1    = item.GetValue(11).ToString();
                product.Articulo.CodigoImpuesto2    = item.GetValue(12).ToString();
                product.Articulo.Impuesto1          = inspector.TruncarValor(Convert.ToDecimal(item.GetValue(13)));
                product.Articulo.Impuesto2          = inspector.TruncarValor(Convert.ToDecimal(item.GetValue(14)));
                product.Articulo.EsTarjetaRegalo    = item.GetValue(15).ToString() == "1";
                list.Add(product);
            }
            return(list.ToArray());
        }
Example #4
0
        public ProductsViewModel GetProducts(ProductsRequest request)
        {
            var result = new ProductsViewModel();

            if (request.CategoryId == 0)
            {
                result.Products = _context.Products
                                  .OrderByDescending(x => x.Id)
                                  .Skip(request.PageNumber * request.ItemsPerPage)
                                  .Take(request.ItemsPerPage)
                                  .ToList();
                result.TotalCount = _context.Products
                                    .OrderByDescending(x => x.Id).Count();
            }
            else
            {
                result.Products = _context.Products
                                  .Where(x => x.CategoryId == request.CategoryId)
                                  .OrderByDescending(x => x.Id)
                                  .Skip(request.PageNumber * request.ItemsPerPage)
                                  .Take(request.ItemsPerPage)
                                  .ToList();
                result.TotalCount = _context.Products
                                    .Where(x => x.CategoryId == request.CategoryId)
                                    .OrderByDescending(x => x.Id).Count();
            }

            return(result);
        }
Example #5
0
        public Product GetProductBySerialNo(string serialNo)
        {
            if (string.IsNullOrWhiteSpace(serialNo))
            {
                throw new HttpResponseException()
                      {
                          Status = (int)ApiResultModel.CodeEnum.Fail
                      };
            }

            ProductsRequest productsRequest = new ProductsRequest();

            productsRequest.ProductCondition.SerialNo = serialNo;
            Product product = _productService.GetProducts(productsRequest).FirstOrDefault();

            if (product == null)
            {
                throw new HttpResponseException()
                      {
                          Status = (int)ApiResultModel.CodeEnum.Fail
                      };
            }

            return(product);
        }
Example #6
0
 /// <summary>
 /// Busqueda extendida o avanzada de productos
 /// </summary>
 /// <param name="productsRequest"></param>
 /// <returns>Arreglo de productos</returns>
 public ResponseBussiness <ProductsFindResponse> SearchAdvance(ProductsRequest productsRequest)
 {
     return(tryCatch.SafeExecutor(() =>
     {
         return repository.SearchAdvance(token.CodeStore, productsRequest);
     }));
 }
Example #7
0
        /// <summary>
        /// List the products
        /// </summary>
        /// <param name="request">Products request</param>
        /// <returns>Products response</returns>
        private async static Task <ProductsResponse> ListProductsAsync(ProductsRequest request)
        {
            ProductsResponse response = null;

            try
            {
                var productDtos = await _productService.ListProductsAsync();

                var products = productDtos.Select(x => new Product
                {
                    Id                 = x.Id,
                    Name               = x.Name,
                    EntryDate          = x.EntryDate,
                    PriceWithReduction = x.PriceWithReduction
                }).ToList();

                response = new ProductsResponse()
                {
                    ProductList = products
                };
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            return(response);
        }
Example #8
0
        public ProductsResponse Responder(ProductsRequest request)
        {
            ProductsResponse resp = new ProductsResponse();

            var produktDTOs     = _productsRepository.Get().Result;
            var priceReductions = _priceReductionRepository.Get().Result.ToList();;


            foreach (var product in produktDTOs)
            {
                var reduction = priceReductions.FirstOrDefault(r => r.DayOfWeek == (int)product.EntryDate.DayOfWeek);
                if (reduction != null)
                {
                    var newPrice = product.Price * (1.0 - reduction.Reduction);

                    // description with normal has to be set first. Because of the price change!!!
                    product.Description = "It' a bargain on " + product.EntryDate.DayOfWeek + ". You get a " + (reduction.Reduction * 100).ToString() + "% reduction. Normal price would be " + product.Price.ToString();
                    product.Price       = newPrice;
                }

                resp.Products.Add(product);
            }


            return(resp);
        }
Example #9
0
        public ResponseBussiness <ProductsFindResponse> SearchAdvanced(ProductsRequest productsRequest)
        {
            TokenDto token = new TokenService().Get();
            ResponseBussiness <ProductsFindResponse> response = new ProductsBusiness(token).SearchAdvance(productsRequest);

            return(response);
        }
        public QueryResponse<List<ProductDto>> Get(ProductsRequest request)
        {
            var req = request as RestQuery;

            List<Product> response;
            var productList = MongoHost.Db.GetCollection<Product>("Products").AsQueryable();

            if (req == null)
            {
                response = productList.Take(50).ToList();
            }
            else
            {
                var sort = req.Sort;
                response = productList.Skip(req.PageNumber*req.PageSize)
                                      .Take(req.PageSize)
                                      .ToList();
            }

            //var products = MongoHost.Db.GetCollection<Product>("Products");
            //var response = products.FindAll().SetLimit(50).;

            //return new CompressedResult()

            return new QueryResponse<List<ProductDto>>
            {
                ResponseStatus = new ResponseStatus(),
                Results = Mapper.Map<List<ProductDto>>(response),
                Links = new List<Link>{} // show a link to the next page of results
            };
        }
Example #11
0
        /// <summary>
        /// Busqueda extendida o avanzada de productos
        /// </summary>
        /// <param name="codeStore">Código de la tienda</param>
        /// <param name="productRequest">Parámetros de búsqueda</param>
        /// <returns>Arreglo de productos</returns>
        public ProductsFindResponse SearchAdvance(int codeStore, ProductsRequest productRequest)
        {
            ProductsFindResponse productsFindResponse = new ProductsFindResponse();

            productsFindResponse.NumeroRegistros = ObtenerTotalArticulos(codeStore, productRequest);
            productsFindResponse.Products        = ObterArticulos(codeStore, productRequest);
            return(productsFindResponse);
        }
Example #12
0
        public List <Product> GetProducts(ProductsRequest request)
        {
            var products = _productRepository.GetAll();

            if (request.ProductCondition.ID > 0)
            {
                products = products.Where(model => model.ID.Equals(request.ProductCondition.ID));
            }

            if (!string.IsNullOrWhiteSpace(request.ProductCondition.SerialNo))
            {
                products = products.Where(model => model.SerialNo.Equals(request.ProductCondition.SerialNo));
            }

            if (!string.IsNullOrWhiteSpace(request.ProductCondition.Name))
            {
                products = products.Where(model => model.Name.Equals(request.ProductCondition.Name));
            }

            if (request.ProductCondition.Price > 0)
            {
                products = products.Where(model => model.Price.Equals(request.ProductCondition.Price));
            }

            if (!string.IsNullOrWhiteSpace(request.ProductCondition.Unit))
            {
                products = products.Where(model => model.Unit.Equals(request.ProductCondition.Unit));
            }

            if (request.ProductCondition.Inventory > 0)
            {
                products = products.Where(model => model.Inventory.Equals(request.ProductCondition.Inventory));
            }

            if (!string.IsNullOrWhiteSpace(request.ProductCondition.Remark))
            {
                products = products.Where(model => model.Remark.Equals(request.ProductCondition.Remark));
            }

            if (!string.IsNullOrWhiteSpace(request.ProductCondition.Area))
            {
                products = products.Where(model => model.Area.Equals(request.ProductCondition.Area));
            }

            if (request.ProductCondition.IsInStock > 0)
            {
                products = products.Where(model => model.IsInStock > 0);
            }

            if (request.ProductCondition.Type > 0)
            {
                products = products.Where(model => model.Type.Equals(request.ProductCondition.Type));
            }

            products = products.Skip(request.StartItem - 1).Take(request.Length);

            return(products.ToList());
        }
Example #13
0
        private ProductsResponse[] ObterArticulos(int codeStore, ProductsRequest productRequest)
        {
            var parameters = new Dictionary <string, object>();

            parameters.Add("@Sku", productRequest.Sku);
            parameters.Add("@CodigoTienda", codeStore);
            parameters.Add("@Estilo", productRequest.CodigoEstilo);
            parameters.Add("@CodigoProveedor", productRequest.CodeProvider);
            parameters.Add("@CodigoDepartamento", productRequest.CodeDepartment);
            parameters.Add("@CodigoSubDepartamento", productRequest.CodeSubDepartment);
            parameters.Add("@CodigoClase", productRequest.CodeClass);
            parameters.Add("@CodigoSubClase", productRequest.CodeSubClass);
            parameters.Add("@Descripcion", productRequest.Description);
            if (productRequest.NumeroPagina != 0)
            {
                parameters.Add("@NumeroPagina", productRequest.NumeroPagina);
                parameters.Add("@RegistrosPorPagina", productRequest.RegistrosPorPagina);
            }
            List <ProductsResponse> list = new List <ProductsResponse>();
            Inspector inspector          = new Inspector();

            foreach (var item in data.GetDataReader("[dbo].[sp_vanti_ProductosBusqueda]", parameters))
            {
                ProductsResponse product = new ProductsResponse();
                product.Articulo = new Articulo();
                product.Articulo.DigitoVerificadorArticulo = new DigitoVerificadorArticulo();

                product.Articulo.DigitoVerificadorArticulo.DigitoVerificadorActual   = item.GetValue(0).ToString();
                product.Articulo.DigitoVerificadorArticulo.DigitoVerificadorCorrecto = item.GetValue(1).ToString();
                product.Articulo.DigitoVerificadorArticulo.Inconsistencia            = Convert.ToInt32(item.GetValue(2)) == 1;
                product.Articulo.Sku                = Convert.ToInt32(item.GetValue(3));
                product.Articulo.Estilo             = item.GetValue(4).ToString();
                product.Articulo.Upc                = item.GetValue(5).ToString();
                product.Articulo.RutaImagenLocal    = item.GetValue(6).ToString();
                product.Articulo.RutaImagenRemota   = item.GetValue(7).ToString();
                product.Articulo.TasaImpuesto1      = inspector.TruncarValor(Convert.ToDecimal(item.GetValue(8).ToString()));
                product.Articulo.TasaImpuesto2      = inspector.TruncarValor(Convert.ToDecimal(item.GetValue(9).ToString()));
                product.Articulo.PrecioConImpuestos = inspector.TruncarValor(Convert.ToDecimal(item.GetValue(10).ToString()));
                product.Articulo.CodigoImpuesto1    = item.GetValue(11).ToString();
                product.Articulo.CodigoImpuesto2    = item.GetValue(12).ToString();
                product.Articulo.Impuesto1          = inspector.TruncarValor(Convert.ToDecimal(item.GetValue(13)));
                product.Articulo.Impuesto2          = inspector.TruncarValor(Convert.ToDecimal(item.GetValue(14)));

                product.Articulo.CodigoDepto           = Convert.ToInt32(item.GetValue(15));
                product.Articulo.CodigoSubDepartamento = Convert.ToInt32(item.GetValue(16));
                product.Articulo.CodigoClase           = Convert.ToInt32(item.GetValue(17));
                product.Articulo.CodigoSubClase        = Convert.ToInt32(item.GetValue(18));
                product.Articulo.CodigoMarca           = Convert.ToInt32(item.GetValue(19));

                product.Articulo.Depto                = item.GetValue(20).ToString();
                product.Articulo.SubDepartamento      = item.GetValue(21).ToString();
                product.Articulo.Clase                = item.GetValue(22).ToString();
                product.Articulo.SubClase             = item.GetValue(23).ToString();
                product.Articulo.DescripcionProveedor = item.GetValue(24).ToString();
                list.Add(product);
            }
            return(list.ToArray());
        }
    public void CheckTrialOrIntroductoryPriceEligibility(string[] productIdentifiers)
    {
        var request = new ProductsRequest
        {
            productIdentifiers = productIdentifiers
        };

        _RCCheckTrialOrIntroductoryPriceEligibility(JsonUtility.ToJson(request));
    }
    public void GetProducts(string[] productIdentifiers, string type = "subs")
    {
        var request = new ProductsRequest
        {
            productIdentifiers = productIdentifiers
        };

        CallPurchases("getProducts", JsonUtility.ToJson(request), type);
    }
    public void GetProducts(string[] productIdentifiers, string type = "subs")
    {
        var request = new ProductsRequest
        {
            productIdentifiers = productIdentifiers
        };

        _RCGetProducts(JsonUtility.ToJson(request), type);
    }
Example #17
0
        public async Task <ProductsResponse> ListProductsAsync()
        {
            using (var bus = RabbitHutch.CreateBus("host=localhost"))
            {
                var request  = new ProductsRequest();
                var response = await bus.Rpc.RequestAsync <ProductsRequest, ProductsResponse>(request);

                return(response);
            }
        }
Example #18
0
    public IActionResult ProductAdd(ProductsRequest product)
    {
        var productAdd = new Product()
        {
            Id = product.Id, Names = product.Names, Price = product.Price, Created_at = product.Created_at, Update_at = product.Update_at
        };

        Products.Add(productAdd);
        return(Ok(new { data = Products }));
    }
Example #19
0
        public async Task <IActionResult> Products(ProductsRequest request)
        {
            var result = await _service.Products(request);

            return(Ok(new HALResponse(new { })
                      .AddLinks(new Link("self", $"{Request.Scheme}://{Request.Host}/api/recipes"))
                      .AddLinks(new Link("home", $"{Request.Scheme}://{Request.Host}/"))
                      .AddEmbeddedCollection("item", result.Items.Select(x => new HALResponse(x)
                                                                         .AddLinks(new Link("self", $"{Request.Scheme}://{Request.Host}/api/products/{{Id}}"))))));
        }
Example #20
0
        async static Task WarehouseProducts(string warehouseID)
        {
            try
            {
                lblSendingData.Visible = true;
                progressBar.Visible    = true;

                var request = new ProductsRequest()
                {
                    WarehouseID = warehouseID
                };

                var jsonPayload   = JsonConvert.SerializeObject(request);
                var stringContent = new StringContent(jsonPayload, Encoding.UTF8, "application/json");

                HttpClient httpClient = new HttpClient();
                httpClient.Timeout = TimeSpan.FromSeconds(15);
                var response = await httpClient.PostAsync($"{Settings.WAREHOUSE_API_BASEURL}/warehouse/warehouseproducts", stringContent);

                if (response.IsSuccessStatusCode)
                {
                    var payload = await response.Content.ReadAsStringAsync();

                    warehouseProducts = JsonConvert.DeserializeObject <List <Product> >(payload);
                    var list = new List <string>();
                    foreach (var p in warehouseProducts)
                    {
                        var productID          = (p.ProductID.Length > 20) ? p.ProductID.Substring(0, 20) : p.ProductID;
                        var productName        = (p.ProductName.Length > 20) ? p.ProductName.Substring(0, 20) : p.ProductName;
                        var productQuantity    = (p.ProductQuantity.Length > 20) ? p.ProductQuantity.Substring(0, 20) : p.ProductQuantity;
                        var productDescription = (p.ProductDescription.Length > 20) ? p.ProductDescription.Substring(0, 20) : p.ProductDescription;

                        list.Add(string.Format("| ProductID: {0,20} | Name: {1,20} | Quantity: {2,20} | Description: {3,20} |", productID, productName, productQuantity, productDescription));
                    }

                    lstResult.Visible = (list.Count > 0) ? true : false;

                    lstResult.SetSource(list);
                }
                else
                {
                    MessageBox.ErrorQuery(50, 7, "Alert", "There was an error retrieving the products", "Accept");
                }
            }
            catch
            {
                MessageBox.ErrorQuery(50, 7, "Alert", "There was an error retrieving the products", "Accept");
            }
            finally
            {
                progressBar.Fraction   = 0;
                lblSendingData.Visible = false;
                progressBar.Visible    = false;
            }
        }
Example #21
0
    public void GetProducts(string[] productIdentifiers, string type = "subs")
    {
        var request = new ProductsRequest
        {
            productIdentifiers = productIdentifiers
        };

        using (var purchases = new AndroidJavaClass("com.revenuecat.purchasesunity.PurchasesWrapper")) {
            purchases.CallStatic("getProducts", JsonUtility.ToJson(request), type);
        }
    }
Example #22
0
        public async Task <ProductsResult> WarehouseProducts(ProductsRequest request)
        {
            ProductsResult result = new ProductsResult();

            result.Products = await GetWarehouseProducts(request.WarehouseID);

            if (result.Products == null)
            {
                result.Products = new List <Models.Product>();
            }

            return(result);
        }
Example #23
0
        public ResultObject GetProducts(ProductsRequest model)
        {
            List <Product> products = _productService.GetProducts(model);

            GetCover(ref products);

            ResultObject result = new ResultObject()
            {
                Total = products.Count,
                Data  = products
            };

            return(result);
        }
Example #24
0
        public void TestGetProducts()
        {
            ProductsRequest productsRequest = new ProductsRequest();

            productsRequest.Ids = new string[] { "1004004012288125", "1004004012257956" };
            productsRequest.IncludeAttributes = true;
            productsRequest.Offers            = new EnumTypes.OfferType[] {
                EnumTypes.OfferType.ALL
            };

            ProductList productList = client.GetProducts(productsRequest);

            Assert.IsNotNull(productList.Products);
            Assert.IsTrue(productList.Products.Count == 2);
        }
Example #25
0
        public void Search()
        {
            TokenDto        token   = new TokenDto(3, 3215);
            ProductsRequest product = new ProductsRequest();

            product.Sku = "";

            product.CodeProvider   = 1;
            product.CodigoEstilo   = "";
            product.CodeDepartment = 0;
            product.Description    = "";
            var result = new ProductsBusiness(token).SearchAdvance(product);

            Assert.IsNotNull(result.Data);
        }
        // DELETE api/product/5
        public HttpResponseMessage Delete(ProductsRequest request)
        {
            try
            {
                db.RemoveProducts(request);
            }
            catch (DbUpdateConcurrencyException)
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound));
            }

            return(Request.CreateResponse(HttpStatusCode.OK, new DataSourceResult {
                Data = request.Models
            }));
        }
        public async Task <List <ProductDTO> > GetProducts()
        {
            List <ProductDTO> products = new List <ProductDTO>();

            using (var bus = RabbitHutch.CreateBus(_settings.ConnectionString))
            {
                var req = new ProductsRequest();

                await bus.Rpc.RequestAsync <ProductsRequest, ProductsResponse>(req).ContinueWith(response =>
                {
                    products = response.Result.Products;
                    Console.WriteLine("Got response");
                });
            }

            return(products);
        }
Example #28
0
        public string GetPicture(string serialNo, int index = -1)
        {
            string result = string.Empty;

            if (string.IsNullOrEmpty(serialNo) || index < -1 || index > 2)
            {
                throw new HttpResponseException()
                      {
                          Status = (int)ApiResultModel.CodeEnum.Fail
                      };
            }

            ProductsRequest productsRequest = new ProductsRequest();

            productsRequest.ProductCondition.SerialNo = serialNo;
            Product product = _productService.GetProducts(productsRequest).FirstOrDefault();

            if (product == null)
            {
                throw new HttpResponseException()
                      {
                          Status = (int)ApiResultModel.CodeEnum.Fail
                      };
            }

            if (index == -1)
            {
                result = product.Image;
            }
            else
            {
                string images = product.Image;
                if (images.Length > 2)
                {
                    images = images.Substring(1, images.Length - 2);
                    string[] imageArray = images.Split(',');
                    if (index < imageArray.Length)
                    {
                        result = $"[{imageArray[index]}]";
                    }
                }
            }

            return(result);
        }
        public ActionResult CreateProduct(ProductsRequest request)
        {
            var result = _productDa.CreateProduct(request);

            if (result > 0)
            {
                return(Json(new
                {
                    Status = true,
                    Message = "Tạo sản phẩm thành công"
                }));
            }
            return(Json(new
            {
                Status = false,
                Message = "Tạo sản phẩm thất bại"
            }));
        }
Example #30
0
        public BaseResponse UpdateProduct(ProductsRequest request)
        {
            BaseResponse productResponse = new BaseResponse();

            try
            {
                var orderID = repository.UpdateProduct(request.product);
                productResponse.Success = true;
            }
            catch (Exception ex)
            {
                productResponse.Success    = false;
                productResponse.Message    = ex.Message;
                productResponse.StackTrace = ex.StackTrace;
            }

            return(productResponse);
        }
Example #31
0
        public ProductsViewModel Query(ProductsRequest query)
        {
            var products = new[]
            {
                new Product {
                    Code = "1111", Name = "TV Remote Control", Parts = GetParts("1111")
                },
                new Product {
                    Code = "2222", Name = "DVR Unit", Parts = GetParts("2222")
                },
                new Product {
                    Code = "3333", Name = "HD Antenna", Parts = GetParts("3333")
                }
            };

            return(new ProductsViewModel {
                Products = products
            });
        }