public bool IsCoefficientFormulaValidForFieldset(int fieldsetId, string formula) { var re = new Regex(@"suma\(i\d+\)"); formula = formula.Replace(" ", ""); var mc = re.Matches(formula); foreach (Match mt in mc) { formula = formula.Replace(mt.Value, mt.Value.Replace("suma(", "").Replace(")", "")); } var indicators = iRepo.GetWhere(new { fieldsetId }); var calc = new CalcContext <decimal>(); foreach (var i in indicators) { calc.Constants.Add("i" + i.Id, 1); } try { calc.Validate(formula); return(true); } catch (SyntaxException) { return(false); } }
public bool IsCoefficientFormulaValidForFieldset(int fieldsetId, string formula) { var re = new Regex(@"suma\(i\d+\)"); formula = formula.Replace(" ", ""); var mc = re.Matches(formula); foreach (Match mt in mc) { formula = formula.Replace(mt.Value, mt.Value.Replace("suma(","").Replace(")","")); } var indicators = iRepo.GetWhere(new { fieldsetId }); var calc = new CalcContext<decimal>(); foreach (var i in indicators) { calc.Constants.Add("i" + i.Id, 1); } try { calc.Validate(formula); return true; } catch (SyntaxException) { return false; } }
public IEnumerable<CoefficientValue> CalculateCoefficientValues(IEnumerable<IndicatorValue> indicatorValues, IEnumerable<Dossier> dossiers, IEnumerable<Coefficient> coefficients) { var coefficientValues = new List<CoefficientValue>(); if (dossiers.Select(o => o.FieldsetId).Distinct().Count() > 1) throw new AsmsEx("in luna respectiva sunt dosare inregistrate la diferite seturi de campuri"); if (dossiers.Select(o => o.MeasuresetId).Distinct().Count() > 1) throw new AsmsEx("in luna respectiva sunt dosare inregistrate la diferite seturi de masuri"); //calculate each coefficient for all dossiers foreach (var coefficient in coefficients) { EvalSums(coefficient, indicatorValues); var calc = new CalcContext<decimal>(); foreach (var dossier in dossiers) { calc.Constants.Clear(); foreach (var indicatorValue in indicatorValues.Where(o => o.DossierId == dossier.Id)) { calc.Constants.Add("i" + indicatorValue.IndicatorId, indicatorValue.Value); } coefficientValues.Add(new CoefficientValue { CoefficientId = coefficient.Id, DossierId = dossier.Id, Value = Zero(() => calc.Evaluate(coefficient.Formula)), }); } } return coefficientValues; }
public CalculatorTextBox() { _calculator = new CalcContext <decimal>() { Culture = CultureInfo.InvariantCulture, }; _suppressEvent = false; }
public CalculatorTextBox() { _calculator = new CalcContext<decimal>() { Culture = CultureInfo.InvariantCulture, }; _suppressEvent = false; }
public void CalcMethod() { var calc = new CalcContext <decimal>(); calc.Constants.Add("i2", 23); calc.Functions.Add("sumai", o => o); calc.Culture = CultureInfo.InvariantCulture; Console.WriteLine(calc.Evaluate("sumai(i2)")); }
public CalcController() { Calc = new Calc(@"C:\Projects\sharpcalc\WebCalc\bin"); //OperationList = Calc.Operations.Select(o => new SelectListItem() { Text = $"{o.GetType().Name}.{o.Name}", Value = $"{o.GetType().Name}.{o.Name}" }); Operations = Calc.Operations .Where(o => o is IOperationArgs) .ToDictionary(o => o.GetType().FullName, o => $"{o.GetType().Name}.{o.Name}"); db = new CalcContext(); OperationResultRepository = new NHOperResultRepository(); UserRepository = new NHUserRepository(); }
public Answer AddAndSaveToDatasebase(int x, int y) { var total = this.Add(x, y); var answer = new Answer() { Result = total.ToString() }; var db = new CalcContext(); db.Answers.Add(answer); db.SaveChanges(); return(answer); }
public void Calc() { var w = new Stopwatch(); w.Start(); var calc = new CalcContext <decimal>(); calc.Constants.Add("j", 5); calc.Constants.Add("j12", 2); calc.Constants.Add("j1", 3); Console.WriteLine(calc.Evaluate("j")); Console.WriteLine(calc.Evaluate("j+j12")); Console.WriteLine(calc.Evaluate("j+j1/2+j")); w.Stop(); Console.WriteLine(w.Elapsed); }
public void DoCalc() { var z = eMathTextBox.Text; z = z.Replace(",", "."); try { var calc = new CalcContext <double>(); Value = calc.Evaluate(z); } catch { //error } Modificato = false; }
public void TestMethod1() { // Arrange var calc = new Calculator(); // Act var total = calc.AddAndSaveToDatasebase(3, 5); // Assert var expectedTotal = "8"; Assert.AreEqual(expectedTotal, total.Result); // this says taht is inserted the database Assert.AreNotEqual(0, total.Id); var db = new CalcContext(); var inserted = db.Answers.FirstOrDefault(f => f.Id == total.Id); Assert.IsNotNull(inserted); }
public void TestCalcContext() { using (CalcContext context = new CalcContext()) { for (int i = 0; i < 100; i++) { Calculation c = new Calculation() { X = i, Y = i + 1, Z = 2 * i + 1, Operation = "plus", CreateDate = DateTime.Now.AddDays(-i) }; context.Calculations.Add(c); context.SaveChanges(); } } }
public bool IsIndicatorFormulaValidForFieldset(int fieldsetId, string formula) { var fields = fieldRepo.GetAssigned(fieldsetId); var calc = new CalcContext <decimal>(); foreach (var field in fields) { calc.Constants.Add("c" + field.Id, 1); } try { calc.Validate(formula); return(true); } catch (SyntaxException) { return(false); } }
public bool IsIndicatorFormulaValidForFieldset(int fieldsetId, string formula) { var fields = fieldRepo.GetAssigned(fieldsetId); var calc = new CalcContext<decimal>(); foreach (var field in fields) { calc.Constants.Add("c" + field.Id, 1); } try { calc.Validate(formula); return true; } catch (SyntaxException) { return false; } }
public void GetLogFilteredTest() { using (CalcContext context = new CalcContext()) { Repository repo = new Repository(); Calculation c = new Calculation() { X = 123, Y = 100, Z = 23, Operation = "minus", }; repo.Log(c); // c = repo.GetLogFiltered(op => op.Operation=="minus" && op.Z==23).Last(); //Assert.AreEqual(23, c.Z); var c1 = repo.GetLogFiltered(op => op.CreateDate < DateTime.Now).ToList(); Console.WriteLine(c1.Count()); } }
public IEnumerable <CoefficientValue> CalculateCoefficientValues(IEnumerable <IndicatorValue> indicatorValues, IEnumerable <Dossier> dossiers, IEnumerable <Coefficient> coefficients) { var coefficientValues = new List <CoefficientValue>(); if (dossiers.Select(o => o.FieldsetId).Distinct().Count() > 1) { throw new AsmsEx("in luna respectiva sunt dosare inregistrate la diferite seturi de campuri"); } if (dossiers.Select(o => o.MeasuresetId).Distinct().Count() > 1) { throw new AsmsEx("in luna respectiva sunt dosare inregistrate la diferite seturi de masuri"); } //calculate each coefficient for all dossiers foreach (var coefficient in coefficients) { EvalSums(coefficient, indicatorValues); var calc = new CalcContext <decimal>(); foreach (var dossier in dossiers) { calc.Constants.Clear(); foreach (var indicatorValue in indicatorValues.Where(o => o.DossierId == dossier.Id)) { calc.Constants.Add("i" + indicatorValue.IndicatorId, indicatorValue.Value); } coefficientValues.Add(new CoefficientValue { CoefficientId = coefficient.Id, DossierId = dossier.Id, Value = Zero(() => calc.Evaluate(coefficient.Formula)), }); } } return(coefficientValues); }
public IEnumerable <IndicatorValue> CalculateIndicatorValues(Dossier dossier, IEnumerable <FieldValue> fieldValues, IEnumerable <Indicator> indicators) { var calc = new CalcContext <decimal>(); foreach (var o in fieldValues) { calc.Constants.Add("c" + o.FieldId, o.Value); } var indicatorValues = indicators .Select( indicator => new IndicatorValue { DossierId = dossier.Id, IndicatorId = indicator.Id, Value = Zero(() => calc.Evaluate( indicators.Where(i => i.Id == indicator.Id).Single().Formula)) }).ToList(); return(indicatorValues); }
public IEnumerable<IndicatorValue> CalculateIndicatorValues(Dossier dossier, IEnumerable<FieldValue> fieldValues, IEnumerable<Indicator> indicators) { var calc = new CalcContext<decimal>(); foreach (var o in fieldValues) { calc.Constants.Add("c" + o.FieldId, o.Value); } var indicatorValues = indicators .Select( indicator => new IndicatorValue { DossierId = dossier.Id, IndicatorId = indicator.Id, Value = Zero(() => calc.Evaluate( indicators.Where(i => i.Id == indicator.Id).Single().Formula)) }).ToList(); return indicatorValues; }
public CalculationRepo(CalcContext calcContext) { CalcContext = calcContext; }
public CalculatorController(CalcContext context, ICalculator calculator) { _context = context; _calculator = calculator; }
public BudgetCalculatorEvaluator(ICachedService cashedService) { CachedService = cashedService; _calculator = new CalcContext <decimal>(); }
public AccountController() { var calcContext = new CalcContext(); UserRepository = new NHUserRepository(); }
public BudgetCalculatorEvaluator(ICachedService cashedService) { CachedService = cashedService; _calculator = new CalcContext<decimal>(); }
public LogRepository(CalcContext db) { _db = db; }