/// <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); }