示例#1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <IdOutputDto <long> > CreateCreditCardEntryDocumentUnit(CreditCardEntryDocumentInputUnit input)
        {
            var creditEntryTransactions = input.MapTo <ChargeEntryDocumentUnit>();
            IdOutputDto <long> response = new IdOutputDto <long>
            {
                Id = await _chargeEntryDocumentUnitManager.CreateAsync(creditEntryTransactions)
            };

            //Null Checking of CreditCardEntryDetailList
            if (!ReferenceEquals(input.CreditCardEntryDetailList, null))
            {
                //Bulk Insertion of creditCardEntryDocumentDetail
                foreach (var creditCardEntryDocumentDetail in input.CreditCardEntryDetailList)
                {
                    creditCardEntryDocumentDetail.AccountingDocumentId = response.Id;
                    var invoiceEntryDocumentDetailUnit = creditCardEntryDocumentDetail.MapTo <ChargeEntryDocumentDetailUnit>();
                    await _chargeEntryDocumentDetailUnitManager.CreateAsync(invoiceEntryDocumentDetailUnit);
                }
            }
            await CurrentUnitOfWork.SaveChangesAsync();

            return(response);
        }