public async Task TestCustomerCashPayment2() { int customerId = 2; GeneralLedgerView ledgerView = new GeneralLedgerView(); CustomerModule custMod = new CustomerModule(); long? addressId = await custMod.AddressBook.Query().GetAddressIdByCustomerId(customerId); ChartOfAccountModule coaMod = new ChartOfAccountModule(); ChartOfAccount coa = await coaMod.ChartOfAccount.Query().GetEntity("1000", "1200", "101", ""); ledgerView.GeneralLedgerId = -1; ledgerView.DocNumber = 1; ledgerView.DocType = "PV"; ledgerView.Amount = 250M; ledgerView.LedgerType = "AA"; ledgerView.GLDate = DateTime.Parse("8/10/2018"); ledgerView.AccountId = coa.AccountId; ledgerView.CreatedDate = DateTime.Parse("8/10/2018"); ledgerView.AddressId = addressId ?? 0; ledgerView.Comment = "First installment payment for dashboard"; ledgerView.DebitAmount = 250; ledgerView.CreditAmount = 0; ledgerView.FiscalPeriod = 8; ledgerView.FiscalYear = 2018; ledgerView.CheckNumber = "112"; AccountReceivableModule acctRecMod = new AccountReceivableModule(); bool result = await acctRecMod.CreateCustomerLedger(ledgerView); Assert.True(result); }
public async Task TestOpenAccountReceivables() { AccountReceivableModule acctRecMod = new AccountReceivableModule(); IList <AccountReceivableFlatView> list = await acctRecMod.AccountReceivable.Query().GetOpenAccountReceivables(); Assert.True(true); }
//http://localhost:61612/api/AccountReceivable/OpenReceivables public async Task <IList <AccountReceivableFlatView> > GetReceivables() { AccountReceivableModule acctRecMod = new AccountReceivableModule(); IList <AccountReceivableFlatView> list = await acctRecMod.AccountReceivable.Query().GetOpenAccountReceivables(); return(list); }
public async Task UnitTestLatePayment() { DateTime asOfDate = DateTime.Now; AccountReceivableModule acctRecMod = new AccountReceivableModule(); IList <AccountReceivableFlatView> list = await acctRecMod.AccountReceivable.Query().GetOpenAccountReceivables(); foreach (var item in list) { bool status = acctRecMod.AccountReceivable.Query().IsPaymentLate(item.InvoiceId, asOfDate); if (status == true) { bool statusFee = acctRecMod.AccountReceivable.Query().HasLateFee(item.AccountReceivableId); if (statusFee == false) { acctRecMod.AccountReceivableFee.CreateLateFee(item).Apply(); } acctRecMod.AccountReceivable.AdjustOpenAmount(item).Apply(); } } }
public async Task TestCustomerCashPayment() { long?customerId = 9; GeneralLedgerView ledgerView = new GeneralLedgerView(); CustomerModule custMod = new CustomerModule(); long? addressId = await custMod.AddressBook.Query().GetAddressIdByCustomerId(customerId); ChartOfAccountModule coaMod = new ChartOfAccountModule(); ChartOfAccount coa = await coaMod.ChartOfAccount.Query().GetEntity("1000", "1200", "101", ""); ledgerView.GeneralLedgerId = -1; ledgerView.DocNumber = 12; ledgerView.DocType = "PV"; ledgerView.Amount = 189.63M; ledgerView.LedgerType = "AA"; ledgerView.GLDate = DateTime.Parse("7/21/2018"); ledgerView.AccountId = coa.AccountId; ledgerView.CreatedDate = DateTime.Parse("7/21/2018"); ledgerView.AddressId = addressId ?? 0; ledgerView.Comment = "Payment in Part for 50% sharing of project income"; ledgerView.DebitAmount = 189.63M; ledgerView.CreditAmount = 0; ledgerView.FiscalPeriod = 7; ledgerView.FiscalYear = 2018; ledgerView.CheckNumber = "111"; AccountReceivableModule acctRecMod = new AccountReceivableModule(); bool result = await acctRecMod.CreateCustomerCashPayment(ledgerView); Assert.True(true); }
public async Task TestPostInvoiceAndDetailToAcctRec() { try { //NextNumber nextNumber = await unitOfWork.invoiceRepository.Get("InvoiceNumber"); InvoiceModule invoiceModule = new InvoiceModule(); AccountReceivableModule acctRecMod = new AccountReceivableModule(); Customer customer = await acctRecMod.Customer.Query().GetEntityById(9); AddressBook addressBookCustomer = await acctRecMod.AddressBook.Query().GetEntityById(customer?.AddressId); ChartOfAccount chartOfAccount = await acctRecMod.ChartOfAccount.Query().GetEntity("1000", "1200", "101", ""); PurchaseOrder purchaseOrder = await acctRecMod.PurchaseOrder.Query().GetEntityById(20); Udc udcReceivable = await acctRecMod.Udc.Query().GetEntityById(66); TaxRatesByCode taxRatesByCode = await invoiceModule.TaxRatesByCode.Query().GetEntityById(1); AccountReceivableView newAccountReceivableView = new AccountReceivableView { Amount = 1500M, OpenAmount = 1500M, DiscountDueDate = DateTime.Parse("1/21/2020"), Gldate = DateTime.Parse("1/21/2020"), CreateDate = DateTime.Parse("1/21/2020"), DocNumber = (await acctRecMod.AccountReceivable.Query().GetDocNumber()).NextNumberValue, Remark = " partial payment", PaymentTerms = "Net 30", CustomerId = customer.CustomerId, CustomerName = addressBookCustomer?.Name, PurchaseOrderId = purchaseOrder.PurchaseOrderId, Description = "Fixed Asset Project", AcctRecDocTypeXrefId = udcReceivable.XrefId, DocType = udcReceivable.KeyCode, AccountId = chartOfAccount.AccountId, AccountReceivableNumber = (await acctRecMod.AccountReceivable.Query().GetNextNumber()).NextNumberValue }; AccountReceivable accountReceivable = await acctRecMod.AccountReceivable.Query().MapToEntity(newAccountReceivableView); acctRecMod.AccountReceivable.AddAccountReceivable(accountReceivable).Apply(); InvoiceView invoiceView = new InvoiceView(); invoiceView.InvoiceDocument = accountReceivable.DocNumber.ToString(); invoiceView.InvoiceDate = DateTime.Parse("8/10/2018"); invoiceView.PurchaseOrderId = purchaseOrder.PurchaseOrderId; invoiceView.Amount = 1500.0M; invoiceView.CustomerId = customer.CustomerId; invoiceView.Description = "VNW Fixed Asset project"; invoiceView.PaymentTerms = "Net 30"; invoiceView.TaxAmount = 0; invoiceView.CompanyId = 1; invoiceView.TaxRatesByCodeId = taxRatesByCode.TaxRatesByCodeId; invoiceView.TaxCode = taxRatesByCode.TaxCode; invoiceView.InvoiceNumber = (await invoiceModule.Invoice.Query().GetNextNumber()).NextNumberValue; IList <PurchaseOrderDetail> listPurchaseOrderDetail = await acctRecMod.PurchaseOrderDetail.Query().GetEntitiesByPurchaseOrderId(purchaseOrder.PurchaseOrderId); IList <InvoiceDetailView> listInvoiceDetailView = new List <InvoiceDetailView>(); //invoiceDetailView.InvoiceId = invoice.InvoiceId; foreach (var item in listPurchaseOrderDetail) { listInvoiceDetailView.Add( new InvoiceDetailView() { UnitOfMeasure = item.UnitOfMeasure, Quantity = (int)item.OrderedQuantity, PurchaseOrderId = item.PurchaseOrderId, PurchaseOrderDetailId = item.PurchaseOrderDetailId, UnitPrice = item.UnitPrice, Amount = item.Amount, DiscountPercent = 0, DiscountAmount = 0, ItemId = item.ItemId, InvoiceDetailNumber = (await invoiceModule.InvoiceDetail.Query().GetNextNumber()).NextNumberValue }); } invoiceView.InvoiceDetailViews = listInvoiceDetailView; bool result = await invoiceModule.PostInvoiceAndDetailToAcctRec(invoiceView); Assert.True(result); } catch (Exception ex) { throw new Exception("TestPostInvoiceAndDetailToAcctRec", ex); } }