Files
laatzen/LaaProductionWeb/LaaProductionWeb.Services/ApprovalsService.cs
T
Stoyan Zlatev cf9dfe1915 Production Approvals,
sql client refactoring
2023-04-14 16:45:41 +02:00

80 lines
3.8 KiB
C#

namespace LaaProductionWeb.Services
{
using LaaProductionWeb.Data.Interfaces;
using LaaProductionWeb.Services.Interfaces;
using LaaProductionWeb.Services.Models;
public class ApprovalsService : IApprovalsService
{
private readonly ISqlClient sqlClient;
public ApprovalsService(ISqlClient sqlClient)
=> this.sqlClient = sqlClient;
public Result Add(ProductionApproval approval)
{
var message = string.Empty;
var rowsAffected = this.sqlClient.ExecuteNonQuery($@"
INSERT INTO [ProductionSkipAndLifeTimeInfo] (
[OrderNumber]
, [PcbId]
, [SkipRadioParametersCheck]
, [OverrideFwCheck]
, [OverrideLutCheck]
, [RequiredLifeTimeYearsAssembly]
, [RequiredLifeTimeYearsShipping]
, [KitronProductionDate]
, [MaxDrainedBatteryLoadPercent]
, [MaxStorageMonths]
, [ApprovalDate]
, [ApproverName]
, [ApprovalComment])
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)})",
parameters => parameters
.Add(nameof(approval.OrderNr), approval.OrderNr)
.Add(nameof(approval.PcbId), approval.PcbId)
.Add(nameof(approval.SkipRadioCheck), approval.SkipRadioCheck)
.Add(nameof(approval.OverrideFwCheck), approval.OverrideFwCheck)
.Add(nameof(approval.OverrideLutCheck), approval.OverrideLutCheck)
.Add(nameof(approval.RequiredLifeTimeYearsAssembly), approval.RequiredLifeTimeYearsAssembly)
.Add(nameof(approval.RequiredLifeTimeYearsShipping), approval.RequiredLifeTimeYearsShipping)
.Add(nameof(approval.KitronProductionDate), approval.KitronProductionDate)
.Add(nameof(approval.MaxDrainedBatteryLoadPercent), approval.MaxDrainedBatteryLoadPercent)
.Add(nameof(approval.MaxStorageMonths), approval.MaxStorageMonths)
.Add(nameof(approval.ApprovalDate), approval.ApprovalDate)
.Add(nameof(approval.ApproverName), approval.ApproverName)
.Add(nameof(approval.ApprovalComment), approval.ApprovalComment),
errorCallback: (s, args) => message = args.Message);
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;
}
}
}