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; } } }