using DigitalData.Modules.Database; using EnvelopeGenerator.Domain.Entities; using EnvelopeGenerator.ServiceHost.Extensions; namespace EnvelopeGenerator.ServiceHost.Jobs; public class EnvelopeModel(MSSQLServer Database, ILogger Logger) { public Envelope? GetById(int envelopeId) { try { var sql = $"SELECT * FROM [dbo].[TBSIG_ENVELOPE] WHERE GUID = {envelopeId}"; var table = Database.GetDatatable(sql); var row = table.Rows.Cast().SingleOrDefault(); if (row is null) { return null; } return new Envelope { Id = row.ItemEx("GUID", 0), Uuid = row.ItemEx("ENVELOPE_UUID", string.Empty), FinalEmailToCreator = row.ItemEx("FINAL_EMAIL_TO_CREATOR", 0), FinalEmailToReceivers = row.ItemEx("FINAL_EMAIL_TO_RECEIVERS", 0), UserId = row.ItemEx("USER_ID", 0), User = null!, EnvelopeReceivers = new List() }; } catch (Exception ex) { Logger.LogError(ex); return null; } } }