namespace LaaProduction.Personalization.Repositories { using LaaPackages.SqlClient; using LaaProduction.Personalization.Models; using LaaProduction.Personalization.Repositories.Interfaces; using System; using System.Collections.Generic; public class EquipmentsRepository : IEquipmentsRepository { private readonly SqlConnection sqlConnection; public EquipmentsRepository(SqlConnection sqlConnection) => this.sqlConnection = sqlConnection; public Int32 Add(PruefmittelPruefung model) => this.sqlConnection .CreateCommand($@" INSERT INTO [PruefmittelPruefung] ( [SoftwareId] , [Pruefmittel] , [PruefmittelNr] , [Pruefintervall] , [Erforderlich] , [PruefdatumIst] , [PruefdatumSoll] , [Bemerkung] , [EmailFrom] , [EmailAn] , [InCcAn] , [Betreff] , [Nachricht] , [Meldung] , [Schedule]) OUTPUT [inserted].[PruefmittelId] VALUES (@{nameof(model.SoftwareId)} , @{nameof(model.Pruefmittel)} , @{nameof(model.PruefmittelNr)} , @{nameof(model.Pruefintervall)} , @{nameof(model.Erforderlich)} , @{nameof(model.PruefdatumIst)} , @{nameof(model.PruefdatumSoll)} , @{nameof(model.Bemerkung)} , @{nameof(model.EmailFrom)} , @{nameof(model.EmailAn)} , @{nameof(model.InCcAn)} , @{nameof(model.Betreff)} , @{nameof(model.Nachricht)} , @{nameof(model.Meldung)} , @{nameof(model.Schedule)})") .SetParameter(nameof(model.SoftwareId), model.SoftwareId) .SetParameter(nameof(model.Pruefmittel), model.Pruefmittel) .SetParameter(nameof(model.PruefmittelNr), model.PruefmittelNr) .SetParameter(nameof(model.Pruefintervall), model.Pruefintervall) .SetParameter(nameof(model.Erforderlich), model.Erforderlich) .SetParameter(nameof(model.PruefdatumIst), model.PruefdatumIst) .SetParameter(nameof(model.PruefdatumSoll), model.PruefdatumSoll) .SetParameter(nameof(model.Bemerkung), model.Bemerkung) .SetParameter(nameof(model.EmailFrom), model.EmailFrom) .SetParameter(nameof(model.EmailAn), model.EmailAn) .SetParameter(nameof(model.InCcAn), model.InCcAn) .SetParameter(nameof(model.Betreff), model.Betreff) .SetParameter(nameof(model.Nachricht), model.Nachricht) .SetParameter(nameof(model.Meldung), model.Meldung) .SetParameter(nameof(model.Schedule), model.Schedule) .ExecuteScalar(x => x.GetValue(0)); public PruefmittelPruefung FindById(Int32 pruefmittelId) => this.sqlConnection .CreateCommand($@" SELECT [PruefmittelId] , [SoftwareId] , [Pruefmittel] , [PruefmittelNr] , [Pruefintervall] , [Erforderlich] , [PruefdatumIst] , [PruefdatumSoll] , [Bemerkung] , [EmailFrom] , [EmailAn] , [InCcAn] , [Betreff] , [Nachricht] , [Meldung] , [Schedule] FROM [PruefmittelPruefung] WHERE [PruefmittelId] = @{nameof(pruefmittelId)}") .SetParameter(nameof(pruefmittelId), pruefmittelId) .FirstOrDefault(x => new PruefmittelPruefung { PruefmittelId = x.GetValue(0), SoftwareId = x.GetValue(1), Pruefmittel = x.GetValue(2), PruefmittelNr = x.GetValue(3), Pruefintervall = x.GetValue(4), Erforderlich = x.GetValue(5), PruefdatumIst = x.GetValue(6), PruefdatumSoll = x.GetValue(7), Bemerkung = x.GetValue(8), EmailFrom = x.GetValue(9), EmailAn = x.GetValue(10), InCcAn = x.GetValue(11), Betreff = x.GetValue(12), Nachricht = x.GetValue(13), Meldung = x.GetValue(14), Schedule = x.GetValue(15) }); public IEnumerable SelectAll(Int32 softwareId) => this.sqlConnection .CreateCommand($@" SELECT [PruefmittelId] , [SoftwareId] , [Pruefmittel] , [PruefmittelNr] , [Pruefintervall] , [Erforderlich] , [PruefdatumIst] , [PruefdatumSoll] , [Bemerkung] , [EmailFrom] , [EmailAn] , [InCcAn] , [Betreff] , [Nachricht] , [Meldung] , [Schedule] FROM [PruefmittelPruefung] WHERE [SoftwareId] = @{nameof(softwareId)}") .SetParameter(nameof(softwareId), softwareId) .ExecuteReader(x => new PruefmittelPruefung { PruefmittelId = x.GetValue(0), SoftwareId = x.GetValue(1), Pruefmittel = x.GetValue(2), PruefmittelNr = x.GetValue(3), Pruefintervall = x.GetValue(4), Erforderlich = x.GetValue(5), PruefdatumIst = x.GetValue(6), PruefdatumSoll = x.GetValue(7), Bemerkung = x.GetValue(8), EmailFrom = x.GetValue(9), EmailAn = x.GetValue(10), InCcAn = x.GetValue(11), Betreff = x.GetValue(12), Nachricht = x.GetValue(13), Meldung = x.GetValue(14), Schedule = x.GetValue(15) }); public Int32 Remove(Int32 pruefmittelId) => this.sqlConnection .CreateCommand($@" DELETE FROM [PruefmittelPruefung] WHERE [PruefmittelId] = @{nameof(pruefmittelId)}") .SetParameter(nameof(pruefmittelId), pruefmittelId) .ExecuteNonQuery(); public IEnumerable SelectAll() => this.sqlConnection .CreateCommand(@" SELECT [PruefmittelId] , [SoftwareId] , [Pruefmittel] , [PruefmittelNr] , [Pruefintervall] , [Erforderlich] , [PruefdatumIst] , [PruefdatumSoll] , [Bemerkung] , [EmailFrom] , [EmailAn] , [InCcAn] , [Betreff] , [Nachricht] , [Meldung] , [Schedule] FROM [PruefmittelPruefung]") .ExecuteReader(x => new PruefmittelPruefung { PruefmittelId = x.GetValue(0), SoftwareId = x.GetValue(1), Pruefmittel = x.GetValue(2), PruefmittelNr = x.GetValue(3), Pruefintervall = x.GetValue(4), Erforderlich = x.GetValue(5), PruefdatumIst = x.GetValue(6), PruefdatumSoll = x.GetValue(7), Bemerkung = x.GetValue(8), EmailFrom = x.GetValue(9), EmailAn = x.GetValue(10), InCcAn = x.GetValue(11), Betreff = x.GetValue(12), Nachricht = x.GetValue(13), Meldung = x.GetValue(14), Schedule = x.GetValue(15) }); public Int32 Update(PruefmittelPruefung model) => this.sqlConnection .CreateCommand($@" UPDATE [PruefmittelPruefung] SET [SoftwareId] = @{nameof(model.SoftwareId)} , [Pruefmittel] = @{nameof(model.Pruefmittel)} , [PruefmittelNr] = @{nameof(model.PruefmittelNr)} , [Pruefintervall] = @{nameof(model.Pruefintervall)} , [Erforderlich] = @{nameof(model.Erforderlich)} , [PruefdatumIst] = @{nameof(model.PruefdatumIst)} , [PruefdatumSoll] = @{nameof(model.PruefdatumSoll)} , [Bemerkung] = @{nameof(model.Bemerkung)} , [EmailFrom] = @{nameof(model.EmailFrom)} , [EmailAn] = @{nameof(model.EmailAn)} , [InCcAn] = @{nameof(model.InCcAn)} , [Betreff] = @{nameof(model.Betreff)} , [Nachricht] = @{nameof(model.Nachricht)} , [Meldung] = @{nameof(model.Meldung)} , [Schedule] = @{nameof(model.Schedule)} WHERE [PruefmittelId] = @{nameof(model.PruefmittelId)}") .SetParameter(nameof(model.SoftwareId), model.SoftwareId) .SetParameter(nameof(model.PruefmittelId), model.PruefmittelId) .SetParameter(nameof(model.Pruefmittel), model.Pruefmittel) .SetParameter(nameof(model.PruefmittelNr), model.PruefmittelNr) .SetParameter(nameof(model.Pruefintervall), model.Pruefintervall) .SetParameter(nameof(model.Erforderlich), model.Erforderlich) .SetParameter(nameof(model.PruefdatumIst), model.PruefdatumIst) .SetParameter(nameof(model.PruefdatumSoll), model.PruefdatumSoll) .SetParameter(nameof(model.Bemerkung), model.Bemerkung) .SetParameter(nameof(model.EmailFrom), model.EmailFrom) .SetParameter(nameof(model.EmailAn), model.EmailAn) .SetParameter(nameof(model.InCcAn), model.InCcAn) .SetParameter(nameof(model.Betreff), model.Betreff) .SetParameter(nameof(model.Nachricht), model.Nachricht) .SetParameter(nameof(model.Meldung), model.Meldung) .SetParameter(nameof(model.Schedule), model.Schedule) .ExecuteNonQuery(); } }