示例#1
0
        private void LoginBtn_Click(object sender, EventArgs e)
        {
            string email, pass;

            email = emailTxt.EditText.Text;
            pass  = passTxt.EditText.Text;

            if (!email.Contains("@"))
            {
                Toast.MakeText(this, " Please try a valid email  ", ToastLength.Short).Show();
            }
            else if (pass.Length < 8)
            {
                Toast.MakeText(this, " Please provide a valid password  ", ToastLength.Short).Show();
            }

            TaskCompletionListener TaskCompletionListener = new TaskCompletionListener();

            TaskCompletionListener.Success += TaskCompetionListener_Success;
            TaskCompletionListener.Failer  += TaskCompetionListener_Failer;

            dbAuth.SignInWithEmailAndPassword(email, pass)
            .AddOnSuccessListener(TaskCompletionListener)
            .AddOnFailureListener(TaskCompletionListener)
            ;
        }
        private void LoginButton_Click(object sender, EventArgs e)
        {
            string email, password;

            email    = emailText.EditText.Text;
            password = passwordText.EditText.Text;

            if (!email.Contains("@"))
            {
                Snackbar.Make(rootView, "Please provide a valid email", Snackbar.LengthShort).Show();
                return;
            }
            else if (password.Length < 8)
            {
                Snackbar.Make(rootView, "Please provide a valid password", Snackbar.LengthShort).Show();
                return;
            }

            TaskCompletionListener taskCompletionListener = new TaskCompletionListener();

            taskCompletionListener.Success += TaskCompletionListener_Success;
            taskCompletionListener.Failure += TaskCompletionListener_Failure;

            mAuth.SignInWithEmailAndPassword(email, password)
            .AddOnSuccessListener(taskCompletionListener)
            .AddOnFailureListener(taskCompletionListener);
        }
示例#3
0
        private void LoginButton_Click(object sender, EventArgs e)
        {
            if (!DisruptionLibraries.UltraWebClient.IsConnected())
            {
                Snackbar.Make(rootView, "No internet connection", Snackbar.LengthLong).Show();
                StartActivity(typeof(MainActivity));
            }

            string email, password;

            email    = emailText.EditText.Text;
            password = passwordText.EditText.Text;

            if (!email.Contains("@"))
            {
                Snackbar.Make(rootView, "Please provide a valid email", Snackbar.LengthShort).Show();
                return;
            }
            else if (password.Length < 8)
            {
                Snackbar.Make(rootView, "Please provide a valid password", Snackbar.LengthShort).Show();
                return;
            }

            TaskCompletionListener taskCompletionListener = new TaskCompletionListener();

            taskCompletionListener.Success += TaskCompletionListener_Success;
            taskCompletionListener.Failure += TaskCompletionListener_Failure;

            ShowProgressDialogue();

            //consider having different authentication  providers.
            //use strategy pattern to decouple the current code
            Helpers.AppDataHelper.GetFirebaseAuth().SignInWithEmailAndPassword(email, password).AddOnSuccessListener(taskCompletionListener).AddOnFailureListener(taskCompletionListener);
        }
示例#4
0
        private void DeleteInvoice_Click(object sender, EventArgs e)
        {
            // get services;
            UserService     userService     = new UserService();
            FirebaseStorage firebaseStorage = userService.GetStorage(_context);
            var             firestoreDb     = userService.GetDatabase(_context);
            // get local storage service

            View receivedView = (View)sender;
            var  invoiceId    = receivedView.GetTag(deleteInvoice.Id);

            Console.WriteLine("Button clicked.");
            TaskCompletionListener completionListener = new TaskCompletionListener();

            completionListener.Succes  += CompletionListener_Succes;
            completionListener.Failure += CompletionListener_Failure;



            var deleteInvoiceAlert = new AlertDialog.Builder(_context);

            if (_isShowed != true)
            {
                _isShowed = true;
                deleteInvoiceAlert.SetTitle("Stergeti factura");
                deleteInvoiceAlert.SetMessage($"Sunteti sigur ca doriti sa stergeti aceasta factura?");
                deleteInvoiceAlert.SetPositiveButton("Da", async delegate
                {
                    StorageService storage = new StorageService();
                    var clientLogged       = await storage.GetClientDataLocal();
                    firestoreDb.Collection("Medics").Document(clientLogged.MedicSubscribed.Id).Collection("Clients").Document(clientLogged.Id).Collection("Invoices")
                    .Document(invoiceId.ToString())
                    .Delete().AddOnSuccessListener(completionListener).AddOnFailureListener(completionListener);

                    // delete invoice also from list
                    List <Invoice> invoicesList = _invoices.ToList <Invoice>();
                    var invoiceToDelete         = invoicesList.FirstOrDefault(appoint => appoint.Id.Equals(invoiceId.ToString()));
                    // delete invoice from storage also
                    await firebaseStorage.Reference.Child(clientLogged.Id).Child(invoiceToDelete.InvoiceName).DeleteAsync();
                    invoicesList.Remove(invoiceToDelete);

                    _invoices = invoicesList.ToArray();
                    _isShowed = false;
                    deleteInvoiceAlert.Dispose();
                    _context.Finish();
                    _context.StartActivity(typeof(ClientInvoicesActivity));
                });
                deleteInvoiceAlert.SetNegativeButton("Nu", delegate
                {
                    _isShowed = false;
                    deleteInvoiceAlert.Dispose();
                });
                deleteInvoiceAlert.Show();
            }
        }
