Exemple #1
0
 public UserEditorViewModel(UserEditorActivityViewInterface view,
                            UserEditorInteractor interactor)
 {
     mView = view;
     mView.setViewModel(this);
     mInteractor = interactor;
 }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.user_editor_activity);

            mInteractor = new UserEditorInteractor(ApplicationContext);
            mViewModel  = new UserEditorViewModel(this, mInteractor);

            user = new User()
            {
                IdUsuario  = mUserPreferences.GetInt("IdUsuario", 0),
                Nombre     = mUserPreferences.GetString("Nombre", String.Empty),
                Cuenta     = mUserPreferences.GetString("Cuenta", String.Empty),
                Contrasena = mUserPreferences.GetString("Contrasena", String.Empty),
                Area       = mUserPreferences.GetString("Area", String.Empty),
                Perfil     = mUserPreferences.GetString("Perfil", String.Empty)
            };

            mUserId = Intent.GetIntExtra(EXTRA_USER_ID, -1);
            Log.Info(TAG, "El ID es: " + mUserId);
            mFunction = Intent.GetIntExtra(EXTRA_FUNCTION, -1);
            Log.Info(TAG, "La Funcion es: " + mFunction);

            mNombre     = FindViewById <EditText>(Resource.Id.ET_UT_Item01);
            mArea       = FindViewById <EditText>(Resource.Id.ET_UT_Item02);
            mCuenta     = FindViewById <EditText>(Resource.Id.ET_UT_Item03);
            mContrasena = FindViewById <EditText>(Resource.Id.ET_UT_Item04);
            mFilaPerfil = FindViewById <TableRow>(Resource.Id.UT_SpinnerFile);
            mPerfil     = FindViewById <Spinner> (Resource.Id.UT_S_Item05);

            adapter = ArrayAdapter.CreateFromResource(this, Resource.Array.profiles, Android.Resource.Layout.SimpleSpinnerItem);
            adapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
            mPerfil.Adapter = adapter;

            mTablaEdicion = FindViewById <View>(Resource.Id.tabla_edicion);
            mProgreso     = FindViewById <ProgressBar>(Resource.Id.pb_progreso);

            mAccept = FindViewById <Button>(Resource.Id.b_accept);
            mCancel = FindViewById <Button>(Resource.Id.b_cancel);

            mAccept.Text = "Editar";

            mAccept.Click += (o, e) =>
            {
                if (Bandera_Edicion == 1)
                {
                    user.Nombre     = mNombre.Text;
                    user.Area       = mArea.Text;
                    user.Cuenta     = mCuenta.Text;
                    user.Contrasena = mContrasena.Text;

                    ISharedPreferencesEditor edit = mUserPreferences.Edit();
                    edit.PutInt("IdUsuario", user.IdUsuario);
                    edit.PutString("Nombre", user.Nombre);
                    edit.PutString("Cuenta", user.Cuenta);
                    edit.PutString("Contrasena", user.Contrasena);
                    edit.PutString("Perfil", user.Perfil);
                    edit.PutString("Area", user.Area);
                    edit.Apply();

                    mViewModel.ActualizarBDE(user.IdUsuario, user);
                }
                else
                {
                    prepearEdition(1);
                    mAccept.Text = "Actualizar";
                }
            };

            mCancel.Click += (o, e) =>
            {
                Finish();
            };

            prepearEdition(mFunction);

            prepearData(mUserId);
        }