private void SavePayerDetails()
    {
        var connection = new SqliteConnection(string.Format(@"Data Source={0};Version=3",
                                                            Application.streamingAssetsPath + "\\" + "Players.db"));
        var context = new DataContext(connection);

        if (context.DatabaseExists())
        {
            var Name    = viewModel.Name.text;
            var Email   = viewModel.Email.text;
            var Country = viewModel.Countries.Text;
            var OptOut  = viewModel.OptOut.isOn;

            var      query         = @"INSERT INTO PlayerData(Name,Email,Country,OptOut,StartTime,EndTime)
                            values({0}, {1}, {2}, {3}, {4}, {5})";
            DateTime gameStartTime = DateTime.UtcNow;
            string   timeToSave    = gameStartTime.ToString("yyyy-MM-dd HH:mm:ss.fff");
            context.ExecuteCommand(query, Name, Email, Country, OptOut, timeToSave, timeToSave);

            query = @"SELECT ID FROM PlayerData where Email={0} ORDER BY ID";
            List <PlayerData> table = context.ExecuteQuery <PlayerData>(query, Email).ToList <PlayerData>();
            gameController.Init(gameStartTime, table.Last <PlayerData>().ID);
        }

        context.Dispose();
        connection.Close();
        connection.Dispose();
    }
Example #2
0
        public DataBaseWork()
        {
            String DbName    = "DatabaseMain.mdf";
            String DbDirName = Path.GetDirectoryName(
                Path.GetDirectoryName(Path.GetDirectoryName(System.AppDomain.CurrentDomain.BaseDirectory)));

            if (File.Exists(DbDirName + "\\" + DbName))
            {
                dataContext = new DataContext(String.Format(
                                                  @"Data Source=(LocalDB)\v11.0;AttachDbFilename=""{0}\{1}"";Integrated Security=True",
                                                  DbDirName,
                                                  DbName
                                                  ));
            }
            else
            {
                dataContext = new DataContext(String.Format(
                                                  @"Data Source=(LocalDB)\v11.0;AttachDbFilename=""{0}\{1}"";Integrated Security=True",
                                                  Path.GetDirectoryName(System.AppDomain.CurrentDomain.BaseDirectory),
                                                  DbName
                                                  ));
            }
            if (!dataContext.DatabaseExists())
            {
                string message = "База данных не существует!";
                string caption = "Ошибка!";
                MessageBox.Show(message, caption, MessageBoxButton.OK);
                Application.Current.Shutdown();
            }
        }
    public bool DoesEmailAlreadyExist(string Email)
    {
        var connection = new SqliteConnection(string.Format(@"Data Source={0};Version=3;Read Only=True",
                                                            Application.streamingAssetsPath + "\\" + "Players.db"));
        var context = new DataContext(connection);

        if (context.DatabaseExists())
        {
            var query = @"SELECT ID FROM PlayerData where Email={0}";
            List <PlayerData> table = context.ExecuteQuery <PlayerData>(query, Email).ToList <PlayerData>();
            if (table.Count != 0)
            {
                context.Dispose();
                connection.Close();
                connection.Dispose();

                return(true);
            }
        }

        context.Dispose();
        connection.Close();
        connection.Dispose();

        return(false);
    }
Example #4
0
    static void Main(string[] args)
    {
        String connString = @"
        Data Source=.;
        Initial Catalog=Samochody;
        Integrated Security=True
        ";

        DataContext      sDataContext = new DataContext(connString);
        Table <Samochod> Samochody    = sDataContext.GetTable <Samochod>();

        if (sDataContext.DatabaseExists())
        {
            Console.WriteLine("Deleting old database...");
            sDataContext.DeleteDatabase();
        }
        sDataContext.CreateDatabase();

        // Insert
        Samochod s = new Samochod()
        {
            ID = 1, IDMarka = 1, Kolor = "Czarny"
        };

        Samochody.InsertOnSubmit(s);
        sDataContext.SubmitChanges();
    }
