Beispiel #1
0
        public void Pay(string username)
        {
            var payedOrder =
                _unitOfWork.Repository <Order>()
                .FindBy(x => x.User != null && x.User.Username == username)
                .FirstOrDefault(x => x.IsConfirmed && !x.IsShipped);

            if (payedOrder == null)
            {
                throw new ValidationException("There is no order for payed", "Order");
            }

            payedOrder.IsPayed = true;
            _unitOfWork.Repository <Order>().Edit(payedOrder);
            IObservable observable = MailServer.CreateServer(_unitOfWork);

            observable.NotifyObserver(payedOrder);
        }