public PaymentPropertiesWindow(Window owner, Payment payment)
        {
            InitializeComponent();
            Owner = owner;
            m_payment = payment;

            tbAmount.Text = payment.Amount.ToString();
            tbComment.Text = payment.Comment;
        }
 public void Add(Payment payment)
 {
     using (var s = m_dbManger.OpenSession())
     {
         using (var t = s.BeginTransaction())
         {
             s.Save(payment);
             t.Commit();
         }
     }
 }
        private void btnAddPaymentClickHandler(object sender, RoutedEventArgs e)
        {
            var payment = new Payment {AlbumId = m_album.Id, PayerId = m_customer.Id, Date = DateTime.Now, Amount = 0};
            var f = new PaymentPropertiesWindow(this, payment);
            f.ShowDialog();

            if (f.GetResult() != PaymentPropertiesWindow.Result.Ok)
            {
                return;
            }

            var repo = Core.Repositories.DbManger.GetInstance().GetPaymentsRepository();
            try
            {
                repo.Add(payment);
                m_customerItem.Payment += payment.Amount;
                UpdateOrderStatistics();
            }
            catch (Exception exception)
            {
                this.ShowError("Ошибка. Не удалось сохранить информацию в БД.\r\n\r\n" + exception.Message);
                return;
            }
        }
 public PaymentsListViewItem(Payment payment, Customer customer)
 {
     m_payment = payment;
     m_customer = customer;
 }