Ejemplo n.º 1
0
        /// <summary>
        /// Basic test of the use of DbContext.Database.BeginTransaction()
        /// and use of SaveChanges() within the transaction.  It interacts
        /// directly with the DbContext.
        /// </summary>
        /// <returns>True if both updates are successful, otherwise False</returns>
        public bool Execute()
        {
            var context = new SiteMonitorDbDataContext();

            var settings1 = new Settings()
            {
                Id                = 0,
                EmailAccount      = "*****@*****.**",
                SlowResponseTime  = 1000,
                ScanFrequency     = FrequencyEnum.Daily,
                ArchiveRunDetails = new List <ArchiveDetail>()
            };

            var settings2 = new Settings()
            {
                Id                = 2,
                EmailAccount      = "*****@*****.**",
                SlowResponseTime  = 1000,
                ScanFrequency     = FrequencyEnum.Daily,
                ArchiveRunDetails = null
            };

            var success = false;

            using (var txn = context.Database.BeginTransaction())
            {
                try
                {
                    //  Insert settings1 record
                    context.MonitorSettings.Add(settings1);

                    var res1 = context.SaveChanges();
                    success = (res1 > 0);


                    if (success)
                    {
                        //  Insert settings2 record  if first was ok
                        context.MonitorSettings.Add(settings2);
                        var res2 = context.SaveChanges();
                        success = false; //res2 > 0;
                    }

                    if (success)
                    {
                        txn.Commit();
                    }
                    else
                    {
                        txn.Rollback();
                    }
                }
                catch
                {
                    txn.Rollback();
                }
            }

            return(success);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Create instance of MemberService
        /// </summary>
        /// <returns>Instance of MemberService</returns>
        public IMemberService Create()
        {
            //  Infrastructure;
            // :EF DbContext
            var context = new SiteMonitorDbDataContext();
            //  Infrastructure: RepositoryFactory
            IRepositoryFactory <SiteMonitorDbDataContext> repositoryFactory = new SiteMonitorRepositoryFactory(context);

            //  Unit of Work
            IMemberService memberService = new MemberService(context, repositoryFactory);

            return(memberService);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Create instance of SettingsService
        /// </summary>
        /// <returns>Instance of SettingsService</returns>
        public ISettingsService Create()
        {
            //  Infrastructure;
            // :EF DbContext
            var context = new SiteMonitorDbDataContext();
            //  Infrastructure: RepositoryFactory
            SiteMonitorSettingsRepository repository = new SiteMonitorSettingsRepository(context);

            //  Unit of Work
            ISettingsService settingsService = new SettingsService(context, new SiteMonitorRepositoryFactory(context));

            return(settingsService);
        }
        /// <summary>
        /// Create instance of SiteMonitorArchiveService
        /// </summary>
        /// <returns>Instance of SiteMonitorArchiveService</returns>
        public ISiteMonitorArchiveService Create()
        {
            //  Infrastructure;
            // :EF DbContext
            var context = new SiteMonitorDbDataContext();
            //  Infrastructure: RepositoryFactory
            IRepositoryFactory <SiteMonitorDbDataContext> repositoryFactory = new SiteMonitorRepositoryFactory(context);

            //  Unit of Work
            ISiteMonitorService siteMonitorService = new SiteMonitorService(context, repositoryFactory);

            //  Domain: Mappers
            IMapper <TestResult, ArchiveTestResult> testResultMapper = new MapTestResultToArchiveTestResult();
            IMapper <ScanResult, ArchiveScanResult> scanResultMapper = new MapScanResultToArchiveScanResult(testResultMapper);
            //  Domain: Archive service
            ISiteMonitorArchiveService siteMonitorArchiveService = new SiteMonitorArchiveService(siteMonitorService, scanResultMapper);

            return(siteMonitorArchiveService);
        }