public void DeleteProductSuccessTest()
        {
            var repository     = new Mock <IProductRepository>();
            var errorCollector = new ErrorCollector();
            var exportService  = new Mock <IExportService>().Object;

            repository.Setup(r => r.GetProductById(It.IsAny <int>())).Returns(new Product
            {
                Id    = 1,
                Code  = "T1",
                Name  = "Test 1",
                Price = 10
            });

            var service = new ProductService(repository.Object, errorCollector, exportService);

            var inputModel = new DeleteProductInputModel
            {
                Id = 1
            };

            var outputModel = service.DeleteProduct(inputModel);

            Assert.IsNotNull(outputModel);
            Assert.IsFalse(errorCollector.Errors.Any());
            Assert.IsTrue(outputModel.Success);
        }
        public IActionResult Delete([FromBody] DeleteProductInputModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Не верные параметры в запросе"));
            }

            var res = repo.DeleteProduct(model);

            return(Ok(new { result = res }));
        }
        public void DeleteProductWithInvalidInputModelTest()
        {
            var repository     = new Mock <IProductRepository>().Object;
            var errorCollector = new ErrorCollector();
            var exportService  = new Mock <IExportService>().Object;
            var service        = new ProductService(repository, errorCollector, exportService);

            var inputModel = new DeleteProductInputModel
            {
            };

            var outputModel = service.DeleteProduct(inputModel);

            Assert.IsNull(outputModel);
            Assert.IsTrue(errorCollector.Errors.Any());
        }
        // удаление товара
        public bool DeleteProduct(DeleteProductInputModel model)
        {
            char res;

            try
            {
                using (IDbConnection db = new SqlConnection(Global.Connection))
                {
                    var resObj = db.Query <NewProductOutputModel>("sp_SearchDeleteAvito", model,
                                                                  commandType: CommandType.StoredProcedure).First();
                    res = resObj.Result;
                }
                return(res == '1');
            }
            catch (Exception)
            {
                return(false);
            }
        }
 public GenericResponse <DeleteProductOutputModel> DeleteProduct(DeleteProductInputModel input)
 {
     return(CallWebClient <DeleteProductInputModel, DeleteProductOutputModel>(CreateServiceCallParameter(input,
                                                                                                         (request) => _webClient.Delete(request).Result,
                                                                                                         $"Products/{input.Id}", ServiceUrl)));
 }