示例#5
0
        public void SetMedicScheduleHours()
        {
            var firestoreDb = _userService.GetDatabase(this);
            // get medic schedule
            TaskCompletionListener medicsListener = new TaskCompletionListener();

            medicsListener.Succes  += MedicsListener_Succes;
            medicsListener.Failure += MedicsListener_Failure;
            firestoreDb.Collection("Medics").Document(clientLogged.MedicSubscribed.Id).Get().AddOnSuccessListener(medicsListener)
            .AddOnFailureListener(medicsListener);
        }
        private void SignInWithPhoneAuthCredential(PhoneAuthCredential credential)
        {
            TaskCompletionListener taskCompletionListener = new TaskCompletionListener();

            taskCompletionListener.Success += TaskCompletionListener_Success;
            taskCompletionListener.Failure += TaskCompletionListener_Failure;

            mAuth.SignInWithCredential(credential)
            .AddOnSuccessListener(taskCompletionListener)
            .AddOnFailureListener(taskCompletionListener);
        }
示例#7
0
        private void FetchAppointmentsWeek()
        {
            TaskCompletionListener appointmentsListener = new TaskCompletionListener();

            appointmentsListener.Succes  += AppointmentsListener_Succes;
            appointmentsListener.Failure += AppointmentsListener_Failure;

            _firestoreDb.Collection("Medics").Document(clientLogged.MedicSubscribed.Id).Collection("Appointments")
            .WhereGreaterThan("startTime", new Date())
            .Get().AddOnSuccessListener(appointmentsListener)
            .AddOnFailureListener(appointmentsListener);
        }
示例#8
0
        public void FetchTreatments()
        {
            var db = _userService.GetDatabase(this);

            TaskCompletionListener treatmentsListener = new TaskCompletionListener();

            treatmentsListener.Succes  += TreatmentsListener_Succes;
            treatmentsListener.Failure += TreatmentsListener_Failure;

            db.Collection("Medics").Document(clientLogged.MedicSubscribed.Id).Collection("Clients").Document(clientLogged.Id).Collection("Treatments")
            .Get().AddOnSuccessListener(treatmentsListener).AddOnFailureListener(treatmentsListener);
        }
示例#9
0
        public async Task AddNotification(Models.Notification newNotif, string functionCall)
        {
            TaskCompletionListener taskCompletionListener = new TaskCompletionListener();
            var app = FirebaseApp.InitializeApp(_context);

            firebaseFunc = FirebaseFunctions.GetInstance(app);

            var func = firebaseFunc.GetHttpsCallable(functionCall)
                       .Call(JsonConvert.SerializeObject(newNotif))
                       .AddOnSuccessListener(_activity, taskCompletionListener);

            taskCompletionListener.Succes  += TaskCompletionListener_Succes;
            taskCompletionListener.Failure += TaskCompletionListener_Failure;
        }
