public Acc_TransactionMaster GetAcc_TransactionMasterByTransactionCode(string transactionCode)
        {
            Acc_TransactionMaster transactionMaster = new Acc_TransactionMaster();

            transactionMaster = GetAcc_TransactionMasterAll().Single(tm => tm.JournalCode == transactionCode);
            return(transactionMaster);
        }
        public Acc_TransactionMaster GetAcc_TransactionMasterByTransactionMasterID(long transactionMasterID)
        {
            Acc_TransactionMaster transactionMaster = new Acc_TransactionMaster();

            transactionMaster = GetAcc_TransactionMasterAll().Single(tm => tm.IID == transactionMasterID);
            return(transactionMaster);
        }
        public Acc_TransactionMaster GetTransactionMasterByTransactionNo(string transactionNo)
        {
            Acc_TransactionMaster tmMaster = new Acc_TransactionMaster();

            tmMaster = Database.Acc_TransactionMasters.Where(tm => tm.JournalCode == transactionNo && tm.IsRemoved == 0).FirstOrDefault();
            return(tmMaster);
        }
        //public List<Payment> GetPaymentListByTicketSaleID(long ticketSaleID, int referenceTypeID)
        //{
        //    List<Payment> list = new List<Payment>();
        //    list = GetPaymentAll().Where(p => p.TicketSaleID == ticketSaleID && p.ReferenceTypeID == referenceTypeID).ToList();

        //    return list;
        //}

        public List <Payment> GetPaymentAll()
        {
            List <Payment> list = new List <Payment>();

            list = Database.Payments.Where(p => p.IsRemoved == 0).ToList();
            foreach (Payment payment in list)
            {
                //payment.TicketSale = payment.TicketSale;
                if (payment.ReferenceTypeID == Convert.ToInt32(EnumCollection.ReferenceType.Customer))
                {
                    Customer customer = new Customer();
                    customer         = Database.Customers.Where(c => c.IID == payment.ReferenceID && c.IsRemoved == 0).FirstOrDefault();
                    payment.Customer = customer;
                }
                if (payment.ReferenceTypeID == Convert.ToInt32(EnumCollection.ReferenceType.Supplier))
                {
                    Supplier supplier = new Supplier();
                    supplier         = Database.Suppliers.Where(s => s.IID == payment.ReferenceID && s.IsRemoved == 0).FirstOrDefault();
                    payment.Supplier = supplier;
                }
                Acc_TransactionMaster tmMaster = new Acc_TransactionMaster();
                tmMaster = GetTransactionMasterByTransactionNo(payment.PaymentNo);
                if (tmMaster != null)
                {
                    payment.TransactionMasterID = tmMaster.IID;
                }
            }
            return(list);
        }
        public Acc_TransactionMaster GetAcc_TransactionMasterByTransactionCodeAndReferenceID(string transactionCode, int refrenceID)
        {
            Acc_TransactionMaster transactionMaster = new Acc_TransactionMaster();

            try
            {
                transactionMaster = GetAcc_TransactionMasterAll().Single(tm => tm.JournalCode == transactionCode && tm.ReferenceType == refrenceID);
            }
            catch (Exception ex)
            {
                transactionMaster = new Acc_TransactionMaster();
            }
            return(transactionMaster);
        }
        public Acc_BankTransaction GetAcc_BankTransactionByJournalCode(string journalCode)
        {
            Acc_TransactionMaster tm = new Acc_TransactionMaster();

            tm = GetAcc_TransactionMasterByTransactionCode(journalCode);
            Acc_BankTransaction bankTransaction = new Acc_BankTransaction();

            try
            {
                bankTransaction = GetAcc_BankTransactionByTransactionMasterID(tm.IID);
            }
            catch
            {
            }
            return(bankTransaction);
        }