Files
2026-04-20 14:47:24 -05:00

44 lines
1.5 KiB
C#

using System;
using System.Linq;
using LCU.Shared.Collections.RepoApiLib.Models;
using LCU.Shared.Collections.RepoApiLib.Repositories;
using Serilog;
namespace LCU.API.Collections.RepoApi.Services.AutoIms
{
public class AutoImsNoteProcessorService : IAutoImsNoteProcessorService
{
private readonly IAuctionAssignmentNoteRepository _auctionAssignmentNoteRepository;
private readonly IUnitOfWork _unitOfWork;
public AutoImsNoteProcessorService(IAuctionAssignmentNoteRepository auctionAssignmentNoteRepository,
IUnitOfWork unitOfWork
)
{
_unitOfWork = unitOfWork;
_auctionAssignmentNoteRepository = auctionAssignmentNoteRepository;
}
public AuctionAssignmentNote ImportSingleNoteRow(AuctionAssignmentNote item)
{
var dateWritten = item.DateWritten ?? DateTime.Now;
var existing =
_auctionAssignmentNoteRepository.FindConflictingNotes(dateWritten, item.Text, item.Writer)
.GetAwaiter().GetResult();
if (!existing.Any())
{
item.DateWritten = dateWritten;
Log.Information("Saving Note.");
_auctionAssignmentNoteRepository.AddAsync(item);
_unitOfWork.CompleteAsync().GetAwaiter().GetResult();
}
else
{
Log.Information($"Note already exists, customerNo: {item.AuctionCustomerNo} on writeDate: {item.DateWritten}");
}
return item;
}
}
}