#if NET using EnvelopeGenerator.Application.Common.Interfaces; using EnvelopeGenerator.Domain.Entities; using Microsoft.EntityFrameworkCore; namespace EnvelopeGenerator.Infrastructure.Writers; public class DocReceiverElementWriter(EGDbContext dbContext) : IDocReceiverElementWriter { public Task DeleteByDocumentAndReceiverAsync(int documentId, int receiverId, CancellationToken cancellationToken = default) { return dbContext.Database.ExecuteSqlInterpolatedAsync( $"DELETE FROM [dbo].[TBSIG_DOCUMENT_RECEIVER_ELEMENT] WHERE [DOCUMENT_ID] = {documentId} AND [RECEIVER_ID] = {receiverId}", cancellationToken); } public Task InsertAsync(DocReceiverElement element, CancellationToken cancellationToken = default) { return dbContext.Database.ExecuteSqlInterpolatedAsync($@" INSERT INTO [dbo].[TBSIG_DOCUMENT_RECEIVER_ELEMENT] ([DOCUMENT_ID] ,[RECEIVER_ID] ,[ELEMENT_TYPE] ,[POSITION_X] ,[POSITION_Y] ,[WIDTH] ,[HEIGHT] ,[REQUIRED] ,[READ_ONLY] ,[PAGE] ,[ADDED_WHEN] ,[FULL_NAME] ,[POSITION] ,[PLACE] ,[TOOLTIP] ,[ANNOTATION_INDEX]) VALUES ({element.DocumentId} ,{element.ReceiverId} ,{element.ElementType} ,{element.X} ,{element.Y} ,{element.Width} ,{element.Height} ,{element.Required} ,{element.ReadOnly} ,{element.Page} ,{element.AddedWhen} ,{element.FullName} ,{element.Position} ,{element.Place} ,{element.Tooltip} ,{element.AnnotationIndex})", cancellationToken); } } #endif