Untitled
unknown
plain_text
10 months ago
2.3 kB
4
Indexable
using Airline_Reservation_System.Models;
using System;
using System.ComponentModel;
using System.IO;
using System.Text.Json;
using System.Windows.Input;
namespace Airline_Reservation_System.ViewModels
{
public class RegistrationViewModel : INotifyPropertyChanged
{
private string _name;
private string _email;
private string _password;
public string Name
{
get => _name;
set
{
_name = value;
OnPropertyChanged(nameof(Name));
}
}
public string Email
{
get => _email;
set
{
_email = value;
OnPropertyChanged(nameof(Email));
}
}
public string Password
{
get => _password;
set
{
_password = value;
OnPropertyChanged(nameof(Password));
}
}
public ICommand SignupCommand { get; }
public RegistrationViewModel()
{
SignupCommand = new RelayCommand(SaveRegistrationData, CanExecuteSignup);
}
private bool CanExecuteSignup(object parameter)
{
return !string.IsNullOrEmpty(Name) &&
!string.IsNullOrEmpty(Email) &&
!string.IsNullOrEmpty(Password);
}
private void SaveRegistrationData(object parameter)
{
var user = new UserRegistrationModel
{
Name = Name,
Email = Email,
Password = Password
};
string jsonData = System.Text.Json.JsonSerializer.Serialize(user, new JsonSerializerOptions { WriteIndented = true });
string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "UserData.json");
File.WriteAllText(filePath, jsonData);
// Reset fields
Name = string.Empty;
Email = string.Empty;
Password = string.Empty;
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
}Editor is loading...
Leave a Comment