using System; using Xamarin.Forms; namespace Aurora.Design.Views.Party.NewPartyDialog { public class NewPartyDialogViewModel : BaseDialogViewModel { public NewPartyDialogViewModel() { this.ReturnObject = new ConnectionDetails(); HostCommand = new Command(OnHostExecute, OnHostCanExecute); JoinCommand = new Command(OnJoinExecute, OnJoinCanCanExecute); } public string Hostname { get { if (ReturnObject is ConnectionDetails) { ConnectionDetails obj = ReturnObject as ConnectionDetails; return obj.HostName; }; return string.Empty; } set { if (ReturnObject is ConnectionDetails) { ConnectionDetails obj = ReturnObject as ConnectionDetails; if (value != obj.HostName) { obj.HostName = value; } OnPropertyChanged(Hostname); HostCommand.ChangeCanExecute(); JoinCommand.ChangeCanExecute(); } } } public void OnHostExecute() { ConnectionDetails obj = base.ReturnObject as ConnectionDetails; obj.ConnectionType = ConnectionType.Host; Finish(); } public Command HostCommand { get; private set; } public Command JoinCommand { get; private set; } public bool OnHostCanExecute() { return string.IsNullOrWhiteSpace(Hostname); } public void OnJoinExecute() { ConnectionDetails obj = base.ReturnObject as ConnectionDetails; obj.ConnectionType = ConnectionType.Join; Finish(); } public bool OnJoinCanCanExecute() { return !string.IsNullOrWhiteSpace(Hostname); } } }