Ejemplo n.º 1
0
        public async void SaveVehicle(Vehicle vehicle)
        {
            try
            {
                _iview.EnableControls(false);
                var data = await fbProvider.SignInWithEmailAndPasswordAsync(SessionValues.Instance.emailUser, SessionValues.Instance.Password);

                db = new FirebaseClient(
                    ConfigData.Get("FirebaseAppUri"),
                    new FirebaseOptions
                {
                    AuthTokenAsyncFactory = () => Task.FromResult(data.FirebaseToken)
                });

                if (string.IsNullOrEmpty(vehicle.Id))
                {
                    await db
                    .Child("users")
                    .Child(data.User.LocalId)
                    .Child("cars")
                    .PostAsync(vehicle);
                }
                else
                {
                    await db
                    .Child("users")
                    .Child(data.User.LocalId)
                    .Child("cars")
                    .Child(vehicle.Id)
                    .PutAsync(vehicle);
                }


                _iview.ShowMessage("Registro guardado exitosamente", System.Windows.Forms.MessageBoxIcon.Information);
                _iview.EnableControls(true);
                _iview.CleanControls();
            }
            catch (Exception ex)
            {
                ExceptionManager.HandleException(ex);
                _iview.EnableControls(true);
                _iview.ShowMessage(ex.Message, System.Windows.Forms.MessageBoxIcon.Error);
            }
        }