public void FeedData(IInputDataProvider inputDataProvider)
        {
            try
            {
                var getContacts = contactRepository.
                                  GetContacts(inputDataProvider.Client.ClientId)
                                  .GetAwaiter().GetResult()?.ToList();

                if (getContacts != null)
                {
                    foreach (var contact in getContacts)
                    {
                        var relationshipList = GetRelationshipList(inputDataProvider.ApiUriService,
                                                                   inputDataProvider.Client.ActimoApikey, contact.Id);

                        var relationshipDataTable = ObjectConversionService.ToDataTable(relationshipList);

                        if (relationshipDataTable?.Rows.Count > 0)
                        {
                            PushRelationship(inputDataProvider.Client.ClientId, contact.Id, relationshipDataTable);
                        }
                    }
                }

                else
                {
                    throw new Exception("No Contacts Data Found!!");
                }
            }
            catch (Exception ex)
            {
                logger.LogError(ex.Message, ex);
            }
        }
예제 #2
0
 public ScrapersManager(IInputDataProvider inputDataProvider, IDataHandler <Person> dataHandler, IScrapper <Person> scrapper, ILog log)
 {
     _inputDataProvider = inputDataProvider;
     _dataHandler       = dataHandler;
     _scrapper          = scrapper;
     _log = log;
 }
예제 #3
0
        public void FeedData(IInputDataProvider inputDataProvider)
        {
            try
            {
                var contactLink = GetContactLink(inputDataProvider.ApiUriService,
                                                 inputDataProvider.Client.ActimoApikey,
                                                 inputDataProvider.Client.ActimoDummyMessageId, inputDataProvider.Client.ActimoManagerContactId);

                var keyCode = new Uri(contactLink).AbsolutePath;

                var authCode = GetContactAuthContact(inputDataProvider.ApiUriService, inputDataProvider.Client.ActimoApikey, keyCode);

                var engagementData = GetEngagementData(inputDataProvider.ApiUriService, inputDataProvider.Client.ActimoApikey, inputDataProvider.Client.ActimoManagerContactId, inputDataProvider.Client.ActimoManagerContactId, authCode);

                var engagementTable = ObjectConversionService.ToDataTable(engagementData);

                if (engagementTable?.Rows.Any() == false)
                {
                    throw new Exception("No engagement data found");
                }

                PushEngagementData(inputDataProvider.Client.ClientId, engagementTable);
            }
            catch (Exception ex)
            {
                logger.LogError(ex.Message);
                throw new Exception("Error occured in Enagement Data Engine!", ex);
            }
        }
예제 #4
0
        protected override void Initialize()
        {
            _screenSizeInformation = ScreenSizeCalculator
                                     .Calculate(GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height - 100);

            _inputDataProvider = new InputDataReader();
            base.Initialize();
        }
예제 #5
0
        private void ExecuteFeed(IInputDataProvider inputDataProvider)
        {
            foreach (var dataEngine in actimoDataFactory.GetAllDataEngines())
            {
                logger.LogInformation($"{dataEngine.dataType} Data Loading...");

                dataEngine.FeedData(inputDataProvider);
            }
        }
예제 #6
0
 static void LaunchSentenceProcessing(IInputDataProvider inputDataProvider, IOutputDataPersistor dataPersistor)
 {
     using (var reader = inputDataProvider.GetInputDataReader())
     {
         ISentenceProcessor sentenceProcessor = new SentenceProcessor(new char[] { ' ', ',', '.', ';', ':', '\t' });
         var dictionary = sentenceProcessor.Process(reader);
         dataPersistor.PersistData(dictionary);
     }
 }
예제 #7
0
        public Builder(IGoogleCategoryService googleCategoryService, IIndigoCategoryService indigoCategoryService,
                       IInputDataProvider inputDataProvider, PathResolver pathResolver)
        {
            _googleCategoryService = googleCategoryService;
            _indigoCategoryService = indigoCategoryService;
            _inputDataProvider     = inputDataProvider;
            _pathResolver          = pathResolver;

            _counters = new Counters.Counters();
        }
예제 #8
0
        public void FeedData(IInputDataProvider inputDataProvider)
        {
            try
            {
                var apiService = inputDataProvider.ApiUriService;

                var contacts = GetContacts(apiService, inputDataProvider.Client.ActimoApikey);

                var dtContacts = ObjectConversionService.ToDataTable(contacts);

                if (dtContacts?.Rows.Count > 0)
                {
                    PushContacts(inputDataProvider.Client.ClientId, dtContacts);
                }
            }
            catch (Exception ex)
            {
                logger.LogError(ex.Message);
                throw new Exception("Error occured in Contact Engine!", ex);
            }
        }
예제 #9
0
        public void CreateFeed(IInputDataProvider inputDataProvider)
        {
            //Execute Feed per client
            try
            {
                var clients = clientLookupRepository.GetClients();

                foreach (var client in clients)
                {
                    inputDataProvider.Client = client;
                    ExecuteFeed(inputDataProvider);
                }

                //Exec DM.LoadDM Sp
                dmRepository.Load();
            }
            catch (Exception ex)
            {
                logger.LogError(ex.Message, ex);
                throw;
            }
        }
예제 #10
0
 public CalculatorService(IInputDataProvider inputDataProvider)
 {
     this.inputData = inputDataProvider.GetInputData();
 }
 public ActimoTimerTriggerFunction(IDataFeedManager dataFeedManager,
                                   IInputDataProvider inputDataProvider)
 {
     this.dataFeedManager   = dataFeedManager;
     this.inputDataProvider = inputDataProvider;
 }