Esempio n. 1
0
 public ElementCorrelation[] SelectCorrelationResults(ElementTypeDefs typeA, ElementTypeDefs typeB, CorrelationPeriodType periodType)
 {
     using (FinanceDBEntities context = new FinanceDBEntities())
     {
         return(context.SelectCorrelationResults((Int16)typeA, (Int16)typeB, (Byte)periodType).ToArray <ElementCorrelation>());
     }
 }
        public ElementWrapper(
            String ticker,
            ElementTypeDefs elementType,
            String name)
        {
            this.Ticker = ticker;

            this.ElementType = elementType;

            this.Name = name;
        }
        public ElementWrapper[] SelectElements(ElementTypeDefs itemsTypes)
        {
            String cacheItemKey = String.Format("[SelectElements][{0}]", itemsTypes.ToString());

            selectElementsLock.AcquireReaderLock(dataProviderLockTimeout);

            ElementWrapper[] result = null;

            try
            {
                result = (ElementWrapper[])DataCache.Instance.Get(cacheItemKey);

                if (null == result)
                {
                    //////////////////////////////////////////////////////////////////
                    /// no data in cache - need to load it, but first check it again
                    ///

                    LockCookie lockCookie = selectElementsLock.UpgradeToWriterLock(dataProviderLockTimeout);

                    try
                    {
                        result = (ElementWrapper[])DataCache.Instance.Get(cacheItemKey);

                        if (null == result)
                        {
                            Element[] elements = (new ItemsDataProvider()).GetElementsByType(itemsTypes);

                            if (LoggerFactory.AppLogger.IsTraceEnabled)
                            {
                                LoggerFactory.AppLogger.Trace("[DataProviderProxy.SelectElements] Loaded elements " + elements.Length);
                            }

                            result = WrapperUtilities.Convert(elements);

                            DataCache.Instance.Add(cacheItemKey, result);
                        }
                    }
                    finally
                    {
                        selectElementsLock.DowngradeFromWriterLock(ref lockCookie);
                    }
                }
            }
            finally
            {
                selectElementsLock.ReleaseReaderLock();
            }

            return(result);
        }
Esempio n. 4
0
 public Element[] GetElementsByType(ElementTypeDefs itemType)
 {
     using (FinanceDBEntities context = new FinanceDBEntities())
     {
         if (itemType == ElementTypeDefs.Wszystko)
         {
             return((from e in context.Elements select e).ToArray <Element>());
         }
         else
         {
             return((from e in context.Elements where e.Type == (Int16)itemType select e).ToArray <Element>());
         }
     }
 }
Esempio n. 5
0
 public ElementWrapper[] SelectItems(ElementTypeDefs itemsTypes)
 {
     return((new DataProviderProxy()).SelectElements(itemsTypes));
 }