Example #1
0
        public OrderCashBack CalculateOrderCashBack(Order order)
        {
            OrderCashBack orderCashBack = new OrderCashBack(order);

            foreach (var orderItem in order.OrderItems)
            {
                decimal cp = GetCashbackPercentage(order.Date.DayOfWeek, orderItem.Disk.Genre);
                orderCashBack.AddCashbackOrderItem(new OrderCashBackItem(orderItem, cp));
            }

            return(orderCashBack);
        }
Example #2
0
        public ICommandResult Handle(NewOrder command)
        {
            OrderCashBack orderCashBack = _cashBackService.CalculateOrderCashBack(command.Order);

            _orderCashBackRepository.Add(orderCashBack);

            AddNotifications(orderCashBack.Notifications);

            if (Valid)
            {
                return(new ClientResult());
            }
            else
            {
                return(null);
            }
        }
Example #3
0
 public void Add(OrderCashBack orderCashBack)
 {
     _context.OrderCashBacks.Add(orderCashBack);
 }
Example #4
0
 public void Update(OrderCashBack obj)
 {
     throw new NotImplementedException();
 }
Example #5
0
 public void AddAndSave(Order order, OrderCashBack orderCashBack)
 {
     _context.OrderCashBacks.Add(orderCashBack);
     _context.Orders.Add(order);
     _context.SaveChanges();
 }