public CredentialPageViewModel()
 {
     saved = false;
     Credential = store.DefaultCredential;
     if (Credential == null)
     {
         Credential = new Credential();
         Credential.Default = true;
         Credential.Host = "http://www.myhouse.com";
         Credential.Port = 80;
         Credential.Password = "******";
     }
 }
예제 #2
0
        public Client(Credential Credential, IHttpClient HttpClient = null, IServiceController Controller = null, Configuration.IConfigurationReader ConfigurationReader = null)
        {
            if (ConfigurationReader == null)
            {
            #if WINDOWS_PHONE
                ConfigurationReader = new Configuration.IsolatedStorageConfigurationReader();
            #else
                ConfigurationReader = new Configuration.AppConfigConfigurationReader();
            #endif
            }
            this.ConfigurationReader = ConfigurationReader;
            if (HttpClient == null)
            {
                if (HttpClient == null)
                    HttpClient = new HTTP.VirtualClientHttp(this.Credential);
            }
            if (Controller == null)
            {
                Controller = new VirtualScenes34.VitualScenes34Controller(Credential);
            }
            Logger = LogManager.GetLogger<Client>();
            this.Credential = Credential;
            this.VirtualScenesController = Controller;
            if (this.VirtualScenesController.Credential == null) this.VirtualScenesController.Credential = Credential;
            this.VirtualScenesController.OnError += new Error(VirtualScenesController_OnError);

            Logger.Debug("New Client Created");
            Logger.DebugFormat("HttpClient:{0}", HttpClient.ToString());
            Logger.DebugFormat("Controller:{0}", Controller.ToString());
            Logger.DebugFormat("Credential:{0}", Helpers.Serialization.NewtonSerializer<Credential>.ToJSON(Credential));

            VirtualScenesController.OnLogin += new LoginResponse(VirtualScenesController_OnLogin);
            VirtualScenesController.OnLogout += new LogoutResponse(VirtualScenesController_OnLogout);
            VirtualScenesController.OnDevices += new DevicesResponse(VirtualScenesController_OnDevices);
            VirtualScenesController.OnDeviceDetails += new DeviceDetailsResponse(VirtualScenesController_OnDeviceDetails);
            VirtualScenesController.OnDeviceCommands += new DeviceCommandsResponse(VirtualScenesController_OnDeviceCommands);
            VirtualScenesController.OnDeviceCommand += new DeviceCommandResponse(VirtualScenesController_OnDeviceCommand);
            VirtualScenesController.OnDeviceValues += new DeviceValuesResponse(VirtualScenesController_OnDeviceValues);
            VirtualScenesController.OnScenes += new SceneResponse(VirtualScenesController_OnScenes);
            VirtualScenesController.OnChangeSceneName += new SceneNameChangeResponse(VirtualScenesController_OnChangeSceneName);
            VirtualScenesController.OnStartScene += new SceneNameChangeResponse(VirtualScenesController_OnStartScene);
            VirtualScenesController.OnGroups += new GroupsResponse(VirtualScenesController_OnGroups);
            VirtualScenesController.OnGroupDetails += new GroupDetailsResponse(VirtualScenesController_OnGroupDetails);
            VirtualScenesController.OnCommands += new CommandsResponse(VirtualScenesController_OnCommands);
            VirtualScenesController.OnSendCommand += new CommandsResponse(VirtualScenesController_OnSendCommand);

            LoadCookie();
        }
 public void AddCredential(Credential Credential, bool MakeDefault = true)
 {
     if (Credential != null)
     {
         Credential.Default = false;
         if (MakeDefault)
         {
             foreach (var c in this.Credentials)
             {
                 c.Default = false;
             }
             Credential.Default = true;
         }
         this.Credentials.Add(Credential);
         this.Save();
     }
 }
        public void UpdateCredential(string Name, Credential NewCredential)
        {
            if (!string.IsNullOrEmpty(Name))
            {
                Credential updateMe = null;
                foreach (var c in this.Credentials)
                {
                    if (c.Name == Name)
                    {
                        updateMe = c;
                        
                    }

                }
                if(updateMe!=null)
                {
                    updateMe.Default = NewCredential.Default;
                    updateMe.Domain = NewCredential.Domain;
                    updateMe.Host = NewCredential.Host;
                    updateMe.Password = NewCredential.Password;
                    updateMe.Port = NewCredential.Port;
                    updateMe.Username = NewCredential.Username;
                    updateMe.Name = NewCredential.Name;
                    if (updateMe.Default)
                    {
                        this.DefaultCredential = updateMe;
                        foreach (var c in this.Credentials)
                        {
                            if (c.Name != Name) c.Default = false;

                        }
                    }

                    this.Save();
                }
            }
        }
        private void SaveButton_Click(object sender, EventArgs e)
        {
            if (this.ProfileList.SelectedItem != null)
            {
                string host = this.HostInput.Text;
                string password = this.PasswordInput.Password;
                int port = Convert.ToInt32(this.PortInput.Text);

                string name = this.ProfileList.SelectedItem.ToString();
                bool AddNew = (name == "Add New...");
                var c = new Credential() { Default = true, Host = host, Name = name, Password = password, Port = port };
                if (AddNew)
                {
                    c.Name = c.Host;
                    App.CredentialStore.AddCredential(c, true);
                }
                else
                {
                    App.CredentialStore.UpdateCredential(name, c);
                }
                NavigationService.GoBack();
            }
        }
        private void AttemptConnection()
        {
            ConfigurationReader = new zVirtualClient.Configuration.IsolatedStorageConfigurationReader();
            zVirtualClient.HTTP.HttpClient.Timeout = int.MaxValue;
            App.Connected = false;

            creds = App.CredentialStore.DefaultCredential;

            if (string.IsNullOrEmpty(creds.Host) || creds.Host == "localhost" || string.IsNullOrEmpty(creds.Password) ||
                creds.Port <= 0)
            {
                TweakUIFromConfig(false);
            }
            else
            {
                App.Client = new Client(creds);
                App.Client.OnError += new zVirtualClient.Interfaces.Error(client_OnError);
                App.Client.OnLogin += new zVirtualClient.Interfaces.LoginResponse(client_OnLogin);
                App.Client.OnDevices += new zVirtualClient.Interfaces.DevicesResponse(Client_OnDevices);
                App.Client.OnScenes += new zVirtualClient.Interfaces.SceneResponse(Client_OnScenes);
                App.Client.OnStartScene += new zVirtualClient.Interfaces.SceneNameChangeResponse(Client_OnStartScene);
                App.Client.OnRequest += new zVirtualClient.Interfaces.Request(Client_OnRequest);
                App.Client.OnRequestCompleted +=
                    new zVirtualClient.Interfaces.RequestCompleted(Client_OnRequestCompleted);
                App.Client.Login();

                if (!App.DevicesViewModel.IsDataLoaded)
                {
                    //App.DevicesViewModel.LoadData();
                }
            }
        }
        public void RemoveCredential(string Name)
        {
            if (!string.IsNullOrEmpty(Name))
            {
                Credential deleteMe = null;
                foreach (var c in this.Credentials)
                {
                    if (c.Name == Name)
                    {
                        deleteMe = c;
                        break;
                    }
                }
                if (deleteMe != null)
                {
                    this.Credentials.Remove(deleteMe);
                    if (deleteMe.Default)
                    {
                        DefaultCredential = null;
                        SetupDefault();
                    }
                    else
                    {
                        this.Save();
                    }
                }

            }
        }
 private void SetupDefault()
 {
     if (DefaultCredential == null)
     {
         DefaultCredential = new Credential();
         DefaultCredential.Default = true;
         DefaultCredential.Name = "Profile 1";
         DefaultCredential.Host = "localhost";
         DefaultCredential.Port = 6000;
         DefaultCredential.Password = "******";
         Credentials.Add(DefaultCredential);
         this.Save();
     }
 }
 public void SetDefault(string Name)
 {
     foreach (var c in this.Credentials)
     {
         if(c.Name == Name)
         {
             this.DefaultCredential = c;
             this.DefaultCredential.Default = true;
         } else
         {
             c.Default = false;
         }
     }
     Save();
 }