public void Heal(IncrementalValue value, int modifier = 1) { if (modifier < 1) modifier = 1; currentValue += (int)value * modifier; if (currentValue > maximumValue) currentValue = maximumValue; }
public void AddToMax(IncrementalValue value, int modifier = 1) { if (modifier < 1) modifier = 1; maximumValue = (int)maximumValue + ((int)value * modifier); if (currentValue > maximumValue) currentValue = maximumValue; }
public void Damage(IncrementalValue value, int modifier = 1) { if (modifier < 1) modifier = 1; currentValue -= (int)value * modifier; if (currentValue < 0) currentValue = 0; }
private List <IncrementalColumn> GetIncrementalConfigurations(Binding binding, BindingExecution bindingExecution, Field[] sourceEntityFields) { this.LogDebug("Checking Incremental Configurations", bindingExecution); var incrementalColumns = new List <IncrementalColumn>(); if (bindingExecution.LoadType != BindingLoadType.Incremental) { return(incrementalColumns); } if (binding.IncrementalConfigurations.Count == 0) { return(incrementalColumns); } foreach (IncrementalConfiguration incrementalConfiguration in binding.IncrementalConfigurations) { this.LogDebug($"Processing incremental configuration: {Serialize(incrementalConfiguration)} \n\tfor binding: {Serialize(bindingExecution)}"); IncrementalValue incrementalValue; if (bindingExecution.BatchExecution.IncrementalStartDateTime.HasValue) { incrementalValue = new IncrementalValue { DestinationBindingId = bindingExecution.BindingId, LastMaxIncrementalDate = bindingExecution.BatchExecution.IncrementalStartDateTime }; } else { using (IProcessingContextWrapper processingContextWrapper = this.processingContextWrapperFactory.CreateProcessingContextWrapper()) { incrementalValue = processingContextWrapper.GetIncrementalValue(incrementalConfiguration); } } this.LogDebug($"Found incrementalValue: {Serialize(incrementalValue)}"); if (incrementalValue?.LastMaxIncrementalDate == null) { continue; } incrementalColumns.Add(new IncrementalColumn { Name = incrementalConfiguration.IncrementalColumnName, Operator = IncrementalOperator.GreaterThanOrEqualTo, Type = sourceEntityFields.First(f => f.FieldName == incrementalConfiguration.IncrementalColumnName).DataType, Value = Serialize(incrementalValue.LastMaxIncrementalDate.Value).Replace("\"", string.Empty) }); } this.LogDebug($"processed the following incrementalColumns: {Serialize(incrementalColumns)}"); return(incrementalColumns); }
public void NonNullIncrementalValuesAreUnchanged() { // Arrange var records = new List <YearlyData>() { new YearlyData { ProductName = "Comp", OriginYear = 2017, DevelopmentYear = 2017, IncrementalValue = 10m }, new YearlyData { ProductName = "Comp", OriginYear = 2017, DevelopmentYear = 2018, IncrementalValue = 11m }, new YearlyData { ProductName = "Comp", OriginYear = 2017, DevelopmentYear = 2019, IncrementalValue = 12m } }; // Act var result = IncrementalValue.DefaultNullsToZeroes(records); Assert.That(result[0].IncrementalValue, Is.EqualTo(10m)); Assert.That(result[1].IncrementalValue, Is.EqualTo(11m)); Assert.That(result[2].IncrementalValue, Is.EqualTo(12m)); }
public void MissingIncrementalValuesAreConsideredToBeZero() { // Arrange var records = new List <YearlyData>() { new YearlyData { ProductName = "Comp", OriginYear = 2017, DevelopmentYear = 2017, IncrementalValue = null }, new YearlyData { ProductName = "Comp", OriginYear = 2017, DevelopmentYear = 2018, IncrementalValue = null }, new YearlyData { ProductName = "Comp", OriginYear = 2017, DevelopmentYear = 2019, IncrementalValue = null } }; // Act var result = IncrementalValue.DefaultNullsToZeroes(records); Assert.That(result[0].IncrementalValue, Is.EqualTo(0)); Assert.That(result[1].IncrementalValue, Is.EqualTo(0)); Assert.That(result[2].IncrementalValue, Is.EqualTo(0)); }
public IncrementalPair(IncrementalValue maxValue, int modifier) { currentValue = (int)maxValue * modifier; maximumValue = currentValue; }
public void AddOrUpdateIncrementalValue( IncrementalValue maxIncrementalValue, IncrementalConfiguration incrementalConfiguration) { throw new System.NotImplementedException(); }