Example #5
0
    private List <PlayerLeaderboardDetail> GetTop10Players()
    {
        var leaderboardItems = new List <PlayerLeaderboardDetail>();

        var connection = new SqliteConnection(string.Format(@"Data Source={0};Version=3;Read Only=True",
                                                            Application.streamingAssetsPath + "\\" + "Players.db"));

        var context = new DataContext(connection);

        if (context.DatabaseExists())
        {
            var query = @"SELECT *, (JulianDay(EndTime) - JulianDay(StartTime))*86400 as Duration
                        FROM PlayerData order by Duration LIMIT 10";

            List <PlayerData> table = context.ExecuteQuery <PlayerData>(query).ToList <PlayerData>();
            int i = 1;
            foreach (var row in table)
            {
                TimeSpan time = row.EndTime - row.StartTime;
                string   duration;
                if (time.Hours > 0)
                {
                    duration = time.ToString(@"hh\:mm\:ss\:ff");
                }
                else if (time.Minutes > 0)
                {
                    duration = time.ToString(@"mm\:ss\:ff");
                }
                else
                {
                    duration = time.ToString(@"ss\:ff");
                }

                leaderboardItems.Add(new PlayerLeaderboardDetail
                {
                    Name      = row.Name,
                    Rank      = i++,
                    Timing    = duration,
                    Highlight = (row.ID == gameController.CurrentPlayerID)
                });
            }

            var rec = table.Where(entry => entry.ID == gameController.CurrentPlayerID).SingleOrDefault();
            if (rec != null)
            {
                viewModel.heading.text = "YOU MADE IT TO TOP 10 !!!";
            }
            else
            {
                viewModel.heading.text = "TODAY'S LEADERBOARD";
            }
        }

        context.Dispose();
        connection.Close();
        connection.Dispose();

        return(leaderboardItems);
    }
Example #6
0
 public IEnumerable <Address> GetAddresses()
 {
     if (db.DatabaseExists())
     {
         try
         {
             if (db.Connection.State == System.Data.ConnectionState.Broken || db.Connection.State == System.Data.ConnectionState.Closed)
             {
                 db.Connection.Open();
             }
             LogAsync(DateTime.Now, "GetAddresses() was invoked");
             List <Address> res = db.GetTable <Address>().ToList();
             return(res);
         }
         catch (Exception ex)
         {
             LogAsync(DateTime.Now, $"Loading failed in GetAddresses() \n{ex.Message}");
             throw new Exception($"Loading failed in GetAddresses() \n{ex.Message}");
         }
     }
     else
     {
         LogAsync(DateTime.Now, "DB connection failed");
         throw new Exception("DB connection failed");
     }
 }
Example #7
0
 /// <summary>
 /// Установка пути к файлу с конфигом БД
 /// </summary>
 /// <param name="path"></param>
 public bool SetConfigs(string path)
 {
     Configs     = GetConnectionString(path);
     db          = new DataContext(Configs);
     tbCities    = db.GetTable <Cities>();
     tbCountries = db.GetTable <Countries>();
     tbRegions   = db.GetTable <Regions>();
     return(db.DatabaseExists());
 }
Example #8
0
 public void CreateDataRepo()
 {
     using (DataContext context = DbContext.Create())
     {
         if (!context.DatabaseExists())
         {
             context.CreateDatabase();
         }
     }
 }
Example #9
0
 /// <summary>
 /// 创建数据库并更新版本信息
 /// </summary>
 /// <param name="context"></param>
 public static void CreateUpdate(DataContext context)
 {
     if (!context.DatabaseExists())
     {
         Create(context);
     }
     else
     {
         Update(context);
     }
 }
