Files
laatzen/LaaProductionWeb/LaaProduction.Services/ApprovalsService.cs
T
2024-03-06 12:48:08 +01:00

80 lines
3.9 KiB
C#

namespace LaaProduction.Services
{
using LaaProduction.SQL.Interfaces;
using LaaProduction.Services.Interfaces;
using LaaProduction.Services.Models;
public class ApprovalsService : IApprovalsService
{
private readonly ISQLConnection sqlConnection;
public ApprovalsService(ISQLConnection sqlConnection)
=> this.sqlConnection = sqlConnection;
public Result Add(ProductionApproval approval)
{
var message = string.Empty;
var rowsAffected = this.sqlConnection
.CreateCommand($@"
INSERT INTO [Cordonel_Special_Requirements] (
[OrderNumber]
, [PcbId]
, [SkipRadioParametersCheck]
, [OverrideFwCheck]
, [OverrideLutCheck]
, [RequiredLifeTimeYearsAssembly]
, [RequiredLifeTimeYearsShipping]
, [KitronProductionDate]
, [MaxDrainedBatteryLoadPercent]
, [MaxStorageMonths]
, [AddDate]
, [CreatedBy]
, [Comment])
VALUES (@{nameof(approval.OrderNr)}
, @{nameof(approval.PcbId)}
, @{nameof(approval.SkipRadioCheck)}
, @{nameof(approval.OverrideFwCheck)}
, @{nameof(approval.OverrideLutCheck)}
, @{nameof(approval.RequiredLifeTimeYearsAssembly)}
, @{nameof(approval.RequiredLifeTimeYearsShipping)}
, @{nameof(approval.KitronProductionDate)}
, @{nameof(approval.MaxDrainedBatteryLoadPercent)}
, @{nameof(approval.MaxStorageMonths)}
, @{nameof(approval.ApprovalDate)}
, @{nameof(approval.ApproverName)}
, @{nameof(approval.ApprovalComment)})")
.SetParameter(nameof(approval.OrderNr), approval.OrderNr)
.SetParameter(nameof(approval.PcbId), approval.PcbId)
.SetParameter(nameof(approval.SkipRadioCheck), approval.SkipRadioCheck)
.SetParameter(nameof(approval.OverrideFwCheck), approval.OverrideFwCheck)
.SetParameter(nameof(approval.OverrideLutCheck), approval.OverrideLutCheck)
.SetParameter(nameof(approval.RequiredLifeTimeYearsAssembly), approval.RequiredLifeTimeYearsAssembly)
.SetParameter(nameof(approval.RequiredLifeTimeYearsShipping), approval.RequiredLifeTimeYearsShipping)
.SetParameter(nameof(approval.KitronProductionDate), approval.KitronProductionDate)
.SetParameter(nameof(approval.MaxDrainedBatteryLoadPercent), approval.MaxDrainedBatteryLoadPercent)
.SetParameter(nameof(approval.MaxStorageMonths), approval.MaxStorageMonths)
.SetParameter(nameof(approval.ApprovalDate), approval.ApprovalDate)
.SetParameter(nameof(approval.ApproverName), approval.ApproverName)
.SetParameter(nameof(approval.ApprovalComment), approval.ApprovalComment)
.ExecuteNonQuery();
Result result = rowsAffected == 1;
if (result)
{
result.WithMessage("Die Genehmigung wurde erfolgreich hinzugefügt.");
}
else if (string.IsNullOrWhiteSpace(message))
{
result.WithMessage("Die Genehmigung wurde nicht hinzugefügt.");
}
else
{
result.WithMessage(message);
}
return result;
}
}
}