public async Task <bool> CreateCustomerLedger(GeneralLedgerView ledgerView)
        {
            try
            {
                GeneralLedger.CreateGeneralLedgerByView(ledgerView).Apply();

                GeneralLedgerView glView = await GeneralLedger
                                           .Query()
                                           .GetLedgerViewByExpression(e => e.AccountId == ledgerView.AccountId && e.Amount == ledgerView.Amount && e.Gldate == ledgerView.GLDate && e.DocNumber == ledgerView.DocNumber && e.CheckNumber == ledgerView.CheckNumber);

                ledgerView.GeneralLedgerId = glView.GeneralLedgerId;

                CustomerLedger
                .Apply();
                await CustomerLedger
                .CreateEntityByGeneralLedgerView(ledgerView);

                CustomerLedger.Apply();

                AccountReceivable
                .UpdateAccountReceivableByGeneralLedgerView(ledgerView)
                .Apply();
                GeneralLedger
                .UpdateAccountBalances(ledgerView);
                return(true);
            }
            catch (Exception ex) { throw new Exception("CreateCustomerLedger", ex); }
        }
Exemple #2
0
        public bool CreateAccountPayable(GeneralLedgerView ledgerView)

        {
            try

            {
                GeneralLedger.CreateGeneralLedgerByView(ledgerView).Apply();
                Task <GeneralLedgerView> generalLedgerViewTask = Task.Run(async() => await GeneralLedger.Query().GetViewByDocNumber(ledgerView.DocNumber, ledgerView.DocType));
                Task.WaitAll(generalLedgerViewTask);
                SupplierLedgerView supplierLedgerView = applicationViewFactory.MapSupplierLedgerView(generalLedgerViewTask.Result);
                supplierLedgerView.GeneralLedgerId = generalLedgerViewTask.Result.GeneralLedgerId;
                SupplierLedger.CreateEntityByView(supplierLedgerView);
                SupplierLedger.Apply();
                SupplierLedger.CreateSupplierLedgerWithGeneralLedgerView(ledgerView).Apply();
                AccountPayable.UpdatePayableByLedgerView(ledgerView).Apply();
                GeneralLedger.UpdateAccountBalances(ledgerView);
                return(true);
            }

            catch (Exception ex) { throw new Exception("CreateAccountPayable", ex); }
        }