public async Task TransferContractors(List <Document> documents) { ContractorService contractorService = new ContractorService(_dbContext); var documentsContractors = AggregateContractorsFromDocuments(documents); List <Contractor> newContractors = new List <Contractor>(); foreach (var documentContractor in documentsContractors) { var contractorServiceResponse = contractorService.ContractorExist((int)documentContractor.SourceId, documentContractor.ContractorSourceId); var isAddedToNewContractors = newContractors.FirstOrDefault(c => c.SourceId == documentContractor.SourceId && c.ContractorSourceId == documentContractor.ContractorSourceId); if (!contractorServiceResponse.Exist && isAddedToNewContractors == null) { newContractors.Add(documentContractor); } } try { await _dbContext.AddRangeAsync(newContractors).ConfigureAwait(true); await _dbContext.SaveChangesAsync().ConfigureAwait(true); _logger.LogInformation($"Dodano : {newContractors.Count} nowych kontrahentów."); } catch (Exception ex) { _dbContext.DetachAllEntities(); _logger.LogError(ex.Message); } }
public static async Task ChangeTicketStatus(WorkerAppDbContext dbContext, int ticketId, TicketStatus ticketStatus) { dbContext.DetachAllEntities(); var ticket = await dbContext.TaskTickets.FirstOrDefaultAsync(f => f.TaskTicketId == ticketId); ticket.TicketStatus = ticketStatus; ticket.StatusChangedAt = DateTime.Now; dbContext.Update(ticket); await dbContext.SaveChangesAsync(); }