Exemplo n.º 1
0
        /// <summary>
        /// This method for testing the timigs for retrieving data from db
        /// </summary>
        /// <returns></returns>
        public Task <string> GetLARSFromDB(IEnumerable <string> learnAimRefs)
        {
            long   larsdataInMs;
            string test = string.Empty;

            using (var logger = ESFA.DC.Logging.LoggerManager.CreateDefaultLogger())
            {
                var stopwatch = new Stopwatch();
                stopwatch.Start();
                var larsHelper         = new LARSDataHelper();
                var larsDataDictionary = larsHelper.GetLearningDelivery(learnAimRefs);
                larsdataInMs = stopwatch.ElapsedMilliseconds;
                logger.LogInfo($"Lars retrieval from DB: {larsdataInMs}");
                logger.LogWarning($"Lars data: @larsDataDictionary.FirstOrDefault().Value", new object[] { larsDataDictionary.FirstOrDefault().Value });
            }
            return(new Task <string>(() => test));
        }
Exemplo n.º 2
0
        public async Task InsertLARSData()
        {
            using (var logger = ESFA.DC.Logging.LoggerManager.CreateDefaultLogger())
            {
                var stopwatch = new Stopwatch();

                var larsHelper = new LARSDataHelper();
                stopwatch.Start();
                //get data from DB.
                var larsDataDictionary = larsHelper.GetLearningDeliveries();
                var larsdataInMs       = stopwatch.ElapsedMilliseconds;

                stopwatch.Restart();
                //add it into the reliabledictionary
                var larsLearningDeliveries = await StateManager.GetOrAddAsync <IReliableDictionary <string, string> >("LARS_LearningDelivery");

                using (var tx = StateManager.CreateTransaction())
                {
                    try
                    {
                        //clear existing values
                        await larsLearningDeliveries.ClearAsync();

                        foreach (var larsLd in larsDataDictionary)
                        {
                            await larsLearningDeliveries.TryAddAsync(tx, larsLd.Key, larsLd.Value);
                        }
                        await tx.CommitAsync();
                    }
                    catch (Exception ex)
                    {
                        tx.Abort();
                        logger.LogError("Error while saving into dic", ex);
                    }
                }
                stopwatch.Stop();
                var dataInsertionInMs = stopwatch.ElapsedMilliseconds;
                logger.LogInfo($"Lars retrieval: {larsdataInMs}");
                logger.LogInfo($"Data save in reliabledic: {dataInsertionInMs}");
            }
        }