public void Execute(IJobExecutionContext context)
        {
            var assembly             = Assembly.GetExecutingAssembly();
            var manifestResourceName = assembly.GetManifestResourceNames().First();
            IEnumerable <TableClassMapping> mappings = FileReader.Parse <TableClassMapping>(assembly.GetManifestResourceStream(manifestResourceName));
            List <TablePayload>             payload  = new List <TablePayload>();

            var currentDateTime = DateTime.UtcNow;
            int id = 1;

            foreach (TableClassMapping tableClassMapping in mappings)
            {
                var insertData =
                    DatabaseRepository.GetInserts(tableClassMapping.TableName, tableClassMapping.ClassName,
                                                  tableClassMapping.AssemblyName, currentDateTime).Result;


                var updatedData = DatabaseRepository.GetUpdates(tableClassMapping.TableName, tableClassMapping.ClassName,
                                                                tableClassMapping.AssemblyName, currentDateTime).Result;

                if (insertData.Any() || updatedData.Any())
                {
                    payload.Add(new TablePayload()
                    {
                        Date        = currentDateTime,
                        Id          = id++,
                        InsertData  = insertData,
                        UpdatedData = updatedData,
                        TableName   = tableClassMapping.TableName
                    });
                }
            }
            if (payload.Any())
            {
                var payLoadData = new PayLoad
                {
                    UniqueId        = Guid.NewGuid(),
                    Data            = JsonConvert.SerializeObject(payload),
                    CreatedDateTime = currentDateTime
                };
                PayLoadRepository.AddPayLoad(payLoadData);
                RedisRepository.IntializeCache();
                RedisRepository.Create(payLoadData, payLoadData.UniqueId.ToString());
            }
        }
Exemple #2
0
        public PayLoadRepositoryTests()
        {
            _database = Substitute.For <IDatabase <PayLoad> >();

            _sut = new PayLoadRepository(_database);
        }