protected override void NewItem(object parameter)
        {
            log.Debug("New " + ItemName + " button");

            TransactionHeadListEntity Item = new TransactionHeadListEntity();

            Item.Head          = new TransactionHeadEntity();
            Item.Head.Incoming = this.Incoming;
            Item.Head.Date     = DateTime.Now.Date;
            EditTransactionViewModel ETVM = new EditTransactionViewModel(Item, true, ItemName);
            EditItemWindow           EIV  = new EditItemWindow()
            {
                DataContext = ETVM
            };

            EIV.ShowDialog();
            if (ETVM.SaveEdit)
            {
                Item = ETVM.Item;
                NotificationProvider.Info("Transaction added", string.Format("Id: {0}\nDate: {1}\nPartner name: {2}", Item.Head.Id, Item.Head.Date.ToString("d"), Item.Partner.Name));
                RefreshList(parameter);
                foreach (var t in List)
                {
                    if (Item.Head.Id == t.Head.Id)
                    {
                        SelectedItem = t;
                    }
                }
            }
        }
        protected override void EditItem(object parameter)
        {
            log.Debug("Edit " + ItemName + " button");

            TransactionHeadListEntity Item = new TransactionHeadListEntity();

            EntityCloner.CloneProperties <TransactionHeadListEntity>(SelectedItem, Item);
            EditTransactionViewModel ETVM = new EditTransactionViewModel(Item, false, ItemName);
            EditItemWindow           EIV  = new EditItemWindow()
            {
                DataContext = ETVM
            };

            EIV.ShowDialog();
            if (ETVM.SaveEdit)
            {
                Item = ETVM.Item;
                NotificationProvider.Info("Transaction saved", string.Format("Id: {0}\nDate: {1}\nPartner name: {2}", Item.Head.Id, Item.Head.Date.ToString("d"), Item.Partner.Name));
                RefreshList(parameter);
                foreach (var t in List)
                {
                    if (Item.Head.Id == t.Head.Id)
                    {
                        SelectedItem = t;
                    }
                }
            }
        }