using System.Collections.Generic; using System.Linq; using Centron.BusinessLogic; using Centron.BusinessLogic.WebServices.Administration.Customization; using Centron.Data.WebServices.Administration.Customization; using Centron.Interfaces; using Centron.Interfaces.Administration.Customization; using Centron.Interfaces.BL; using Centron.Tests.EndToEnd.Infrastructure; using Xunit.Abstractions; namespace Centron.Tests.EndToEnd.TicketTests.Ticket134784; public class Ticket134784Tests : EndToEndTest { public Ticket134784Tests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } public override void Execute() { var property = this.PrepareDatabase(); using var session = new BLSession(); var values = new List { new ModuleCustomPropertyValueDTO { ValueDecimal = 1.5m, ModuleCustomPropertyI3D = property.I3D } }; session.GetBL().SaveCustomPropertyValues( this.GetLoggedInUser(), objectI3D: 1, CentronObjectKindNumeric.OfferClass, values).ThrowIfError(); this.Verifier.VerifyTable("CustomPropertyValues", "dbo.ModuleCustomPropertyValues", $"ModuleCustomPropertyI3D = {property.I3D}"); } private ModuleCustomPropertyDTO PrepareDatabase() { var customProperties = new List { new ModuleCustomPropertyDTO { DataType = CustomizationDataTypes.Decimal, Name = "Gleitkommazahl", Category = "Allgemein", IsVisible = true, } }; this.WithSession(s => s.GetBL().SaveCustomPropertyStructure(this.GetLoggedInUser(), customProperties, CentronObjectKindNumeric.OfferClass).ThrowIfError()); var properties = this.WithSession(s => s.GetBL().GetCustomPropertyStructureForModule(this.GetLoggedInUser(), new CustomPropertyFilter { ObjectKind = CentronObjectKindNumeric.OfferClass }).ThrowIfError()); return properties.First(); } }