public async Task <IActionResult> GetProducts(string skip, string take) { if (string.IsNullOrEmpty(skip)) { return(BadRequest($"skip parameter can't be empty")); } if (string.IsNullOrEmpty(take)) { return(BadRequest($"take parameter can't be empty")); } ProductsResponse apiResponse = null; try { apiResponse = await _dataRepository.GetProducts(skip, take); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } if (apiResponse.IsError) { return(BadRequest(apiResponse.IsError)); } List <ProductDto> products = new List <ProductDto>(); foreach (Product product in apiResponse.Value.ProductList) { var prodctDto = Mapper.Map <ProductDto>(product); products.Add(prodctDto); } return(Ok(products)); }
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()); }
private void SetRequestAndResponse() { productRequest = new ProductRequest { }; productDetailsRequest = new ProductDetailsRequest { Id = "SampleId" }; var product = new Product { Id = "SampleId", Name = "Brinjal", EntryDate = DateTime.Now, PriceWithDeduction = 10 }; productsResponse = new ProductsResponse { Products = new List <Product> { product } }; productDetailsResponse = new ProductDetailsResponse { Product = product }; }
public async Task CreateStore(Store store) { var result = await taskHelperFactory. CreateInternetAccessViewModelInstance(loggingService /*, this*/). TryExecuteAsync(() => storeApi.Create(new StoreCreateRequest() { AutoAccept = store.AutoAccept, Name = store.Name, StoreLocation = StoreLocationRequest.Parse(store.StoreLocation), })); if (result.IsSuccess) { var storeResponse = result.Value; await OnCreateStoreSuccessful(new Store() { Id = storeResponse.Id, Name = storeResponse.Name, Products = storeResponse.Products != null ? storeResponse.Products?.Select(p => ProductsResponse.Parse(p)).ToList() : new List <Product>(), AutoAccept = storeResponse.AutoAccept, Image = storeResponse.Image, StoreLocation = storeResponse.StoreLocation != null ? StoreLocationResponse.Parse(storeResponse.StoreLocation) : null, }); } }
public void GetProductsByProductId_ReturnsResultFromDataBroker() { // Arrange const int TestInputProductId = 1; // A product ID to test with var expectedResult = new ProductsResponse(); // A dummy ProductsResponse object that we will expect to be returned. // Create a Mock IAPIDataBroker object var mockDataBroker = new Mock <IAPIDataBroker>(); // Setup the mock so that when GetProductsById is called with TestInputProductId it returns the expectedResult ProductsResponse object. // The .Verifiable() on the end enables us to check whether it was actually called. mockDataBroker.Setup(d => d.GetProductsByProductId(TestInputProductId)).Returns(expectedResult).Verifiable(); var api = new NewApi(mockDataBroker.Object); // Instantiate the class under test // Act var result = api.GetProductsByProductId(TestInputProductId); // Perform the method we're testing. // Assert // Check that the method returned the expectedResult object, which we told the mock data broker to return. // This tests that we're actually returning the right data, not some random ProductResponse object that was created in the NewApi class. Assert.AreEqual(expectedResult, result); // Verify that the DataBroker class was called as per the above setup in the Arrange section. mockDataBroker.Verify(); }
public void GetProductsByProductId_ReturnsObjectFromJSONService() { // Arrange const int TestProductId = 5; var testJson = new NameValueCollection { { "test", "test" } }; const string TestOutputApiResponse = "testresponse"; var expectedResult = new ProductsResponse(); // As per above, set up the mock API service but this time it's just going to return junk test data // because we aren't testing the API service in this test. var mockAPIService = new Mock <IAPIService>(); mockAPIService.Setup(a => a.GetData(testJson)).Returns(TestOutputApiResponse).Verifiable(); // Set up the Mock JSONService to return the expectedResult ProductsResponse object no matter what's passed into it var mockJSONService = new Mock <IJSONService>(); mockJSONService.Setup(j => j.DeserialiseJSON <ProductsResponse>(It.IsAny <string>())) .Returns(expectedResult); var dataBroker = new APIDataBroker(mockAPIService.Object, mockJSONService.Object); // Act var result = dataBroker.GetProductsByProductId(TestProductId); // Assert // Verify that the string we set the Mock JSONService object to return was returned by the method under test, // and verify that the DeserialiseJSON<ProductsResponse> method was called on the Mock JSONService. Assert.AreEqual(expectedResult, result); mockJSONService.Verify(j => j.DeserialiseJSON <ProductsResponse>(It.IsAny <string>())); }
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); }
public static List <Product> ConvertResponseProducts(ProductsResponse prodResponse) { List <Product> products = null; if (prodResponse.productCategoryList != null && prodResponse.productCategoryList.Count > 0) { foreach (var prodcategory in prodResponse.productCategoryList) { if (prodcategory.Products != null && prodcategory.Products.Count > 0) { products = new List <Product>(); foreach (var item in prodcategory.Products) { var product = new Product(); product.ProductCategoryId = prodcategory.ProductCategoryMasterId; product.ProductCategory = prodcategory.ProductCategoryName; product.ProductId = item.ProductId; product.ProductName = item.ProductName; product.Price = item.ProductRate; product.Description = item.ProductDescription; product.UsrProductInventoryTrxId = item.UsrProductInventoryTrxId; product.Quantity = item.AvailableQuantity; //........ products.Add(product); } } } } return(products); }
/// <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); }
public string GetFeaturedProducts() { //Create a response object ProductsResponse response = new ProductsResponse(); try { //Get 3 random products, this is done by ordering on a new random GUID List <Product> products = _context.Product .Include(p => p.ProductCategory) .OrderBy(p => Guid.NewGuid()) .Take(3) .ToList(); //Add to response response.Products = products; response.Success = products != null; } catch (Exception e) { response.Success = false; response.ErrorMessage = e.Message; } //Serialize and return to client return(JsonConvert.SerializeObject(response, Formatting.Indented, new JsonSerializerSettings() { ReferenceLoopHandling = ReferenceLoopHandling.Ignore })); }
public ProductsResponse GetProducts() { ProductsResponse response = new ProductsResponse(); response.Success = true; response.Products = _products; return(response); }
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 Dispose() { _mockLogger = null; _mockRabbitMqService = null; productRequest = null; productDetailsRequest = null; productsResponse = null; productDetailsResponse = null; }
public ProductBusiness(IProductRepository productRepository, ProductResponse productResponse, ProductsResponse productsResponse, IMapper mapper, ILogger <ProductBusiness> logger) { _productRepository = productRepository; _productsResponse = productsResponse; _productResponse = productResponse; _mapper = mapper; _logger = logger; }
public IActionResult Get([FromQuery] int from, [FromQuery] int number) { var products = ProductsStorage.Products.Skip(from).Take(number).ToList(); var response = new ProductsResponse { Products = products, Details = ProductsStorage.Details }; return(Ok(response)); }
public override Task <ProductsResponse> GetProducts(Empty request, ServerCallContext context) { var productsResponse = new ProductsResponse(); var products = _catalogDbContext.Products.Select(q => new ProductResponse() { Name = q.Name, Price = q.Price }).ToList(); productsResponse.Products.AddRange(products); return(Task.FromResult(productsResponse)); }
public LaptopProductBusiness(IProductRepository productRepository, ProductResponse productResponse, ProductsResponse productsResponse, IMapper mapper, ILogger <LaptopProductBusiness> logger) : base(productRepository, productResponse, productsResponse, mapper, logger) { _productRepository = productRepository; _productsResponse = productsResponse; _productResponse = productResponse; _mapper = mapper; _logger = logger; }
public void TestSingleProductName() { Mock <IDatastore> mockDatastore = new Mock <IDatastore>(); mockDatastore.Setup(_productExpectation).Returns(_jsonData); WhmcsApi instance = new WhmcsApi("User", "Pass", "Website", mockDatastore.Object); ProductsResponse singleProduct = instance.GetProduct(1); Assert.Equal("Basic cPanel Shared Hosting", singleProduct.Products.Product.SingleOrDefault().Name); }
public void TestGetAllProducts() { Mock <IDatastore> mockDatastore = new Mock <IDatastore>(); mockDatastore.Setup(_productExpectation).Returns(_jsonData); WhmcsApi instance = new WhmcsApi("User", "Pass", "Website", mockDatastore.Object); ProductsResponse test = instance.GetProducts(); Assert.NotNull(test); }
public async Task <ProductsResponse> List(ProductRequest request) { var response = new ProductsResponse(); var methodInfo = nameof(List).MethodInfo(MethodBase.GetCurrentMethod()); await RunCodeAsync(methodInfo, request, response, async (uow) => { await _manager.List(request, response); }); return(response); }
public static Product Parse(ProductsResponse pr) { return(new Product() { Id = pr.Id, Name = pr.Name, Description = pr.Description, Image = pr.Image, UnitPrice = pr.UnitPrice, StoreId = pr.StoreId, }); }
public static ProductsResponse ProductsListToResponse(IItemsList <Product> model) { ProductsResponse modelResponse = new ProductsResponse() { TotalItemsCount = model.TotalItemsCount, RenderedItemsCount = model.RenderedItemsCount, Items = model?.Items.Select(x => ProductMapper.ModelToResponse(x)).ToList() }; return(modelResponse); }
public static Store Parse(StoreResponse response) { return(new Store() { Id = response.Id, Name = response.Name, Image = response.Image, AutoAccept = response.AutoAccept, StoreLocation = response.StoreLocation != null ? StoreLocationResponse.Parse(response.StoreLocation) : null, Products = response.Products?.Select(pr => ProductsResponse.Parse(pr)).ToList() ?? new List <Product>(), }); }
public HttpResponseMessage Get(HttpRequestMessage pRequest, string data) { IEnumerable <string> token = null; pRequest.Headers.TryGetValues("Token-autorization", out token); //TODO: Corregir error ortográfico PersonEN personVerified = personBL.VerifyPersonAuthentication(token); if (token != null) { if (personVerified != null) { if (personVerified.IsValidToken) { List <ProductEN> products = productsBL.GetProductsByCountryID(personVerified); if (products != null) { ProductsResponse productsResponse = interactor.CreateProductsResponse(products); return(Request.CreateResponse <IResponse>(HttpStatusCode.OK, productsResponse)); } else { response.HttpCode = 500; response.Message = "Something went wrong"; return(Request.CreateResponse <IResponse>(HttpStatusCode.InternalServerError, response)); } } else { response.HttpCode = 401; response.Message = "Authentication token has expired."; return(Request.CreateResponse <IResponse>(HttpStatusCode.Unauthorized, response)); } } else { response.HttpCode = 401; response.Message = "Credentials are not valid."; return(Request.CreateResponse <IResponse>(HttpStatusCode.Unauthorized, response)); } } else { response.HttpCode = 400; response.Message = "Authorization token must be provided"; return(Request.CreateResponse <IResponse>(HttpStatusCode.BadRequest, response)); } }
public IActionResult GetList([FromQuery] string filter, [FromQuery] int?pageIndex, [FromQuery] int?pageSize) { IItemsList <Product> productsList = null; ProductsResponse productsListResponse = null; productsList = this._productService.GetList(filter, pageIndex, pageSize); if (productsList.RenderedItemsCount <= 0) { return(NotFound($"Items not found for requested page")); } productsListResponse = ProductMapper.ProductsListToResponse(productsList); return(Ok(productsListResponse)); }
private void Create() { ProductsResponse pr = this.orderService.ReadAllProducts(); Order order = this.orderView.GetOrderNewInfo(pr.Data); Response response = this.orderService.ValidateOrder(order); if (response.Success && this.orderView.GetAnswer("Do you want to save this order?")) { OrderResponse orderResponse = this.orderService.Create(order); } else if (response.Success == false) { this.orderView.DisplayError(response.Message); this.Create(); } }
public async Task <IActionResult> GetSearchMethodForProduct(string Name, int Quantity) { var result = new ProductsResponse(); var products = await _dbHelper.GetSearchMethodForProduct(Name, Quantity); if (products.Count == 0) { result.Code = -100; result.Message = "Can't get products with given parameters."; return(Ok(result)); } result.Code = 100; result.Message = "Success"; result.Products = products; return(Ok(result)); }
public ProductsResponse GetProductList(ProductRequest request) { var product = new ProductsResponse(); try { using (var bus = RabbitHutch.CreateBus(_rmqConnectionString)) { product = bus.Rpc.Request <ProductRequest, ProductsResponse>(request); } } catch (Exception ex) { // log exception here } return(product); }
public ProductsResponse GetProduct(int productId) { ProductsResponse productResponse = new ProductsResponse(); try { productResponse.product = repository.GetProduct(productId); productResponse.Success = true; } catch (Exception ex) { productResponse.Success = false; productResponse.Message = ex.Message; productResponse.StackTrace = ex.StackTrace; } return(productResponse); }
public override Task <ProductsResponse> Get(Empty _, Grpc.Core.ServerCallContext context) { var maps = products .Select(p => new ProductResponse() { Id = p.Id.ToString(), CreatedAt = Timestamp.FromDateTimeOffset(p.CreatedAt), Name = p.Name, Sku = p.Sku, Price = p.Price }); var @return = new ProductsResponse(); @return.Products.AddRange(maps); return(Task.FromResult(@return)); }
public ProductsResponse Get(Products request) { ProductsResponse response=new ProductsResponse(); response.Goodses = Db.Select<Goods>(); return response; }