123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- using iBemsDataService.Model;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- namespace iBemsDataService.Controllers.Bems.Formula
- {
- public class FormulaTableManager
- {
- private iBemsEntities db;
- Dictionary<string, TableComparerValue[]> tables;
- public FormulaTableManager()
- {
- db = new iBemsEntities();
- tables = new Dictionary<string , TableComparerValue[]>();
- }
- public TableComparerValue[] GetTableValues( string functionName )
- {
- TableComparerValue[] values;
- if( this.tables.ContainsKey( functionName ) )
- {
- values = this.tables[functionName];
- }
- else
- {
- var queryTable = from table in db.BemsFormulaTable
- from value in db.BemsFormulaTableValue
- where table.FunctionName == functionName &&
- table.TableId == value.TableId
- select new TableComparerValue {
- XValue = value.XValue,
- YValue = value.YValue
- };
- if( queryTable.Any() == false )
- {
- return null;
- }
- values = queryTable.ToArray();
- }
- return values;
- }
- public class TableComparerValue : IComparable<TableComparerValue>
- {
- public double XValue { get; set; }
- public double YValue { get; set; }
- public int CompareTo( TableComparerValue other )
- {
- var otherXValue = other.XValue;
- if( XValue < otherXValue )
- {
- return -1;
- }
- else if( XValue > otherXValue )
- {
- return 1;
- }
- return 0;
- }
- };
- }
- }
|