/// <summary>
		/// Create database if it does not exist
		/// </summary>
		public void Initialize(string dbpath){

			_dbpath = dbpath;

			//- Create database file and insert data tables
			if (!File.Exists (_dbpath)) {
				try{
					//- Create database
					File.Create (_dbpath);

					//--- Insert database tables ---//

					// Application Settings
					string cmd = DatabaseScripts.CreateApplicationSettingsTableScript();
					int result = DatabaseHelper.ExecuteNonQuery(_dbpath, cmd);

					//- insert the device id
					ApplicationSettingsModel appsettings = new ApplicationSettingsModel();
					appsettings.DeviceID = Guid.NewGuid().ToString();
					InsertInitialApplicationSettings(appsettings);

					// User Settings
					cmd = DatabaseScripts.CreateUsersTableScript();
					result = DatabaseHelper.ExecuteNonQuery(_dbpath,cmd);

					// Contacts
					cmd = DatabaseScripts.CreateContactsTableScript();
					result = DatabaseHelper.ExecuteNonQuery(_dbpath, cmd);

					// Messages
					cmd = DatabaseScripts.CreateMessageTableScript();
					result = DatabaseHelper.ExecuteNonQuery(_dbpath, cmd);

					// Log Messages
					cmd = DatabaseScripts.CreateLogMessagesTableScript();
					result = DatabaseHelper.ExecuteNonQuery(_dbpath, cmd);

					// Log Message Types
					cmd = DatabaseScripts.CreateLogMessageTypesScript();
					result = DatabaseHelper.ExecuteNonQuery(_dbpath, cmd);


				}
				catch(Exception ex){
					
				}
			}
		}
		public async void InsertInitialApplicationSettings(ApplicationSettingsModel settings)
		{
			string cmd = string.Format("INSERT INTO ApplicationSettings(DeviceID) VALUES('{0}');", settings.DeviceID);

			try
			{
				int result = DatabaseHelper.ExecuteNonQuery(_dbpath, cmd);


			}
			catch (Exception ex)
			{
				Debug.WriteLine(string.Format("The following exception occurred in (ClientDatabaseManager.InsertInitialApplicationSettings) {0}", ex.Message));
			}
		}
		public async Task<ApplicationSettingsModel> GetApplicationSettings()
		{
			ApplicationSettingsModel settings = new ApplicationSettingsModel();

			string cmd = "SELECT DeviceID FROM ApplicationSettings";

			try
			{
				List<ApplicationSettingsModel> settingsresult = DatabaseHelper.ExecuteQuery<ApplicationSettingsModel>(_dbpath, cmd);


			}
			catch (Exception ex)
			{
				Debug.WriteLine(string.Format("The following exception occurred in (ClientDatabaseManager.GetApplicationSettings) {0}", ex.Message));
			}

			return settings;
		}