/// <summary> /// check if all data are correct and get user /// </summary> /// <returns></returns> public User GetUser() { if (!WasTCVerify) { throw new InvalidOperationException("Time Cockpit verifying was not successful"); } if (!WasGLogin) { throw new InvalidOperationException("Google Login was not successful"); } if (!WaSSetSetting) { throw new InvalidOperationException("Setting was not filled"); } //Check if new user with same Timecockpit credentials was added meanwhile set setting if (DataDatabase.ExistsUser(NewUser.Username)) { throw new InvalidOperationException("There is the same username in database! Time Cockpit username is unique parameter and therefore it cannot be use more than once."); } NewUser.GoogleEmail = GUtil.GetEmail(NewUser); Synchronization.SyncNow(); return(NewUser); }
public MainPageViewModel() { DataList = new List <Data>(); database = new DataDatabase(DependencyService.Get <IPathHelper>().GetLocalPath("db_xam_forms")); AddDataToList(); }
public MainActivityViewModel() { database = new DataDatabase(PathHelper.GetLocalPath("db_xam_platform")); DataList = new List <Data>(); AddDataToList(); }
/// <summary> /// Change user in DataDatabase.userDatabase (multithreading) /// </summary> public void ChangeUserInDatabse() { if (!WaSSetSetting) { throw new InvalidOperationException("Setting was not filled"); } lock (DataDatabase.userDatabase) { //if new google account do sync again if (WasGLogin) { ChangingUser.EventsAccordingToGoogleId = new Dictionary <string, Event>(); ChangingUser.EventsAccordingToTCId = new Dictionary <string, Event>(); ChangingUser.Events = new List <Event>(); } else { ChangingUser.EventsAccordingToGoogleId = OldUser.EventsAccordingToGoogleId; ChangingUser.EventsAccordingToTCId = OldUser.EventsAccordingToTCId; ChangingUser.Events = OldUser.Events; } ChangeGoogleToken(); DataDatabase.userDatabase.Remove(OldUser); ChangingUser.GoogleEmail = GetGoogleEmail(); DataDatabase.AddUserToUserDatabase(ChangingUser); } if (WasGLogin) { Synchronization.SyncNow(); } }
private void CreateNewUserButton_Click(object sender, EventArgs e) { userCreator.SetSetting((int)StartDomain.Value, !EndSpecifiedCheckBox.Checked, (int)EndDomain.Value); try { DataDatabase.AddUserToUserDatabase(userCreator.GetUser()); KillGLoginThreads(); this.Dispose(); } catch (InvalidOperationException ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK); } }
/// <summary> /// Delete user and google token from database /// </summary> public void DeleteUser() { DialogResult result = MessageBox.Show( string.Format("Do you want to really delete user {0}?", user.ToString()), "Delete User", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { lock (DataDatabase.userDatabase) { TCCredentialsManager.Delete(user.Username); DataDatabase.userDatabase.Remove(user); GUtil.RemoveGoogleToken(user); DataDatabase.RefreshListBox(); DataDatabase.SaveChanges(); } } }
/// <summary> /// return true if Time Cockpit credentials are correct /// </summary> /// <param name="username"></param> /// <param name="password"></param> /// <returns></returns> public bool TCVerify(string username, string password) { // Check if there is a user with same username in database if (DataDatabase.ExistsUser(username)) { MessageBox.Show ("There is the same username in database! Time Cockpit username is unique parameter and therefore it cannot be use more than once.", "Login failed", MessageBoxButtons.OK); return(false); } if (TCUtils.VerifyAccount(username, password)) { TCCredentialsManager.Save(username, password); NewUser.Username = username; NewUser.Fullname = TCUtils.GetFullname(NewUser); WasTCVerify = true; return(true); } return(false); }