80 lines
3.9 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|