public ProductFindResponse FindById(ProductFindRequest request) { var response = new ProductFindResponse(); var validationErrors = _validation.FindRequestValidation.Validate(request); var dbErrors = new List <DatabaseErrors>(); if (validationErrors.Count != 0) { response.ValidationErrors = validationErrors; } else { try { response.FoundProduct = _productRepository.ReadSingle(request); } catch (SqlException) { dbErrors.Add(DatabaseErrors.DB_CONNECTION_FAILED); } catch (NullReferenceException) { validationErrors.Add(ProductValidationErrors.Product_Not_Found); } response.DBErrors = dbErrors; } return(response); }
public ProductFindResponse Find(ProductFindRequest request) { var factory = new ExternalCommandFactory(); var command = factory.Create <ProductFindCommand>(); return(command.Execute(request)); }
public void ShouldGetProductById() { _createRequestValidation = new CreateRequestValidation(); _deleteRequestValidation = new DeleteRequestValidation(); _findRequestValidation = new FindRequestValidation(); _updateRequestValidation = new UpdateRequestValidation(); _validation = new ProductValidation(_createRequestValidation, _findRequestValidation, _updateRequestValidation, _deleteRequestValidation); ProductFindRequest request = new ProductFindRequest(); request.Id = 1; var mock = new Mock <IProduct>(); mock.Setup(x => x.ReadSingle(request)) .Returns(new Product { ProductId = 1, Name = "Milk", Category = Category.Milk, Price = 50, Discount = 20, Description = "Milk from latvia" }); _victim = new ProductService(mock.Object, _validation); Product actual = _victim.FindById(request).FoundProduct; string expected = "Milk"; Assert.Equal(expected, actual.Name); }
public async Task <ProductFindResponse> FindProductAsync(ProductFindRequest requestModel) { RestRequest request = new RestRequest("query", Method.POST, DataFormat.Json); request.AddJsonBody(JsonConvert.SerializeObject(requestModel)); return(await GetResponseAsync <ProductFindResponse>(request)); }
private long _findProductInDB(long id) { var productFindRequest = new ProductFindRequest { ProductId = id }; return(_productService.FindById(productFindRequest).FoundProduct.Id); }
public Product ReadSingle(ProductFindRequest request) { using (var _context = new ShoppingListContext()) { return(_context.Product .Include(c => c.Category) .Include(f => f.FileStorage) .FirstOrDefault(p => p.Id == request.ProductId)); } }
public virtual IHttpActionResult Find([FromUri] ProductFindRequest request) { var result = _productService.Find(request.Id); if (result == null) { return(Fail("抱歉,没查到数据")); } return(Succeed(new ProductFindResponse { Id = result.Id })); }
public AddUpdateCartResponse AddToCart(AddUpdateCartRequest request) { var productFindRequest = new ProductFindRequest { ProductId = request.ProductId }; var cartFindRequest = new CartFindRequest { CartId = request.CartId }; var product = _productService.FindById(productFindRequest).FoundProduct; var cart = FindCartById(cartFindRequest).Cart; var validationErrors = _cartValidation.AddProductToCartValidation.Validate(request); var DBErrors = new List <DatabaseErrors>(); var response = new AddUpdateCartResponse(); if (validationErrors.Count != 0) { response.ValidationErrors = validationErrors; } else { try { response.HasAdded = _cartRepository.ToCart(product, cart, request.Quantity); } catch (UniqueKeyViolationException) { DBErrors.Add(DatabaseErrors.DB_DUPLICATE_ENTRY); } response.DBErrors = DBErrors; } return(response); }
public HttpResponseMessage Find([FromUri] ProductFindRequest request) { var response = _externalCommandService.Execute(request); return(Request.CreateResponse(response)); }