public IActionResult CalculateRebate([FromBody] OrderDto newOrder) { if (newOrder == null) { return(BadRequest()); } Customer selectedCustomer = _customerRepository.GetEntity(newOrder.CustomerId); Product selectedProduct = _productRepository.GetEntity(newOrder.ProductId); if (selectedCustomer == null) { return(BadRequest(ModelState)); } if (selectedProduct == null) { return(BadRequest(ModelState)); } // Here we should use a Mapper between two similar or almost similar models. For the moment it's done by hand. Domain.Products.Product mappedProduct = new Domain.Products.Product() { Id = selectedProduct.Id, Name = selectedProduct.Name, Price = selectedProduct.Price, OnSale = selectedProduct.OnSale }; Domain.Customers.Customer mappedCustomer = new Domain.Customers.Customer() { Id = selectedProduct.Id, Name = selectedProduct.Name, IsPremium = selectedCustomer.IsPremium, DateOfFirstPurchase = selectedCustomer.DateOfFirstPurchase }; Order order = new Order() { Product = mappedProduct, Customer = mappedCustomer, Quantity = newOrder.Quantity, UnitPrice = mappedProduct.Price }; var resultDiscount = _discountCalculator.CalculateDiscountPercentage(order); var returnedValue = new JsonResult(resultDiscount); // return new JsonResult(resultDiscount) return(Ok(resultDiscount)); }
protected override void Establish_context() { base.Establish_context(); _product = Data.Products.LastOrDefault(); }
public void Edit(Domain.Products.Product entity) { this.db.GetCollection <Product>("Product") .ReplaceOne(x => x.Id == entity.Id, entity); }
public void Add(Domain.Products.Product entity) { this.db.GetCollection <Product>("Product").InsertOne(entity); }