public Task <int> AutoCreateFromPaymentDisposition(PaymentDispositionNoteModel model)
        {
            var nominal = model.Items.Sum(item => (decimal)item.TotalPaid * (decimal)model.CurrencyRate);
            var dailyBankTransactionModel = new DailyBankTransactionModel()
            {
                AccountBankAccountName    = model.BankAccountName,
                AccountBankAccountNumber  = model.BankAccountNumber,
                AccountBankCode           = model.BankCode,
                AccountBankCurrencyCode   = model.BankCurrencyCode,
                AccountBankCurrencyId     = model.BankCurrencyId,
                AccountBankCurrencySymbol = model.BankCurrencyCode,
                AccountBankId             = model.BankId,
                AccountBankName           = model.BankName,
                Date          = model.PaymentDate,
                Nominal       = nominal,
                ReferenceNo   = model.PaymentDispositionNo,
                ReferenceType = "Pembayaran Disposisi",
                Remark        = model.CurrencyCode != "IDR" ? $"Pembayaran atas {model.BankCurrencyCode} dengan nominal {string.Format("{0:n}", nominal)} dan kurs {model.CurrencyCode}" : "",
                SourceType    = model.TransactionType,
                SupplierCode  = model.SupplierCode,
                SupplierId    = model.SupplierId,
                SupplierName  = model.SupplierName,
                Status        = "OUT"
            };

            return(_dailyBankTransactionService.CreateAsync(dailyBankTransactionModel));
        }
Esempio n. 2
0
        public Task <int> AutoCreateFromPaymentDisposition(PaymentDispositionNoteModel model)
        {
            var dailyBankTransactionModel = new DailyBankTransactionModel()
            {
                AccountBankAccountName    = model.BankAccountName,
                AccountBankAccountNumber  = model.BankAccountNumber,
                AccountBankCode           = model.BankCode,
                AccountBankCurrencyCode   = model.CurrencyCode,
                AccountBankCurrencyId     = model.CurrencyId,
                AccountBankCurrencySymbol = model.CurrencyCode,
                AccountBankId             = model.BankId,
                AccountBankName           = model.BankName,
                Date         = model.PaymentDate,
                Nominal      = model.Items.Sum(item => (decimal)item.TotalPaid * (decimal)model.CurrencyRate),
                ReferenceNo  = model.PaymentDispositionNo,
                Remark       = "Auto Generate Disposition Payment",
                SourceType   = model.TransactionType,
                SupplierCode = model.SupplierCode,
                SupplierId   = model.SupplierId,
                SupplierName = model.SupplierName,
                Status       = "OUT"
            };

            return(_dailyBankTransactionService.CreateAsync(dailyBankTransactionModel));
        }
Esempio n. 3
0
        public Task <int> AutoCreateFromGarmentInvoicePurchasingDisposition(GarmentInvoicePurchasingDispositionModel model)
        {
            var nominal = model.Items.Sum(item => (decimal)item.TotalPaid * (decimal)model.CurrencyRate);
            var dailyBankTransactionModel = new DailyBankTransactionModel()
            {
                AccountBankAccountName    = model.BankAccountName,
                AccountBankAccountNumber  = model.BankAccountNo,
                AccountBankCode           = model.BankCode,
                AccountBankCurrencyCode   = model.CurrencyCode,
                AccountBankCurrencyId     = model.CurrencyId,
                AccountBankCurrencySymbol = model.CurrencySymbol,
                AccountBankId             = model.BankId,
                AccountBankName           = model.BankName,
                Date          = model.InvoiceDate,
                Nominal       = nominal,
                CurrencyRate  = (decimal)model.CurrencyRate,
                ReferenceNo   = model.InvoiceNo,
                ReferenceType = "Bukti Pembayaran Disposisi Job Garment",
                Remark        = model.CurrencyCode != "IDR" ? $"Pembayaran atas {model.BankCurrencyCode} dengan nominal {string.Format("{0:n}", nominal)} dan kurs {model.CurrencyCode}" : "",
                SourceType    = model.PaymentType,
                SupplierCode  = model.SupplierCode,
                SupplierId    = model.SupplierId,
                SupplierName  = model.SupplierName,
                Status        = "OUT",
                IsPosted      = true
            };

            if (model.BankCurrencyCode != "IDR")
            {
                dailyBankTransactionModel.Nominal      = model.Items.Sum(item => (decimal)item.TotalPaid);
                dailyBankTransactionModel.NominalValas = nominal;
            }

            return(_dailyBankTransactionService.CreateAsync(dailyBankTransactionModel));
        }
Esempio n. 4
0
        public async Task PostingDocument(List <int> ids)
        {
            foreach (var id in ids)
            {
                var existingModel = _dbContext.GarmentPurchasingPphBankExpenditureNotes
                                    .Include(d => d.Items)
                                    .Single(x => x.Id == id && !x.IsDeleted);

                existingModel.IsPosted = true;


                foreach (var item in existingModel.Items)
                {
                    EntityExtension.FlagForUpdate(item, _identityService.Username, UserAgent);
                }
                EntityExtension.FlagForUpdate(existingModel, _identityService.Username, UserAgent);
                _dbContext.GarmentPurchasingPphBankExpenditureNotes.Update(existingModel);

                var model = await ReadByIdAsync(id);

                // insert DailyBankTransaction
                var dailyBankMap = _mapper.Map <DailyBankTransactionModel>(model);

                var insertDailyBank = await _serviceDailyBankTransaction.CreateAsync(dailyBankMap);

                await _dbContext.SaveChangesAsync();
            }
        }
Esempio n. 5
0
        public async Task <int> AutoCreateVbApproval(ApprovalVBAutoJournalDto dto)
        {
            var dailyBankTransactionModel = new DailyBankTransactionModel()
            {
                AccountBankAccountName    = dto.Bank.AccountName,
                AccountBankAccountNumber  = dto.Bank.AccountNumber,
                AccountBankCode           = dto.Bank.BankCode,
                AccountBankCurrencyCode   = dto.Bank.Currency.Code,
                AccountBankCurrencyId     = (int)dto.Bank.Currency.Id,
                AccountBankCurrencySymbol = dto.Bank.Currency.Symbol,
                AccountBankId             = dto.Bank.Id,
                AccountBankName           = dto.Bank.BankName,
                Date          = dto.VbRequestDocument.ApprovalDate == null ? dto.VbRequestDocument.Date : dto.VbRequestDocument.ApprovalDate.GetValueOrDefault(),
                Nominal       = dto.VbRequestDocument.Amount,
                CurrencyRate  = (decimal)dto.VbRequestDocument.CurrencyRate,
                ReferenceNo   = dto.VbRequestDocument.BankDocumentNo,
                ReferenceType = "Approval VB Inklaring",
                SourceType    = "Operasional",
                SupplierCode  = dto.VbRequestDocument.SuppliantUnitCode,
                SupplierId    = dto.VbRequestDocument.SuppliantUnitId,
                SupplierName  = dto.VbRequestDocument.SuppliantUnitName,
                Status        = "OUT",
                IsPosted      = true
            };

            return(await _dailyBankTransactionService.CreateAsync(dailyBankTransactionModel));
        }