Ejemplo n.º 1
0
        private bool saveServer()
        {
            database = dbhelper.WritableDatabase;
            bool result = false;
            try {

                URI uri = new URI(FindViewById<EditText>(Resource.Id.edit_server_host).Text);
                string name = FindViewById<EditText>(Resource.Id.edit_server_name).Text;
                string scheme = null;
                string host = uri.Host;
                string port = FindViewById<EditText>(Resource.Id.edit_server_port).Text;
                string user = FindViewById<EditText>(Resource.Id.edit_server_user).Text;
                string pass = FindViewById<EditText>(Resource.Id.edit_server_pass).Text;

                if (uri.Scheme == null) {
                    scheme = "http";
                    host = uri.SchemeSpecificPart;
                } else {
                    scheme = uri.Scheme;
                }

                        if (name.Length == 0 || host.Length == 0 || port.Length == 0 || user.Length == 0) {
                            Toast.MakeText(this, "One or more fields are empty", ToastLength.Short).Show();
                    return false;
                }

                ContentValues values = new ContentValues();
                values.Put(YastroidOpenHelper.SERVERS_NAME, name);
                values.Put(YastroidOpenHelper.SERVERS_SCHEME, scheme);
                values.Put(YastroidOpenHelper.SERVERS_HOST, host);
                values.Put(YastroidOpenHelper.SERVERS_PORT, port);
                values.Put(YastroidOpenHelper.SERVERS_USER, user);
                if(pass.Length == 0 )
                    values.Put(YastroidOpenHelper.SERVERS_PASS, s.getPass());
                else
                    values.Put(YastroidOpenHelper.SERVERS_PASS, pass);
                    values.Put(YastroidOpenHelper.SERVERS_GROUP, s.getGroupId());

                database.Update(YastroidOpenHelper.SERVERS_TABLE_NAME, values, YastroidOpenHelper.SERVERS_ID + "=" + s.getId(), null);
                        database.Close();
                        Log.Info("ARRAY", "WebYaST server " + name + " has been updated.");
                result = true;
            } catch (Exception e) {
                            Log.Error("BACKGROUND_PROC", e.Message);
            }
                        Toast.MakeText(this, "Server Updated", ToastLength.Short).Show();
            return result;
        }
	    /**
	     * Execute update using the current internal state as {@code WHERE} clause.
	     */
	    public int Update(SQLiteDatabase db, ContentValues values) {
	        AssertTable();
	        if (LOGV) Log.Verbose(TAG, "update() " + this);
	        return db.Update(mTable, values, GetSelection(), GetSelectionArgs());
	    }