public void Update(CalculationEntry item) { var exists = this.Get(item.Id) != null; if (exists) { _dataContext.CalculationEntries.Update(item); } else { throw new InvalidOperationException("Невозможно обновить несуществующую запись!"); } }
public CalculationEntry CalculateCameraParameters(DistanceToDevice distanceToDevice, DistanceToObject distanceToObject, CalculationMode calculation) { if (distanceToDevice is null) { throw new ArgumentException(nameof(distanceToDevice)); } if (distanceToObject is null) { throw new ArgumentException(nameof(distanceToObject)); } var aCathet = new Side(distanceToObject.Val, TriangleSideTypes.Cathet); var bCathet = new Side(distanceToDevice.Val - Constant.AverageHumanHeight, TriangleSideTypes.Cathet); var hypotenuse = new Side(GetHypotenusesLength(aCathet.Length, bCathet.Length), TriangleSideTypes.Hypotenuse); var tangentAlpha = (double)bCathet.Length / (double)aCathet.Length; var alphaDegrees = Math.Round(Math.Atan(tangentAlpha) * Constant.DegreesInRadian, 2); var alphaAngle = new Angle(alphaDegrees); var bAngle = new Angle(Constant.RightAngleDegrees); var cAngle = new Angle(Constant.FullTriangleDegrees - bAngle.Degrees - alphaAngle.Degrees); var calculationEntry = new CalculationEntry() { Height = distanceToDevice.Val, AlfaAngle = alphaAngle.Degrees, CreationDateTime = DateTime.Now, DistanceAboveObject = bCathet.Length, DistanceToObject = distanceToObject.Val }; if (calculation == CalculationMode.WithSave) { Save(calculationEntry); } return(calculationEntry); }
public void Create(CalculationEntry item) { _dataContext.CalculationEntries.Add(item); }
private void Save(CalculationEntry entry) { this._repository.Create(entry); this._repository.Save(); }