private DebitVoucher GetDebitVoucher() { DebitVoucher debitVoucher = new DebitVoucher(_recordRepository, _fixedAssetRepository) { ProjectHead = _projectHead, Date = _massVoucher.VoucherDate, Narration = _massVoucher.Narration, Tag = _massVoucher.Tag, VoucherSerialNo = _massVoucher.VoucherSerialNo, VoucherType = _massVoucher.VoucherType, FinancialYear = _massVoucher.FinancialYear, IsActive = true }; debitVoucher.SetAmount(_massVoucher.Amount); if (_massVoucher.IsFixedAsset) { debitVoucher.IsFixedAsset = true; debitVoucher.FixedAsset = GetFixedAsset(); } return(debitVoucher); }
private bool SetEntryableRecords() { bool isValid = true; IList <Record> records = new List <Record>(); if (_massVoucher.VoucherType.Equals("DV", StringComparison.OrdinalIgnoreCase)) { DebitVoucher debitVoucher = GetDebitVoucher(); Record transaction = _massVoucher.IsCheque ? (Record)GetTransactionInCheque(0, _massVoucher.Amount) : (Record)GetTransactionInCash(0, _massVoucher.Amount); records.Add(debitVoucher); records.Add(transaction); } else if (_massVoucher.VoucherType.Equals("CV", StringComparison.OrdinalIgnoreCase)) { CreditVoucher creditVoucher = GetCreditVoucher(); Record transaction = _massVoucher.IsCheque ? (Record)GetTransactionInCheque(_massVoucher.Amount, 0) : (Record)GetTransactionInCash(_massVoucher.Amount, 0); records.Add(creditVoucher); records.Add(transaction); } else if (_massVoucher.VoucherType.Equals("JV", StringComparison.OrdinalIgnoreCase)) { JournalVoucher journalVoucher = GetJournalVoucher(); records.Add(journalVoucher); } else if (_massVoucher.VoucherType.Equals("Contra", StringComparison.OrdinalIgnoreCase)) { double cashDebit = _massVoucher.ContraType.Equals("bank to cash", StringComparison.OrdinalIgnoreCase) ? _massVoucher.Amount : 0; double cashCredit = _massVoucher.ContraType.Equals("cash to bank", StringComparison.OrdinalIgnoreCase) ? _massVoucher.Amount : 0; Head bankBook = _headRepository.GetSingle(h => h.Name.Equals("Bank Book", StringComparison.OrdinalIgnoreCase)); Head cashBook = _headRepository.GetSingle(h => h.Name.Equals("Cash Book", StringComparison.OrdinalIgnoreCase)); ProjectHead bankBookProjectHead = _projectHeadRepository.GetSingle(ph => ph.Project.ID == _massVoucher.Project.ID && ph.Head.ID == bankBook.ID); ProjectHead cashBookProjectHead = _projectHeadRepository.GetSingle(ph => ph.Project.ID == _massVoucher.Project.ID && ph.Head.ID == cashBook.ID); TransactionInCash cashTransaction = GetTransactionInCash(cashDebit, cashCredit); cashTransaction.ProjectHead = cashBookProjectHead; TransactionInCheque chequeTransaction = GetTransactionInCheque(cashCredit, cashDebit); chequeTransaction.ProjectHead = bankBookProjectHead; records.Add(cashTransaction); records.Add(chequeTransaction); } if (records.Count > 0) { _entryableRecords = records; } else { isValid = false; } return(isValid); }