public IList <GeneralLedgerJournal> CreateUnconfirmationJournalForCashBankMutation(CashBankMutation cashBankMutation, CashBank sourceCashBank, CashBank targetCashBank, IAccountService _accountService) { IList <GeneralLedgerJournal> journals = new List <GeneralLedgerJournal>(); DateTime UnconfirmationDate = DateTime.Now; GeneralLedgerJournal credittargetcashbank = new GeneralLedgerJournal() { AccountId = _accountService.GetObjectByLegacyCode(Constant.AccountLegacyCode.CashBank + targetCashBank.Id).Id, SourceDocument = Constant.GeneralLedgerSource.CashBankMutation, SourceDocumentId = cashBankMutation.Id, TransactionDate = UnconfirmationDate, Status = Constant.GeneralLedgerStatus.Credit, Amount = cashBankMutation.Amount }; credittargetcashbank = CreateObject(credittargetcashbank, _accountService); GeneralLedgerJournal debitsourcecashbank = new GeneralLedgerJournal() { AccountId = _accountService.GetObjectByLegacyCode(Constant.AccountLegacyCode.CashBank + sourceCashBank.Id).Id, SourceDocument = Constant.GeneralLedgerSource.CashBankMutation, SourceDocumentId = cashBankMutation.Id, TransactionDate = UnconfirmationDate, Status = Constant.GeneralLedgerStatus.Debit, Amount = cashBankMutation.Amount }; debitsourcecashbank = CreateObject(debitsourcecashbank, _accountService); journals.Add(credittargetcashbank); journals.Add(debitsourcecashbank); return(journals); }
public IList <GeneralLedgerJournal> CreateUnpaidJournalForCustomPurchaseInvoice(CustomPurchaseInvoice customPurchaseInvoice, IAccountService _accountService) { IList <GeneralLedgerJournal> journals = new List <GeneralLedgerJournal>(); DateTime UnconfirmationDate = DateTime.Now; GeneralLedgerJournal creditGoodsPendingClearance = new GeneralLedgerJournal() { AccountId = _accountService.GetObjectByLegacyCode(Constant.AccountLegacyCode.GoodsPendingClearance).Id, SourceDocument = Constant.GeneralLedgerSource.CustomPurchaseInvoice, SourceDocumentId = customPurchaseInvoice.Id, TransactionDate = UnconfirmationDate, Status = Constant.GeneralLedgerStatus.Credit, Amount = customPurchaseInvoice.AmountPaid.GetValueOrDefault() }; creditGoodsPendingClearance = CreateObject(creditGoodsPendingClearance, _accountService); GeneralLedgerJournal debitaccountpayable = new GeneralLedgerJournal() { AccountId = _accountService.GetObjectByLegacyCode(Constant.AccountLegacyCode.AccountPayable).Id, SourceDocument = Constant.GeneralLedgerSource.CustomPurchaseInvoice, SourceDocumentId = customPurchaseInvoice.Id, TransactionDate = UnconfirmationDate, Status = Constant.GeneralLedgerStatus.Debit, Amount = customPurchaseInvoice.AmountPaid.GetValueOrDefault() }; debitaccountpayable = CreateObject(debitaccountpayable, _accountService); journals.Add(creditGoodsPendingClearance); journals.Add(debitaccountpayable); return(journals); }
public IList <GeneralLedgerJournal> CreateConfirmationJournalForCustomPurchaseInvoice(CustomPurchaseInvoice customPurchaseInvoice, IAccountService _accountService) { IList <GeneralLedgerJournal> journals = new List <GeneralLedgerJournal>(); GeneralLedgerJournal creditinventory = new GeneralLedgerJournal() { AccountId = _accountService.GetObjectByLegacyCode(Constant.AccountLegacyCode.Inventory).Id, SourceDocument = Constant.GeneralLedgerSource.CustomPurchaseInvoice, SourceDocumentId = customPurchaseInvoice.Id, TransactionDate = (DateTime)customPurchaseInvoice.ConfirmationDate, Status = Constant.GeneralLedgerStatus.Credit, Amount = customPurchaseInvoice.CoGS }; creditinventory = CreateObject(creditinventory, _accountService); GeneralLedgerJournal debitgoodsPendingclearance = new GeneralLedgerJournal() { AccountId = _accountService.GetObjectByLegacyCode(Constant.AccountLegacyCode.GoodsPendingClearance).Id, SourceDocument = Constant.GeneralLedgerSource.CustomPurchaseInvoice, SourceDocumentId = customPurchaseInvoice.Id, TransactionDate = (DateTime)customPurchaseInvoice.ConfirmationDate, Status = Constant.GeneralLedgerStatus.Debit, Amount = customPurchaseInvoice.CoGS }; debitgoodsPendingclearance = CreateObject(debitgoodsPendingclearance, _accountService); journals.Add(creditinventory); journals.Add(debitgoodsPendingclearance); return(journals); }
public IList <GeneralLedgerJournal> CreateConfirmationJournalForPaymentVoucher(PaymentVoucher paymentVoucher, CashBank cashBank, IAccountService _accountService) { IList <GeneralLedgerJournal> journals = new List <GeneralLedgerJournal>(); GeneralLedgerJournal debitaccountpayable = new GeneralLedgerJournal() { AccountId = _accountService.GetObjectByLegacyCode(Constant.AccountLegacyCode.AccountPayable).Id, SourceDocument = Constant.GeneralLedgerSource.PaymentVoucher, SourceDocumentId = paymentVoucher.Id, TransactionDate = (DateTime)paymentVoucher.ConfirmationDate, Status = Constant.GeneralLedgerStatus.Debit, Amount = paymentVoucher.TotalAmount }; debitaccountpayable = CreateObject(debitaccountpayable, _accountService); GeneralLedgerJournal creditcashbank = new GeneralLedgerJournal() { AccountId = _accountService.GetObjectByLegacyCode(Constant.AccountLegacyCode.CashBank + cashBank.Id).Id, SourceDocument = Constant.GeneralLedgerSource.PaymentVoucher, SourceDocumentId = paymentVoucher.Id, TransactionDate = (DateTime)paymentVoucher.ConfirmationDate, Status = Constant.GeneralLedgerStatus.Credit, Amount = paymentVoucher.TotalAmount }; creditcashbank = CreateObject(creditcashbank, _accountService); journals.Add(debitaccountpayable); journals.Add(creditcashbank); return(journals); }
public IList <GeneralLedgerJournal> CreateUnpaidJournalForCashSalesInvoice(CashSalesInvoice cashSalesInvoice, IAccountService _accountService) { IList <GeneralLedgerJournal> journals = new List <GeneralLedgerJournal>(); DateTime UnconfirmationDate = DateTime.Now; GeneralLedgerJournal credittotal = new GeneralLedgerJournal() { AccountId = _accountService.GetObjectByLegacyCode(Constant.AccountLegacyCode.AccountReceivable).Id, SourceDocument = Constant.GeneralLedgerSource.CashSalesInvoice, SourceDocumentId = cashSalesInvoice.Id, TransactionDate = UnconfirmationDate, Status = Constant.GeneralLedgerStatus.Credit, Amount = cashSalesInvoice.AmountPaid.GetValueOrDefault() }; credittotal = CreateObject(credittotal, _accountService); GeneralLedgerJournal debitrevenue = new GeneralLedgerJournal() { AccountId = _accountService.GetObjectByLegacyCode(Constant.AccountLegacyCode.Revenue).Id, SourceDocument = Constant.GeneralLedgerSource.CashSalesInvoice, SourceDocumentId = cashSalesInvoice.Id, TransactionDate = UnconfirmationDate, Status = Constant.GeneralLedgerStatus.Debit, Amount = cashSalesInvoice.AmountPaid.GetValueOrDefault() }; debitrevenue = CreateObject(debitrevenue, _accountService); journals.Add(credittotal); journals.Add(debitrevenue); return(journals); }
public IList <GeneralLedgerJournal> CreateUnconfirmationJournalForCashSalesInvoice(CashSalesInvoice cashSalesInvoice, IAccountService _accountService) { IList <GeneralLedgerJournal> journals = new List <GeneralLedgerJournal>(); DateTime UnconfirmationDate = DateTime.Now; GeneralLedgerJournal creditcogs = new GeneralLedgerJournal() { AccountId = _accountService.GetObjectByLegacyCode(Constant.AccountLegacyCode.COGS).Id, SourceDocument = Constant.GeneralLedgerSource.CashSalesInvoice, SourceDocumentId = cashSalesInvoice.Id, TransactionDate = UnconfirmationDate, Status = Constant.GeneralLedgerStatus.Credit, Amount = cashSalesInvoice.CoGS }; creditcogs = CreateObject(creditcogs, _accountService); GeneralLedgerJournal debitinventory = new GeneralLedgerJournal() { AccountId = _accountService.GetObjectByLegacyCode(Constant.AccountLegacyCode.Inventory).Id, SourceDocument = Constant.GeneralLedgerSource.CashSalesInvoice, SourceDocumentId = cashSalesInvoice.Id, TransactionDate = UnconfirmationDate, Status = Constant.GeneralLedgerStatus.Debit, Amount = cashSalesInvoice.CoGS }; debitinventory = CreateObject(debitinventory, _accountService); journals.Add(creditcogs); journals.Add(debitinventory); return(journals); }
public GeneralLedgerJournal VIsLeafAccount(GeneralLedgerJournal generalLedgerJournal, IAccountService _accountService) { Account account = _accountService.GetObjectById(generalLedgerJournal.AccountId); if (!account.IsLeaf) { generalLedgerJournal.Errors.Add("Generic", "Non leaf account bukan sebuah item journal"); } return(generalLedgerJournal); }
public GeneralLedgerJournal VCreateObject(GeneralLedgerJournal generalLedgerJournal, IAccountService _accountService) { VIsValidSourceDocument(generalLedgerJournal); if (!isValid(generalLedgerJournal)) { return(generalLedgerJournal); } VIsLeafAccount(generalLedgerJournal, _accountService); return(generalLedgerJournal); }
public string PrintError(GeneralLedgerJournal obj) { string erroroutput = ""; KeyValuePair <string, string> first = obj.Errors.ElementAt(0); erroroutput += first.Key + "," + first.Value; foreach (KeyValuePair <string, string> pair in obj.Errors.Skip(1)) { erroroutput += Environment.NewLine; erroroutput += pair.Key + "," + pair.Value; } return(erroroutput); }
public GeneralLedgerJournal VIsValidSourceDocument(GeneralLedgerJournal generalLedgerJournal) { if (!generalLedgerJournal.SourceDocument.Equals(Constant.GeneralLedgerSource.CashBankAdjustment) && !generalLedgerJournal.SourceDocument.Equals(Constant.GeneralLedgerSource.CashBankMutation) && !generalLedgerJournal.SourceDocument.Equals(Constant.GeneralLedgerSource.CashSalesInvoice) && !generalLedgerJournal.SourceDocument.Equals(Constant.GeneralLedgerSource.CustomPurchaseInvoice) && !generalLedgerJournal.SourceDocument.Equals(Constant.GeneralLedgerSource.PaymentVoucher) && !generalLedgerJournal.SourceDocument.Equals(Constant.GeneralLedgerSource.ReceiptVoucher) && !generalLedgerJournal.SourceDocument.Equals(Constant.GeneralLedgerSource.RetailSalesInvoice) && !generalLedgerJournal.SourceDocument.Equals(Constant.GeneralLedgerSource.StockAdjustment)) { generalLedgerJournal.Errors.Add("SourceDocument", "Harus merupakan bagian dari Constant.SourceDocument"); } return(generalLedgerJournal); }
public IList <GeneralLedgerJournal> CreateUnconfirmationJournalForStockAdjustment(StockAdjustment stockAdjustment, IAccountService _accountService) { IList <GeneralLedgerJournal> journals = new List <GeneralLedgerJournal>(); DateTime UnconfirmationDate = DateTime.Now; if (stockAdjustment.Total >= 0) { GeneralLedgerJournal creditinventory = new GeneralLedgerJournal() { AccountId = _accountService.GetObjectByLegacyCode(Constant.AccountLegacyCode.Inventory).Id, SourceDocument = Constant.GeneralLedgerSource.StockAdjustment, SourceDocumentId = stockAdjustment.Id, TransactionDate = UnconfirmationDate, Status = Constant.GeneralLedgerStatus.Credit, Amount = stockAdjustment.Total }; creditinventory = CreateObject(creditinventory, _accountService); GeneralLedgerJournal debitstockequityadjustment = new GeneralLedgerJournal() { AccountId = _accountService.GetObjectByLegacyCode(Constant.AccountLegacyCode.EquityAdjustment).Id, SourceDocument = Constant.GeneralLedgerSource.StockAdjustment, SourceDocumentId = stockAdjustment.Id, TransactionDate = UnconfirmationDate, Status = Constant.GeneralLedgerStatus.Debit, Amount = stockAdjustment.Total }; debitstockequityadjustment = CreateObject(debitstockequityadjustment, _accountService); journals.Add(creditinventory); journals.Add(debitstockequityadjustment); } else { GeneralLedgerJournal creditstockadjustmentexpense = new GeneralLedgerJournal() { AccountId = _accountService.GetObjectByLegacyCode(Constant.AccountLegacyCode.StockAdjustmentExpense).Id, SourceDocument = Constant.GeneralLedgerSource.StockAdjustment, SourceDocumentId = stockAdjustment.Id, TransactionDate = UnconfirmationDate, Status = Constant.GeneralLedgerStatus.Credit, Amount = Math.Abs(stockAdjustment.Total) }; creditstockadjustmentexpense = CreateObject(creditstockadjustmentexpense, _accountService); GeneralLedgerJournal debitinventory = new GeneralLedgerJournal() { AccountId = _accountService.GetObjectByLegacyCode(Constant.AccountLegacyCode.Inventory).Id, SourceDocument = Constant.GeneralLedgerSource.StockAdjustment, SourceDocumentId = stockAdjustment.Id, TransactionDate = UnconfirmationDate, Status = Constant.GeneralLedgerStatus.Debit, Amount = Math.Abs(stockAdjustment.Total) }; debitinventory = CreateObject(debitinventory, _accountService); journals.Add(creditstockadjustmentexpense); journals.Add(debitinventory); } return(journals); }
public GeneralLedgerJournal SoftDeleteObject(GeneralLedgerJournal generalLedgerJournal) { return(_validator.ValidDeleteObject(generalLedgerJournal) ? _repository.SoftDeleteObject(generalLedgerJournal) : generalLedgerJournal); }
public GeneralLedgerJournal CreateObject(GeneralLedgerJournal generalLedgerJournal, IAccountService _accountService) { generalLedgerJournal.Errors = new Dictionary <String, String>(); return(_validator.ValidCreateObject(generalLedgerJournal, _accountService) ? _repository.CreateObject(generalLedgerJournal) : generalLedgerJournal); }
public IList <GeneralLedgerJournal> CreateUnconfirmationJournalForCashBankAdjustment(CashBankAdjustment cashBankAdjustment, CashBank cashBank, IAccountService _accountService) { IList <GeneralLedgerJournal> journals = new List <GeneralLedgerJournal>(); DateTime UnconfirmationDate = DateTime.Now; if (cashBankAdjustment.Amount >= 0) { GeneralLedgerJournal creditcashbank = new GeneralLedgerJournal() { AccountId = _accountService.GetObjectByLegacyCode(Constant.AccountLegacyCode.CashBank + cashBank.Id).Id, SourceDocument = Constant.GeneralLedgerSource.CashBankAdjustment, SourceDocumentId = cashBankAdjustment.Id, TransactionDate = UnconfirmationDate, Status = Constant.GeneralLedgerStatus.Credit, Amount = cashBankAdjustment.Amount }; creditcashbank = CreateObject(creditcashbank, _accountService); GeneralLedgerJournal debitcashbankequityadjustment = new GeneralLedgerJournal() { AccountId = _accountService.GetObjectByLegacyCode(Constant.AccountLegacyCode.EquityAdjustment).Id, SourceDocument = cashBankAdjustment.GetType().ToString(), SourceDocumentId = cashBankAdjustment.Id, TransactionDate = UnconfirmationDate, Status = Constant.GeneralLedgerStatus.Debit, Amount = cashBankAdjustment.Amount }; debitcashbankequityadjustment = CreateObject(debitcashbankequityadjustment, _accountService); journals.Add(creditcashbank); journals.Add(debitcashbankequityadjustment); } else { GeneralLedgerJournal creditcashbankadjustmentexpense = new GeneralLedgerJournal() { AccountId = _accountService.GetObjectByLegacyCode(Constant.AccountLegacyCode.CashBankAdjustmentExpense).Id, SourceDocument = Constant.GeneralLedgerSource.CashBankAdjustment, SourceDocumentId = cashBankAdjustment.Id, TransactionDate = UnconfirmationDate, Status = Constant.GeneralLedgerStatus.Credit, Amount = Math.Abs(cashBankAdjustment.Amount) }; creditcashbankadjustmentexpense = CreateObject(creditcashbankadjustmentexpense, _accountService); GeneralLedgerJournal debitcashbank = new GeneralLedgerJournal() { AccountId = _accountService.GetObjectByLegacyCode(Constant.AccountLegacyCode.CashBank + cashBank.Id).Id, SourceDocument = Constant.GeneralLedgerSource.CashBankAdjustment, SourceDocumentId = cashBankAdjustment.Id, TransactionDate = UnconfirmationDate, Status = Constant.GeneralLedgerStatus.Debit, Amount = Math.Abs(cashBankAdjustment.Amount) }; debitcashbank = CreateObject(debitcashbank, _accountService); journals.Add(creditcashbankadjustmentexpense); journals.Add(debitcashbank); } return(journals); }
public bool isValid(GeneralLedgerJournal obj) { bool isValid = !obj.Errors.Any(); return(isValid); }
public bool ValidDeleteObject(GeneralLedgerJournal generalLedgerJournal) { generalLedgerJournal.Errors.Clear(); VDeleteObject(generalLedgerJournal); return(isValid(generalLedgerJournal)); }
public bool ValidCreateObject(GeneralLedgerJournal generalLedgerJournal, IAccountService _accountService) { VCreateObject(generalLedgerJournal, _accountService); return(isValid(generalLedgerJournal)); }
public GeneralLedgerJournal VDeleteObject(GeneralLedgerJournal generalLedgerJournal) { return(generalLedgerJournal); }