private static (ITestSink, ConvertionService) CreateServiceWithSink()
        {
            var(sink, logFactory) = LogTestHelperInitialization.Create();
            var mockLogger        = logFactory.CreateLogger <ConvertionService>();
            var jsonConverter     = new JsonConverterToExampleTable();
            var clipboard         = new Mock <Clipboard>();
            var convertionService = new ConvertionService(mockLogger, jsonConverter, clipboard.Object);

            return(sink, convertionService);
        }
Example #2
0
        private static bool SyncExportersToPayslipDb(EpbPayslipDbEntities payslipDb, List <Exporter> payslipExporters,
                                                     SyncSetting syncSettings)
        {
            foreach (var payslipExporter in payslipExporters)
            {
                var exporter = payslipDb.Exporters.Find(payslipExporter.Id);

                Console.WriteLine(payslipExporter.CompanyOrFactoryName);

                if (exporter == null)
                {
                    payslipDb.Exporters.Add(payslipExporter);
                    syncSettings.NewSyncEntry += 1;
                }
                else
                {
                    var modifiedExporterData = ConvertionService.ModifiedExporterData(exporter, payslipExporter);
                    payslipDb.Entry(modifiedExporterData).State = EntityState.Modified;
                    syncSettings.ModifiedSyncEntry += 1;
                }

                try
                {
                    syncSettings.Skip += 1;
                    payslipDb.SaveChanges();
                }
                catch (Exception exception)
                {
                    WriteExceptionLog(exception);
                    Console.WriteLine(exception.Message);
                }
            }
            try
            {
                return(payslipDb.SaveChanges() > 0);
            }
            catch (Exception exception)
            {
                WriteExceptionLog(exception);
                return(false);
            }
        }