Esempio n. 1
0
        private void UnRegister(TransactionEntryLineItemVM vm)
        {
            Model.Details.Remove(Model.Details.FirstOrDefault(t => t.Id == vm.TransactionDetailId1));
            Model.Details.Remove(Model.Details.FirstOrDefault(t => t.Id == vm.TransactionDetailId2));

            vm.PropertyChanged -= LineItemVM_PropertyChanged;
        }
Esempio n. 2
0
        public TransactionEntryVM(Transaction model, IEnumerable <Account> fromAccounts, IEnumerable <Account> toAccounts)
            : base(model)
        {
            FromAccounts = fromAccounts;
            ToAccounts   = toAccounts;

            var trans = Model;

            var payToAccount   = trans.Details.Where(t => t.CreditAmount > 0).FirstOrDefault();
            var payFromAccount = trans.Details.Where(t => t.DebitAmount > 0).FirstOrDefault();

            if (payToAccount != null)
            {
                ToAccountId = payToAccount.AccountId;
            }

            if (payFromAccount != null)
            {
                FromAccountId = payFromAccount.AccountId;
            }

            var payFromDetails = trans.Details.Where(t => t.AccountId == FromAccountId).ToArray();
            var payToDetails   = trans.Details.Where(t => t.AccountId == ToAccountId).ToArray();

            for (int i = 0; i < payFromDetails.Length; i++)
            {
                var lineItemVM = new TransactionEntryLineItemVM()
                {
                    Amount               = payToDetails[i].CreditAmount,
                    Reference            = payToDetails[i].Reference,
                    TransactionDetailId1 = payFromDetails[i].Id,
                    TransactionDetailId2 = payToDetails[i].Id
                };

                lineItemVM.PropertyChanged += LineItemVM_PropertyChanged;

                TransactionEntryLineItemVMs.Add(lineItemVM);
            }

            TransactionEntryLineItemVMs.CollectionChanged += LineItems_CollectionChanged1;
            ReCalculateTotals();

            PropertyChanging += ReceiptEntryVM_PropertyChanging;
        }
Esempio n. 3
0
        private void Register(TransactionEntryLineItemVM vm)
        {
            var transDetail1 = new TransactionDetail()
            {
                Id = vm.TransactionDetailId1, AccountId = ToAccountId, TransactionId = Model.Id
            };
            var transDetail2 = new TransactionDetail()
            {
                Id = vm.TransactionDetailId2, AccountId = FromAccountId, TransactionId = Model.Id
            };

            Model.Details.Add(transDetail1);
            Model.Details.Add(transDetail2);

            vm.TransactionDetailId1 = transDetail1.Id;
            vm.TransactionDetailId2 = transDetail2.Id;

            vm.PropertyChanged += LineItemVM_PropertyChanged;
        }