private void LogOut_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (char)26) { undoRedoOperations(undoStack, redoStack); } else if (e.KeyChar == (char)25) { undoRedoOperations(redoStack, undoStack); } else { CareTakerDatas datas = new CareTakerDatas(); User tempUser = new User(txtUserName.Text, TxtPassword.Text, false, "", TxtName.Text, TxtSurname.Text, MTxtPhoneNumber.Text, TxtAddress.Text, TxtEmail.Text, "", ""); if (flag == 0) { tempUser.Photo = LoginedUser.getInstance().UserGetSet.Photo; } else { tempUser.Photo = Util.ImageToBase64(PicPhoto.ImageLocation); } datas.Memento = tempUser.Save(); undoStack.Push(datas); } }
private void undoRedoOperations(Stack <CareTakerDatas> mainStack, Stack <CareTakerDatas> backUpStack) { if (mainStack.Count > 0) { User tempUser = new User(); CareTakerDatas taker = mainStack.Pop(); CareTakerDatas oldtaker = new CareTakerDatas(); tempUser.Undo(taker.Memento); txtUserName.Text = tempUser.Username; TxtPassword.Text = tempUser.AccoundPassword; TxtSurname.Text = tempUser.Surname; TxtName.Text = tempUser.Name; MTxtPhoneNumber.Text = tempUser.PhoneNumber; TxtAddress.Text = tempUser.Address; TxtEmail.Text = tempUser.Email; PicPhoto.Image = Util.Base64ToImage(tempUser.Photo); oldtaker.Memento = tempUser.Save(); backUpStack.Push(oldtaker); } }