public decimal CalculateDiscount(Order order) { if (canDiscountStrategy.CanDiscount(order)) { return(discountStrategy.CalculateDiscount(order)); } else { return(0); } }
public decimal CalculateDiscount(Order order) { //1.Predykat if (discountStrategy.CanDiscount(order)) { // 2. Wartosc rabatu return(discountStrategy.CalculateDiscount(order)); } else { return(noDiscount); } }
// GET: Cart public ActionResult Index() { var reqCookie = Request.Cookies.Get("CartItems"); var carItems = JsonConvert.DeserializeObject <CartItem[]>(reqCookie.Value); var products = carItems.Select( c => new Service.DiscountCore.Product { Name = c.ProductName, Qty = 1, Price = c.ProductListPrice }).ToList(); var discount = rebateStrategy.CalculateDiscount(products); var vm = new CartViewModel { CartItems = carItems, Discount = discount }; return(View(vm)); }
public Task Handle(DomainEventNotification <JobStatusUpdatedEvent> notification, CancellationToken cancellationToken) { var domainEvent = notification.DomainEvent; try { _log.LogDebug("Handling Domain Event. Id: {jobId} JobStatus: {jobStatus}", domainEvent.Job.Id, domainEvent.Job.JobStatus); if (domainEvent.Job.JobStatus == Domain.Tradie.Enums.JobStatusEnum.Accepted) { var discount = _discountStrategy.CalculateDiscount(domainEvent.Job); domainEvent.Job.DiscountAmount = discount; _emailService.Send("[email protected])", String.Format($"Id: {domainEvent.Job.Id} JobStatus: {domainEvent.Job.JobStatus}")); } return(Task.CompletedTask); } catch (Exception ex) { _log.LogError(ex, "Error handling domain event {domainEvent}", domainEvent.GetType()); throw; } }
public double CalculateDiscount(Order order) { return(_discountStrategy.CalculateDiscount(order)); }