Example #10
0
 /// <summary>
 /// Проверка установленной конфигурации
 /// </summary>
 /// <returns></returns>
 public bool IsSetConfig()
 {
     if (Configs == null || !db.DatabaseExists())
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
Example #11
0
 /// <summary>
 /// 创建数据库并更新版本信息
 /// </summary>
 /// <param name="context"></param>
 public static void CreateUpdate(DataContext context)
 {
     if (!context.DatabaseExists())
     {
         Create(context);
     }
     else
     {
         Update(context);
     }
 }
 public static void Connect(string connectionString, out string setConnectionString)
 {
     using (var db = new DataContext(connectionString))
     {
         if (!db.DatabaseExists())
             throw new RepositoryException(string.Format("База данных '{0}' отсутствует на сервере '{1}'",
                                                              db.Connection.Database,
                                                              db.Connection.DataSource));
         setConnectionString = connectionString;
     }
 }
Example #13
0
        public static DataContext dataContextByName(string db)
        {
            string conn = Config.CONNSTR(db);

            DataContext dc =new DataContext(conn);
            if (!dc.DatabaseExists()) {
                dc.CreateDatabase();

            }

            return dc;
        }
Example #14
0
        protected override void CreateDatabase()
        {
            IConfiguration config    = new BasicConfiguration();
            var            container = config.Container;
            DataContext    context   = container.Resolve <DataContext>();

            if (context.DatabaseExists())
            {
                context.DeleteDatabase();
            }
            context.CreateDatabase();
        }
        /*
         * www.codeproject.com/Tips/873677/SQL-Server-Database-Backup-and-Restore-in-Csharp
         *
         */
        private void BtnRestore_Click(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(cbDatabaseName.Text))
                {
                    MessageBox.Show("Tên database không được để trống");
                    return;
                }
                else
                {
                    openFileDialog.Filter = "Text files (*.bak)|*.bak|All files (*.*)|*.*";
                    DialogResult result = openFileDialog.ShowDialog();

                    if (result == DialogResult.OK)
                    {
                        DataContext db = new DataContext("Data Source=" + cbServerName.Text + ";Database=Master;Integrated Security=True");
                        if (db.DatabaseExists())
                        {
                            // Single user mode
                            var Alter1 = db.ExecuteCommand(@"ALTER DATABASE
                   [" + cbDatabaseName.Text + "] SET Single_User WITH Rollback Immediate");

                            // Restore database
                            var query = db.ExecuteCommand(@"RESTORE DATABASE
                   [" + cbDatabaseName.Text + "] FROM DISK = N'" +
                                                          openFileDialog.FileName + @"' WITH  FILE = 1,  NOUNLOAD,  STATS = 10");

                            // Multi user mode
                            var Alter2 = db.ExecuteCommand(@"ALTER DATABASE
                   [" + cbDatabaseName.Text + "] SET Multi_User");

                            if (query != 0)
                            {
                                MessageBox.Show("Phục hồi thành công");
                            }
                            else
                            {
                                MessageBox.Show("Không thể phục hồi");
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Example #16
0
        protected void ReCreateDatabaseFromAttributeMapping(DataContext ctx)
        {
            bool success = false;
            bool retry   = false;
            int  retries = 0;

            do
            {
                try
                {
                    using (ctx)
                    {
                        CloseAllOpenConnections(ctx);
                        ctx.Log = new StringWriter();

                        if (ctx.DatabaseExists())
                        {
                            //drop all connections by disabling multi-user (and immediatly abort all current transactions)
                            ctx.ExecuteCommand("ALTER DATABASE " + _databaseName + " SET SINGLE_USER WITH ROLLBACK IMMEDIATE");
                            ctx.DeleteDatabase();
                        }
                        try
                        {
                            ctx.CreateDatabase();
                        }
                        catch (Exception e)
                        {
                            Debug.WriteLine(e);
                            Debug.WriteLine(ctx.Log);
                            throw;
                        }

                        //re-enable multi-user (again)
                        ctx.ExecuteCommand("ALTER DATABASE " + _databaseName + " SET MULTI_USER");
                        success = true;
                    }
                }
                catch (SqlException e)
                {
                    retry = false;
                    if (e.Message.IndexOf("was deadlocked on lock resources with another process and has been chosen as the deadlock victim") > 0)
                    {
                        retry = true;
                        retries++;
                    }
                }
            } while (success == false && (retry && retries < 3));
        }
Example #17
0
    private List <PlayerLeaderboardDetail> GetTop10Players()
    {
        var leaderboardItems = new List <PlayerLeaderboardDetail>();

        var connection = new SqliteConnection(string.Format(@"Data Source={0};Version=3;Read Only=True",
                                                            Application.streamingAssetsPath + "\\" + "Players.db"));

        var context = new DataContext(connection);

        if (context.DatabaseExists())
        {
            var query = @"SELECT *, (JulianDay(EndTime) - JulianDay(StartTime))*86400 as Duration
                        FROM PlayerData order by Duration LIMIT 10";

            List <PlayerData> table = context.ExecuteQuery <PlayerData>(query).ToList <PlayerData>();
            int i = 1;
            foreach (var row in table)
            {
                TimeSpan time = row.EndTime - row.StartTime;
                string   duration;
                if (time.Hours > 0)
                {
                    duration = time.ToString(@"hh\:mm\:ss\:ff");
                }
                else if (time.Minutes > 0)
                {
                    duration = time.ToString(@"mm\:ss\:ff");
                }
                else
                {
                    duration = time.ToString(@"ss\:ff");
                }

                leaderboardItems.Add(new PlayerLeaderboardDetail
                {
                    Name   = row.Name,
                    Rank   = i++,
                    Timing = duration
                });
            }
        }

        context.Dispose();
        connection.Close();
        connection.Dispose();

        return(leaderboardItems);
    }
Example #18
0
        protected void ReCreateDatabaseFromAttributeMapping(DataContext ctx)
        {
            bool success = false;
            bool retry = false;
            int retries = 0;
            do
            {
                try
                {
                    using (ctx)
                    {
                        CloseAllOpenConnections(ctx);
                        ctx.Log = new StringWriter();

                        if (ctx.DatabaseExists())
                        {
                            //drop all connections by disabling multi-user (and immediatly abort all current transactions)
                            ctx.ExecuteCommand("ALTER DATABASE " + _databaseName + " SET SINGLE_USER WITH ROLLBACK IMMEDIATE");
                            ctx.DeleteDatabase();
                        }
                        try
                        {
                            ctx.CreateDatabase();
                        }
                        catch (Exception e)
                        {
                            Debug.WriteLine(e);
                            Debug.WriteLine(ctx.Log);
                            throw;
                        }

                        //re-enable multi-user (again)
                        ctx.ExecuteCommand("ALTER DATABASE " + _databaseName + " SET MULTI_USER");
                        success = true;
                    }
                }
                catch (SqlException e)
                {
                    retry = false;
                    if (e.Message.IndexOf("was deadlocked on lock resources with another process and has been chosen as the deadlock victim") > 0)
                    {
                        retry = true;
                        retries++;
                    }
                }
            } while (success == false && (retry && retries < 3));
        }
		private static void ClearTpDB(DataContext tpDatabaseDataContext)
		{
            if (!tpDatabaseDataContext.DatabaseExists())
            {
                tpDatabaseDataContext.CreateDatabase();
                tpDatabaseDataContext.SubmitChanges();
            }
            else
            {
                tpDatabaseDataContext.ExecuteCommand("delete from Project");
                tpDatabaseDataContext.ExecuteCommand("delete from TpUser");
                tpDatabaseDataContext.ExecuteCommand("delete from General");
                tpDatabaseDataContext.ExecuteCommand("delete from MessageUid");
                tpDatabaseDataContext.ExecuteCommand("delete from PluginProfile");
                tpDatabaseDataContext.ExecuteCommand("delete from Revision");  
            }
		}
 void ValidateDatabase()
 {
     if (!DataBaseContext.DatabaseExists())
     {
         DataBaseContext.CreateDatabase();
         CreateIndices();
     }
     else
     {
         DataBaseContext.Connection.Open();
     }
     if (!TableExists())
     {
         CreateTable();
         CreateIndices();
     }
 }
        private void BtnBackup_Click(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(cbDatabaseName.Text))
                {
                    MessageBox.Show("Tên database không được để trống");
                    return;
                }
                else
                {
                    saveFileDialog.FileName = cbDatabaseName.Text;
                    saveFileDialog.Filter   = "Text files (*.bak)|*.bak|All files (*.*)|*.*";
                    DialogResult result = saveFileDialog.ShowDialog();

                    if (result == DialogResult.OK)
                    {
                        string s = saveFileDialog.FileName;

                        DataContext db = new DataContext("Data Source=" + cbServerName.Text + ";Database=Master;Integrated Security=True");
                        if (db.DatabaseExists())
                        {
                            var query = db.ExecuteCommand("Backup database " + cbDatabaseName.Text + " to disk='" + s + "'");
                            if (query != 0)
                            {
                                MessageBox.Show("Sao lưu thành công");
                            }
                            else
                            {
                                MessageBox.Show("Không thể sao lưu");
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Example #22
0
    void Start()
    {
        var connection = new SqliteConnection(string.Format(@"Data Source={0};Version=3;Read Only=True",
                                                            Application.streamingAssetsPath + "\\" + "TreeMapTest.db"));

        var context = new DataContext(connection);

        if (context.DatabaseExists())
        {
            var dataMembers = context.Mapping.GetTable(typeof(Data)).RowType.PersistentDataMembers;

            if (columnsToSortBy.Length < dataMembers.Count)
            {
                var cols = (from col in dataMembers
                            join colname in columnsToSortBy on col.MappedName equals colname
                            select col.MappedName).ToList();

                if (cols.Count == columnsToSortBy.Length)
                {
                    // As 3rd and 4th parameters supply column names of any numeric columns from the table

                    treeMapController.Init <Data>(context, columnsToSortBy, "Occupancy", "Occupancy");
                }
                else
                {
                    var colsnotfound = columnsToSortBy.Except(cols).ToList();

                    colsnotfound.ForEach((c) => { Debug.LogError(string.Format("{0} not found in database", c)); });
                }
            }
            else
            {
                Debug.LogError(string.Format("Max number of columns to sort by is {0}", dataMembers.Count - 1));
            }
        }
        else
        {
            Debug.LogError("Error connecting to DB");
        }
    }
Example #23
0
    public void EndGame()
    {
        timer.Stop();
        timer.Dispose();
        st.Stop();

        string timeToSave = (gameStartTime + st.Elapsed).ToString("yyyy-MM-dd HH:mm:ss.fff");

        var connection = new SqliteConnection(string.Format(@"Data Source={0};Version=3",
                                                            Application.streamingAssetsPath + "\\" + "Players.db"));
        var context = new DataContext(connection);

        if (context.DatabaseExists())
        {
            var query = @"UPDATE PlayerData SET EndTime={0} WHERE ID={1}";
            context.ExecuteCommand(query, timeToSave, currentPlayerID);
        }

        context.Dispose();
        connection.Close();
        connection.Dispose();
    }
        public IEnumerable <Address> GetAddresses()
        {
            if (readenDatabase.DatabaseExists())
            {
                try
                {
                    Log(DateTime.Now, "GetAddresses() was invoked");
                    var res = readenDatabase.GetTable <Address>().ToList();
                    return(res);
                }
                catch (Exception ex)
                {
                    Log(DateTime.Now, $"Loading failed in GetAddresses() \n{ex.Message}");
                    throw new Exception($"Loading failed in GetAddresses() \n{ex.Message}");
                }
            }

            Log(DateTime.Now, "DB connection failed");
            throw new Exception("DB connection failed");
        }
        /*
         *
         */
        private void BtnRefresh_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Sẽ phải mất một lúc để load danh sách Server");

            DataContext db = new DataContext("Data Source=.;Database=Master;Integrated Security=True");

            if (db.DatabaseExists())
            {
                var query = db.ExecuteQuery <string>("select srvname from sysservers where srvproduct='SQL Server'");
                cbServerName.DataSource = query.ToList();
            }
            else
            {
                MessageBox.Show("Không thể lấy danh sách server");
            }

            db = new DataContext("Data Source=" + cbServerName.Text + ";Database=Master;Integrated Security=True");
            if (db.DatabaseExists())
            {
                var query = db.ExecuteQuery <string>("Select name from sysdatabases");
                cbDatabaseName.DataSource = query.ToList();
            }
        }
Example #26
0
        /// <summary>Run operation.</summary>
        public void Run(enumRun mode)
        {
            // Init database.
            _dbContext = new BaseDataContext(_dbConnectionString);
            if(!_dbContext.DatabaseExists()) {
            _dbContext.CreateDatabase();
            }

            // Get (SELECT) locations from database.
            var locations = GetLocations();
            int locationsLength = locations.Count();

            // Create (INSERT) default data to database.
            if(mode == enumRun.LoadData && (locations == null || locationsLength <= 0)) {
            locations = CreateLocationsDefault();
            Console.WriteLine("\nLoaded data successfully.");
            } else if(mode == enumRun.LoadData) {
            Console.WriteLine("\nCannot load data because it exists. If you want to try again, then you must either drop the database or delete all the records.");
            }

            // Process condition from each location.
            for(int i = 0;i < locationsLength;i += 1) {
            // Create (INSERT) condition from XML.
            CreateConditions(locations[i]);
            // Remove (DELETE) extra conditions based on maximum length.
            RemoveConditions(locations[i], _paramConditionHistory);
            }
            // Remove (DELETE) extra conditions based on maximum length.
            RemoveConditions(_paramConditionHistory);
            // Submit data changes.
            _dbContext.SubmitChanges();
        }
Example #27
0
 public bool DatabaseExists()
 {
     return(_context.DatabaseExists());
 }
Example #28
0
        /// <summary>Run operation.</summary>
        public void Run(enumRun mode)
        {
            // Validate application configuration file.
            if(String.IsNullOrEmpty(_paramGetStatusesSince) || String.IsNullOrEmpty(_paramGetStatusesCount)) {
            EventLog.WriteEntry(logName, "Application Error: Missing values from configuration file.", EventLogEntryType.Error);
            return;
            }

            // Init database.
            _dbContext = new BaseDataContext(_dbConnectionString);
            if(!_dbContext.DatabaseExists()) {
            _dbContext.CreateDatabase();
            }

            // Create (INSERT) default data to database.
            if(mode == enumRun.LoadData) {
            CreateStatusesDefault();
            Console.WriteLine("\nLoaded data successfully.");
            } else if(mode == enumRun.LoadData) {
            Console.WriteLine("\nCannot load data because it exists. If you want to try again, then you must either drop the database or delete all the records.");
            }

            // Iterate and process users.
            TwitterStatus userStatus = null;
            string userUrlGetStatuses = String.Empty;
            var userIds = _paramGetStatusesUserValue.RemoveWhitespaces().Split(new char[] {','}, StringSplitOptions.RemoveEmptyEntries);
            for(int i = 0;i < userIds.Length;i += 1) {
            userUrlGetStatuses = String.Empty;
            // Get (SELECT) status, most recent.
            userStatus = GetStatusLatest(userIds[i]);
            // Validate status.
            if(userStatus != null) {
                userUrlGetStatuses = _urlGetStatuses.AppendQueryString(String.Concat(_paramGetStatusesSince, "=", userStatus.Id));
            } else {
                userUrlGetStatuses = _urlGetStatuses.AppendQueryString(String.Concat(_paramGetStatusesCount, "=", _paramDataStatusesHistory));
            }
            // Create (INSERT) statue from XML.
            CreateStatus(userUrlGetStatuses.AppendQueryString(String.Concat(_paramGetStatusesUser, "=", userIds[i])));
            }
            // Remove (DELETE) extra statuses based on maximum length.
            RemoveStatuses(_paramDataStatusesHistory);
            // Submit data changes.
            _dbContext.SubmitChanges();
        }