242 lines
12 KiB
C#
242 lines
12 KiB
C#
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<Int32>(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<Int32>(0),
|
|
SoftwareId = x.GetValue<Int16>(1),
|
|
Pruefmittel = x.GetValue<String>(2),
|
|
PruefmittelNr = x.GetValue<String>(3),
|
|
Pruefintervall = x.GetValue<Int32>(4),
|
|
Erforderlich = x.GetValue<Boolean>(5),
|
|
PruefdatumIst = x.GetValue<DateTime>(6),
|
|
PruefdatumSoll = x.GetValue<DateTime>(7),
|
|
Bemerkung = x.GetValue<String>(8),
|
|
EmailFrom = x.GetValue<String>(9),
|
|
EmailAn = x.GetValue<String>(10),
|
|
InCcAn = x.GetValue<String>(11),
|
|
Betreff = x.GetValue<String>(12),
|
|
Nachricht = x.GetValue<String>(13),
|
|
Meldung = x.GetValue<String>(14),
|
|
Schedule = x.GetValue<String>(15)
|
|
});
|
|
|
|
public IEnumerable<PruefmittelPruefung> 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<Int32>(0),
|
|
SoftwareId = x.GetValue<Int16>(1),
|
|
Pruefmittel = x.GetValue<String>(2),
|
|
PruefmittelNr = x.GetValue<String>(3),
|
|
Pruefintervall = x.GetValue<Int32>(4),
|
|
Erforderlich = x.GetValue<Boolean>(5),
|
|
PruefdatumIst = x.GetValue<DateTime>(6),
|
|
PruefdatumSoll = x.GetValue<DateTime>(7),
|
|
Bemerkung = x.GetValue<String>(8),
|
|
EmailFrom = x.GetValue<String>(9),
|
|
EmailAn = x.GetValue<String>(10),
|
|
InCcAn = x.GetValue<String>(11),
|
|
Betreff = x.GetValue<String>(12),
|
|
Nachricht = x.GetValue<String>(13),
|
|
Meldung = x.GetValue<String>(14),
|
|
Schedule = x.GetValue<String>(15)
|
|
});
|
|
|
|
public Int32 Remove(Int32 pruefmittelId)
|
|
=> this.sqlConnection
|
|
.CreateCommand($@"
|
|
DELETE
|
|
FROM [PruefmittelPruefung]
|
|
WHERE [PruefmittelId] = @{nameof(pruefmittelId)}")
|
|
.SetParameter(nameof(pruefmittelId), pruefmittelId)
|
|
.ExecuteNonQuery();
|
|
|
|
public IEnumerable<PruefmittelPruefung> 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<Int32>(0),
|
|
SoftwareId = x.GetValue<Int16>(1),
|
|
Pruefmittel = x.GetValue<String>(2),
|
|
PruefmittelNr = x.GetValue<String>(3),
|
|
Pruefintervall = x.GetValue<Int32>(4),
|
|
Erforderlich = x.GetValue<Boolean>(5),
|
|
PruefdatumIst = x.GetValue<DateTime>(6),
|
|
PruefdatumSoll = x.GetValue<DateTime>(7),
|
|
Bemerkung = x.GetValue<String>(8),
|
|
EmailFrom = x.GetValue<String>(9),
|
|
EmailAn = x.GetValue<String>(10),
|
|
InCcAn = x.GetValue<String>(11),
|
|
Betreff = x.GetValue<String>(12),
|
|
Nachricht = x.GetValue<String>(13),
|
|
Meldung = x.GetValue<String>(14),
|
|
Schedule = x.GetValue<String>(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();
|
|
}
|
|
}
|