public AverageData Calculate(string identifier) { var returnValue = new AverageData(); if (this.DoesContainIdentifier(identifier)) { returnValue.CalculatedAverage = this.GetPriceFromLine(); returnValue.DataPoints = 1; } return(returnValue); }
public AverageData Calculate(string identifier) { var returnValue = new AverageData(); if (this.DoesContainIdentifier(identifier)) { returnValue.CalculatedAverage = this.GetPriceFromLine(); returnValue.DataPoints = 1; } return returnValue; }
public virtual void Merge(AverageData other) { lock (this) { var currentTotal = this.CalculatedAverage.GetValueOrDefault(0.0M) * (decimal)this.DataPoints; var otherTotal = other.CalculatedAverage.GetValueOrDefault(0.0M) * (decimal)other.DataPoints; var newTotal = currentTotal + otherTotal; var newDataPoints = this.DataPoints + other.DataPoints; this.DataPoints = newDataPoints; this.CalculatedAverage = newTotal / newDataPoints; } }
public virtual void Merge(AverageData other) { lock (this) { var currentTotal = this.CalculatedAverage.GetValueOrDefault(0.0M)*(decimal) this.DataPoints; var otherTotal = other.CalculatedAverage.GetValueOrDefault(0.0M)*(decimal) other.DataPoints; var newTotal = currentTotal + otherTotal; var newDataPoints = this.DataPoints + other.DataPoints; this.DataPoints = newDataPoints; this.CalculatedAverage = newTotal/newDataPoints; } }
public AverageData Calculate(string identifier) { var data = new AverageData(); var lines = this.Blob.GetAllLines(); foreach (var line in lines) { var lineCalculator = new LineAverageStockPrice(line); var lineAverage = lineCalculator.Calculate(identifier); data.Merge(lineAverage); } return data; }
public AverageData Calculate(string identifier) { var data = new AverageData(); var blobs = this.BlobProvider.GetAllBlobs(this.ContainerName); foreach (var blob in blobs) { var blobCalculator = new BlobAverageStockPrice(blob); var blobAverage = blobCalculator.Calculate(identifier); data.Merge(blobAverage); } return data; }
public AverageData Calculate(string identifier) { var data = new AverageData(); var lines = this.Blob.GetAllLines(); foreach (var line in lines) { var lineCalculator = new LineAverageStockPrice(line); var lineAverage = lineCalculator.Calculate(identifier); data.Merge(lineAverage); } return(data); }
public AverageData Calculate(string identifier) { var data = new AverageData(); var blobs = this.BlobProvider.GetAllBlobs(this.ContainerName); foreach (var blob in blobs) { var blobCalculator = new BlobAverageStockPrice(blob); var blobAverage = blobCalculator.Calculate(identifier); data.Merge(blobAverage); } return(data); }