Ejemplo n.º 1
0
 /// <summary>
 /// Pulls secondary to primary,
 /// in context of current user.
 /// </summary>
 public void PullSecondaryToPrimary()
 {
     logger.Info("PullSecondaryToPrimary......");
     try{ _primary.Push(Pull()); }
     catch { /* eat them! */ }
     logger.Info("PullSecondaryToPrimary......FINISHED!!!");
 }
Ejemplo n.º 2
0
        private DataBaseManager()
        {
            _primary = Sqlite.LoadFromFile();

            _primary.ProgressChangedEvent += OnProgressChangedEvent;
            _primary.ProgressFinishEvent  += OnProgressFinishEvent;

            if (AppSettings.Instance.SqlEnabled == "true")
            {
                if (AppSettings.Instance.SqlType == "MySql" && !string.IsNullOrEmpty(AppSettings.Instance.MySqlServer))
                {
                    MySqlConnectionStringBuilder mysqlBuiler = new MySqlConnectionStringBuilder()// Database is set later in constructor!
                    {
                        Server   = AppSettings.Instance.MySqlServer,
                        UserID   = AppSettings.Instance.MySqlUserId,
                        Password = AppSettings.Instance.MySqlPassword,
                        Port     = (uint)AppSettings.Instance.MySqlPort,
                        SslMode  = AppSettings.Instance.MySqlSsl == "true" ? MySqlSslMode.Required : MySqlSslMode.None
                    };
                    try
                    {
                        _secondary = new MySql(mysqlBuiler, MySql.UpdateModes.Async);

                        // Associate events
                        _secondary.TimeDateaUpdate        += OnTimeDateaUpdate;
                        _secondary.ProgressChangedEvent   += OnProgressChangedEvent;
                        _secondary.ProgressFinishEvent    += OnProgressFinishEvent;
                        _secondary.ConnectionChangedEvent += OnConnectionChangedEvent;
                        _secondary.UpdateChangedEvent     += OnUpdateChangedEvent;

                        var daysInWeek = _primary.DaysInRange(StartEndWeek(DateTime.Today)[0], StartEndWeek(DateTime.Today)[1]);

                        if (_secondary.ServerState == State.Connected)
                        {
                            _secondary.Push(daysInWeek);
                        }
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e);
                        MessageBox.Show(e.Message);
                    }
                }
                else if (AppSettings.Instance.SqlType == "Azure" && !string.IsNullOrEmpty(AppSettings.Instance.AzureDateSource))
                {
                    MessageBox.Show("Azure sql not implemented!");
                }
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Pushes given day list
 /// to secondary server.
 /// </summary>
 /// <param name="days"></param>
 public override void Push(List <Day> days)
 {
     logger.Info("Push......");
     _secondary?.Push(days);
     logger.Info("Push......FINISHED!!!");
 }