Ejemplo n.º 1
0
        public void Map_ProductCreateRequest_To_Product_Should_Work(ProductCreateRequestDto data)
        {
            var mapper = new MapperFixture().Mapper;
            var result = mapper.Map <Product>(data);

            result.Should().NotBeNull();
            Guid.TryParse(result.Id.ToString(), out _).Should().BeTrue();
        }
Ejemplo n.º 2
0
        private Product convertToProduct(ProductCreateRequestDto request)
        {
            Product product = new Product();

            product.Name  = request.Name;
            product.Price = request.Price;

            return(product);
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> AddProduct(ProductCreateRequestDto productCreateRequest)
        {
            _logger.LogDebug($"Received {nameof(AddProduct)} request with {{@ProductCreateRequest}}", productCreateRequest);
            var productId = await _service.AddAsync(_mapper.Map <Product>(productCreateRequest));

            _logger.LogDebug($"Returned {nameof(AddProduct)} request with Id {productId}");

            return(CreatedAtAction(nameof(AddProduct), new { id = productId }, productId));
        }
Ejemplo n.º 4
0
        public Guid AddProduct(ProductCreateRequestDto request)
        {
            Guid   id = new Guid();
            String addProductCommand = "INSERT INTO Products (Id,Name,Price) VALUES(default, '" + request.Name + "', " + FormatWithComma(request.Price) + ")";

            CreateAndCommitTransaction(addProductCommand);
            id = GetProductId(request);
            return(id);
        }
Ejemplo n.º 5
0
 public ViewResult AddForm(ProductCreateRequestDto request)
 {
     if (ModelState.IsValid)
     {
         Product product = new Product(request.Name, request.Price);
         product.Id = dataBaseBridge.AddProduct(request);
         return(View("ProductAdded", product));
     }
     return(View());
 }
Ejemplo n.º 6
0
 public IActionResult Post(ProductCreateRequestDto request)
 {
     if (ModelState.IsValid)
     {
         Trace.WriteLine("Post");
         Response.StatusCode = 200;
         return(Content(dataBaseBridge.AddProduct(request).ToString()));
     }
     Response.StatusCode = 400;
     return(Content("Invalid request !!!"));
 }
Ejemplo n.º 7
0
        public ProductCreateRequestBuilder WithDefaultValues()
        {
            _productCreateRequest = new ProductCreateRequestDto
            {
                Name          = $"Test Name {DateTime.Now.Ticks}",
                Description   = $"Test Description {DateTime.Now.Ticks}",
                Price         = 100,
                DeliveryPrice = 5
            };

            return(this);
        }
Ejemplo n.º 8
0
        public Guid PostProduct(ProductCreateRequestDto request)
        {
            if (ModelState.IsValid)
            {
                var guid = _productService.AddProduct(request.Name, request.Price);

                return(guid);
            }
            else
            {
                return(Guid.Empty);
            }
        }
        public void Not_Have_Error_When_Valid_Request_Is_Empty()
        {
            var productCreateRequest = new ProductCreateRequestDto
            {
                Description   = "Testing",
                Name          = "Test",
                Price         = 10,
                DeliveryPrice = 1
            };

            var result = _validator.TestValidate(productCreateRequest);

            Assert.Empty(result.Errors);
        }
        public void Have_Multiple_Errors_When_Price_DeliveryPrice_Are_Not_Provided()
        {
            var productCreateRequest = new ProductCreateRequestDto
            {
                Description = "Testing",
                Name        = "Test"
            };

            var result = _validator.TestValidate(productCreateRequest);

            Assert.Equal(2, result.Errors.Count);
            result.ShouldHaveValidationErrorFor(request => request.Price);
            result.ShouldHaveValidationErrorFor(request => request.DeliveryPrice);
        }
Ejemplo n.º 11
0
        public Guid?Post([FromBody] ProductCreateRequestDto request)
        {
            if (!ModelState.IsValid)
            {
                return(null);
            }

            Product product = convertToProduct(request);

            EntityEntry entityEntry  = _productRepository.Save(product);
            Product     savedProduct = (Product)entityEntry.Entity;

            return(savedProduct.Id);
        }
        public async Task <IActionResult> Post([FromBody] ProductCreateRequestDto productDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(string.Join("\n", ModelState.Values
                                              .SelectMany(x => x.Errors)
                                              .Select(x => x.ErrorMessage))));
            }

            productDto.Id = Guid.NewGuid();
            await _productService.CreateAsync(productDto.Id, productDto.Name, productDto.Price);

            return(StatusCode(201, productDto.Id.ToString()));
        }
Ejemplo n.º 13
0
        public async Task <ActionResult <Guid> > Post([FromBody] ProductCreateRequestDto request)
        {
            try
            {
                var product   = _mapper.Map <Product>(request);
                var productId = await _productService.Add(product);

                return(Ok(productId));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
Ejemplo n.º 14
0
        private Guid GetProductId(ProductCreateRequestDto request)
        {
            Guid   id = new Guid();
            String selectAddedIdCommand = "SELECT Id FROM Products WHERE Name='" + request.Name + "' AND Price=" + FormatWithComma(request.Price) + "; ";

            using (SqlCommand command = new SqlCommand(selectAddedIdCommand, sqlConnection))
                using (SqlDataReader dr = command.ExecuteReader())
                {
                    if (dr != null)
                    {
                        while (dr.Read())
                        {
                            id = (Guid)(dr["Id"]);
                        }
                    }
                    dr.Close();
                }
            return(id);
        }
Ejemplo n.º 15
0
        public async Task <IActionResult> Post([FromBody] ProductCreateRequestDto productCreateRequestDto)
        {
            if (ModelState.IsValid)
            {
                Product product = new Product()
                {
                    Id    = Guid.NewGuid(),
                    Name  = productCreateRequestDto.Name,
                    Price = productCreateRequestDto.Price
                };
                _context.Add(product);
                await _context.SaveChangesAsync();

                ProductDto productDto = new ProductDto()
                {
                    Id    = product.Id,
                    Name  = product.Name,
                    Price = product.Price
                };
                return(Json(productDto));
            }
            return(BadRequest());
        }
Ejemplo n.º 16
0
 public Guid AddProduct(ProductCreateRequestDto request)
 {
     return(DbImplementation.AddProduct(request));
 }