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