Exemplo n.º 1
0
        public static void Start(string connectionString)
        {
            Starter.Start(UserConnections.Replace(connectionString));

            DisconnectedLogic.OfflineMode = true;

            Schema.Current.Initialize();

            stopEvent    = new ManualResetEvent(false);
            startedEvent = new ManualResetEvent(false);

            //http://www.johnplummer.com/dotnet/simple-wcf-service-host.html
            hostThread = new Thread(() =>
            {
                using (ServiceHost host = new ServiceHost(typeof(ServerSouthwindLocal)))
                {
                    host.Open();

                    startedEvent.Set();

                    stopEvent.WaitOne();

                    host.Close();
                }
            });

            hostThread.Start();
            startedEvent.WaitOne();
        }
Exemplo n.º 2
0
        }//RegisterRoutes

        protected void Application_Start()
        {
            Statics.SessionFactory = new ScopeSessionFactory(new AspNetSessionFactory());

            Starter.Start(UserConnections.Replace(Settings.Default.ConnectionString));

            using (AuthLogic.Disable())
                Schema.Current.Initialize();

            WebStart();

            ProcessRunnerLogic.StartRunningProcesses(5 * 1000);

            SchedulerLogic.StartScheduledTasks();

            AsyncEmailSenderLogic.StartRunningEmailSenderAsync(5 * 1000);

            RegisterRoutes(RouteTable.Routes);

            AuthLogic.UserLogingIn += user =>
            {
                AllowLogin required = ScopeSessionFactory.IsOverriden ? AllowLogin.WindowsOnly : AllowLogin.WebOnly;

                AllowLogin current = user.Mixin <UserEmployeeMixin>().AllowLogin;

                if (current != AllowLogin.WindowsAndWeb && current != required)
                {
                    throw new UnauthorizedAccessException("User {0} is {1}".FormatWith(user, current.NiceToString()));
                }
            }; //UserLogingIn
        }
Exemplo n.º 3
0
 public static void RestoreDatabase(string connectionString, string backupFile, string databaseFile, string databaseLogFile)
 {
     DisconnectedLogic.LocalBackupManager.RestoreLocalDatabase(
         UserConnections.Replace(connectionString),
         backupFile,
         databaseFile,
         databaseLogFile);
 }
Exemplo n.º 4
0
        public static void DropDatabase(string connectionString)
        {
            SqlConnectionStringBuilder csb = new SqlConnectionStringBuilder(UserConnections.Replace(connectionString));
            string databaseName            = csb.InitialCatalog;

            csb.InitialCatalog = "";

            using (Connector.Override(new SqlConnector(csb.ToString(), null, null, SqlServerVersion.SqlServer2012)))
            {
                DisconnectedLogic.LocalBackupManager.DropDatabase(new DatabaseName(null, databaseName));
            }
        }
Exemplo n.º 5
0
        public static void StartAndLoad()
        {
            if (!startedAndLoaded)
            {
                Start(UserConnections.Replace(Settings.Default.SignumTest));

                Administrator.TotalGeneration();

                Schema.Current.Initialize();

                MusicLoader.Load();

                startedAndLoaded = true;
            }
        }
Exemplo n.º 6
0
        public static void Start()
        {
            if (!started)
            {
                var cs = UserConnections.Replace(Settings.Default.ConnectionString);

                if (!cs.Contains("Test")) //Security mechanism to avoid passing test on production
                {
                    throw new InvalidOperationException("ConnectionString does not contain the word 'Test'.");
                }

                Starter.Start(cs);
                started = true;
            }
        }
Exemplo n.º 7
0
        void Application_Start(object sender, EventArgs e)
        {
            Starter.Start(UserConnections.Replace(Settings.Default.ConnectionString));

            using (AuthLogic.Disable())
                Schema.Current.Initialize();

            // Code that runs on application startup
            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebStart);
            RegisterMvcRoutes(RouteTable.Routes);

            Statics.SessionFactory = new ScopeSessionFactory(new VoidSessionFactory());

            ProcessRunnerLogic.StartRunningProcesses(5 * 1000);

            SchedulerLogic.StartScheduledTasks();

            AsyncEmailSenderLogic.StartRunningEmailSenderAsync(5 * 1000);
        }
Exemplo n.º 8
0
        static int Main(string[] args)
        {
            try
            {
                using (AuthLogic.Disable())
                    using (CultureInfoUtils.ChangeCulture("en"))
                        using (CultureInfoUtils.ChangeCultureUI("en"))
                        {
                            DynamicLogicStarter.AssertRoslynIsPresent();
                            Starter.Start(UserConnections.Replace(Settings.Default.ConnectionString));

                            Console.WriteLine("..:: Welcome to Southwind Loading Application ::..");
                            Console.WriteLine("Database: {0}", Regex.Match(((SqlConnector)Connector.Current).ConnectionString, @"Initial Catalog\=(?<db>.*)\;").Groups["db"].Value);
                            Console.WriteLine();

                            if (args.Any())
                            {
                                switch (args.First().ToLower().Trim('-', '/'))
                                {
                                case "sql": SqlMigrationRunner.SqlMigrations(true); return(0);

                                case "csharp": SouthwindMigrations.CSharpMigrations(true); return(0);

                                case "load": Load(args.Skip(1).ToArray()); return(0);

                                default:
                                {
                                    SafeConsole.WriteLineColor(ConsoleColor.Red, "Unkwnown command " + args.First());
                                    Console.WriteLine("Examples:");
                                    Console.WriteLine("   sql: SQL Migrations");
                                    Console.WriteLine("   csharp: C# Migrations");
                                    Console.WriteLine("   load 1-4,7: Load processes 1 to 4 and 7");
                                    return(-1);
                                }
                                }
                            } //if(args.Any())

                            while (true)
                            {
                                Action action = new ConsoleSwitch <string, Action>
                                {
                                    { "N", NewDatabase },
                                    { "G", CodeGenerator.GenerateCodeConsole },
                                    { "SQL", SqlMigrationRunner.SqlMigrations },
                                    { "CS", () => SouthwindMigrations.CSharpMigrations(false), "C# Migrations" },
                                    { "S", Synchronize },
                                    { "L", () => Load(null), "Load" },
                                }.Choose();

                                if (action == null)
                                {
                                    return(0);
                                }

                                action();
                            }
                        }
            }
            catch (Exception e)
            {
                SafeConsole.WriteColor(ConsoleColor.DarkRed, e.GetType().Name + ": ");
                SafeConsole.WriteLineColor(ConsoleColor.Red, e.Message);
                SafeConsole.WriteLineColor(ConsoleColor.DarkRed, e.StackTrace.Indent(4));
                return(-1);
            }
        }
Exemplo n.º 9
0
 public NorthwindDataContext() :
     base(UserConnections.Replace(global::Southwind.Load.Properties.Settings.Default.NorthwindConnectionString), mappingSource)
 {
     OnCreated();
 }