public async Task UpdateJournalEntryDocumentUnit(JournalEntryDocumentInputUnit input) { var journalEntryDocumentUnit = await _journalEntryDocumentUnitRepository.GetAsync(input.AccountingDocumentId); Mapper.Map(input, journalEntryDocumentUnit); await _journalEntryDocumentUnitManager.UpdateAsync(journalEntryDocumentUnit); if (!ReferenceEquals(input.JournalEntryDetailList, null)) { await JournalEntryDetails(input.JournalEntryDetailList.OrderByDescending(u => u.Amount).ToList()); } await CurrentUnitOfWork.SaveChangesAsync(); if (journalEntryDocumentUnit.JournalTypeId == JournalType.RecurringEntries) { await _recurringJobManager.AddOrUpdateAsync <JournalEntryBackGroundJob, BackgroundJobInput <long> >( $"RecurringJournalID{input.AccountingDocumentId}", new BackgroundJobInput <long>() { Id = input.AccountingDocumentId, tenantId = journalEntryDocumentUnit.TenantId }, input.CronExpression, BackgroundJobPriority.Normal); } else { _recurringJobManager.DeleteJob($"RecurringJournalID{journalEntryDocumentUnit.Id}"); } }
public async Task <IdOutputDto <long> > CreateJournalEntryDocumentUnit(JournalEntryDocumentInputUnit input) { var journalEntryDocumentUnit = new JournalEntryDocumentUnit(); Mapper.Map(input, journalEntryDocumentUnit); var accountDocumentId = await _journalEntryDocumentUnitManager.CreateAsync(journalEntryDocumentUnit); if (!ReferenceEquals(input.JournalEntryDetailList, null)) { input.JournalEntryDetailList.ForEach(u => u.AccountingDocumentId = accountDocumentId); await JournalEntryDetails(input.JournalEntryDetailList.OrderByDescending(u => u.Amount).ToList()); } await CurrentUnitOfWork.SaveChangesAsync(); if (journalEntryDocumentUnit.JournalTypeId == JournalType.RecurringEntries) { //await Helper.GetCron("x"); await _recurringJobManager.AddOrUpdateAsync <JournalEntryBackGroundJob, BackgroundJobInput <long> >( $"RecurringJournalID{accountDocumentId}", new BackgroundJobInput <long>() { Id = accountDocumentId, tenantId = journalEntryDocumentUnit.TenantId }, input.CronExpression, BackgroundJobPriority.Normal); } return(new IdOutputDto <long>() { Id = accountDocumentId }); }