示例#10
0
 public void GetInvoicesNames()
 {
     try
     {
         TaskCompletionListener invoicesListener = new TaskCompletionListener();
         invoicesListener.Succes  += InvoicesListener_Succes;
         invoicesListener.Failure += InvoicesListener_Failure;
         _firestoreDb.Collection("Medics").Document(clientLogged.MedicSubscribed.Id).Collection("Clients").Document(clientLogged.Id).Collection("Invoices")
         .Get().AddOnSuccessListener(invoicesListener).AddOnFailureListener(invoicesListener);
     }
     catch (Exception ex)
     {
         Console.WriteLine("Error fetching invoices!", ex.ToString());
     }
 }
        private void GetAllAnimalsAppoints()
        {
            TaskCompletionListener appointsListener = new TaskCompletionListener();

            appointsListener.Succes  += AppointsListener_Succes;
            appointsListener.Failure += AppointsListener_Failure;

            if (_clientLogged != null)
            {
                _firestoreDb.Collection("Medics").Document(_clientLogged.MedicSubscribed.Id).Collection("Appointments")
                .WhereEqualTo("clientId", _clientLogged.Id).WhereGreaterThan("startTime", new Date())
                .Get().AddOnSuccessListener(appointsListener)
                .AddOnFailureListener(appointsListener);
            }
        }
示例#12
0
        // when user deletes the alarm
        private void DeleteAlarmTime(Treatment treatment)
        {
            var db = _userService.GetDatabase(this);
            IDictionary <string, Java.Lang.Object> mapTreatment = new Dictionary <string, Java.Lang.Object>();

            mapTreatment["alarmTime"] = FieldValue.Delete();

            TaskCompletionListener deleteAlarmListener = new TaskCompletionListener();

            deleteAlarmListener.Succes  += DeleteAlarmListener_Succes;
            deleteAlarmListener.Failure += DeleteAlarmListener_Failure;

            db.Collection("Medics").Document(clientLogged.MedicSubscribed.Id).Collection("Clients").Document(clientLogged.Id).Collection("Treatments")
            .Document(treatment.Id).Update(mapTreatment).AddOnSuccessListener(deleteAlarmListener).AddOnFailureListener(deleteAlarmListener);
        }
        private void LoginButton_Click(object sender, EventArgs e)
        {
            string email, password;

            email    = textInputEmail.EditText.Text;
            password = textInputPassword.EditText.Text;

            ShowProgressDialogue();

            TaskCompletionListener taskCompletionListener = new TaskCompletionListener();

            taskCompletionListener.Success += TaskCompletionListener_Success;
            taskCompletionListener.Failure += TaskCompletionListener_Failure;

            mAuth.SignInWithEmailAndPassword(email, password)
            .AddOnSuccessListener(this, taskCompletionListener)
            .AddOnFailureListener(this, taskCompletionListener);
        }
示例#14
0
        private async System.Threading.Tasks.Task CheckIfClientExistsAsync()
        {
            TaskCompletionListener clientExistsListener = new TaskCompletionListener();

            clientExistsListener.Succes  += ClientExistsListener_Succes;
            clientExistsListener.Failure += ClientExistsListener_Failure;
            progress = new ProgressDialog(this);
            progress.Indeterminate = false;
            progress.SetProgressStyle(Android.App.ProgressDialogStyle.Spinner);
            progress.SetMessage("Se efectueaza migrarea..Asteptati...");
            progress.SetCancelable(false);
            progress.Show();
            await System.Threading.Tasks.Task.Delay(5000);

            _firestoreDb.EnableNetwork();
            _firestoreDb.Collection("Medics").Document(medicSelected.Id).Collection("Clients").Document(clientLoggedData.Id).Get()
            .AddOnSuccessListener(clientExistsListener).AddOnFailureListener(clientExistsListener);
        }
示例#15
0
        public async System.Threading.Tasks.Task GetConsultCategory()
        {
            try
            {
                TaskCompletionListener taskCompletionListener = new TaskCompletionListener();
                taskCompletionListener.Succes  += TaskCompletionListener_Succes;;
                taskCompletionListener.Failure += TaskCompletionListener_Failure;
                var clientLogged = await _storageService.GetClientDataLocal();

                // add on success listener
                _firestoreDb.Collection("Medics").Document(clientLogged.MedicSubscribed.Id).Collection("AppointmentTypes").Get()
                .AddOnSuccessListener(taskCompletionListener)
                .AddOnFailureListener(taskCompletionListener);
            }
            catch (System.Exception ex)
            {
                Console.WriteLine("Error fetching medics:", ex.Message);
                Toast.MakeText(this, "Error fetching medics!", ToastLength.Long);
            }
        }