示例#1
0
        private async void Delete()
        {
            var answer = await Application.Current.MainPage.DisplayAlert(
                Languages.Confirm,
                Languages.DeleteConfirmation,
                Languages.Yes,
                Languages.No);

            if (!answer)
            {
                return;
            }
            this.IsRunning = true;
            this.IsEnabled = false;

            var connection = await this.apiService.CheckConnection();

            if (!connection.IsSuccess)
            {
                this.IsRunning = false;
                this.IsEnabled = true;
                await Application.Current.MainPage.DisplayAlert(Languages.Error, connection.Message, Languages.Accept);

                return;
            }
            var url                = Application.Current.Resources["UrlAPI"].ToString();
            var prefix             = Application.Current.Resources["UrlPrefix"].ToString();
            var patientsController = Application.Current.Resources["UrlPatientsController"].ToString();
            var response           = await this.apiService.Delete(url, prefix, patientsController, this.Patient.PatientId);

            if (!response.IsSuccess)
            {
                await Application.Current.MainPage.DisplayAlert(Languages.Error, response.Message, Languages.Accept);

                return;
            }
            var patientsViewModel = PatientsViewModel.GetInstastance();
            var deletePatient     = patientsViewModel.MyPatients.Where(p => p.PatientId == this.Patient.PatientId).FirstOrDefault();

            if (deletePatient != null)
            {
                patientsViewModel.MyPatients.Remove(deletePatient);
            }
            patientsViewModel.RefreshList();
            this.IsRunning = false;
            this.IsEnabled = true;
            await Application.Current.MainPage.Navigation.PopToRootAsync();
        }
示例#2
0
        private async void Save()
        {
            if (string.IsNullOrEmpty(this.FirstName))
            {
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    Languages.FirtsNameError,
                    Languages.Accept);

                return;
            }
            if (string.IsNullOrEmpty(this.LastName))
            {
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    Languages.LastNameError,
                    Languages.Accept);

                return;
            }
            if (string.IsNullOrEmpty(this.Address))
            {
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    Languages.AddressError,
                    Languages.Accept);

                return;
            }
            if (string.IsNullOrEmpty(this.Phone))
            {
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    Languages.PhoneError,
                    Languages.Accept);

                return;
            }
            if (string.IsNullOrEmpty(this.TreatmentDescription))
            {
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    Languages.TreatmentDescriptionError,
                    Languages.Accept);

                return;
            }
            this.IsRunning = true;
            this.IsEnabled = false;
            var connection = await this.apiService.CheckConnection();

            if (!connection.IsSuccess)
            {
                this.IsRunning = false;
                this.IsEnabled = true;
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    connection.Message,
                    Languages.Accept);

                return;
            }

            byte[] imageArray = null;
            if (this.file != null)
            {
                imageArray = FilesHelper.ReadFully(this.file.GetStream());
            }

            var patient = new Patient
            {
                FirstName            = this.FirstName,
                LastName             = this.LastName,
                Address              = this.Address,
                Phone                = this.Phone,
                PatientSince         = this.PatientSince,
                HasAllergies         = this.HasAllergies,
                TreatmentDescription = this.TreatmentDescription,
                ImageArray           = imageArray,
            };

            var url        = Application.Current.Resources["UrlAPI"].ToString();
            var prefix     = Application.Current.Resources["UrlPrefix"].ToString();
            var Controller = Application.Current.Resources["UrlPatientsController"].ToString();
            var response   = await this.apiService.Post(url, prefix, Controller, patient);

            if (!response.IsSuccess)
            {
                this.IsRunning = false;
                this.IsEnabled = true;
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    response.Message,
                    Languages.Accept);

                return;
            }

            var newPatient       = (Patient)response.Result;
            var patientViewModel = PatientsViewModel.GetInstastance();

            patientViewModel.MyPatients.Add(newPatient);
            patientViewModel.RefreshList();



            this.IsRunning = false;
            this.IsEnabled = true;
            await Application.Current.MainPage.Navigation.PopAsync();
        }
示例#3
0
        private async void Save()
        {
            if (string.IsNullOrEmpty(this.patient.FirstName))
            {
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    Languages.FirtsNameError,
                    Languages.Accept);

                return;
            }
            if (string.IsNullOrEmpty(this.patient.LastName))
            {
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    Languages.LastNameError,
                    Languages.Accept);

                return;
            }
            if (string.IsNullOrEmpty(this.patient.Address))
            {
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    Languages.AddressError,
                    Languages.Accept);

                return;
            }
            if (string.IsNullOrEmpty(this.patient.Phone))
            {
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    Languages.PhoneError,
                    Languages.Accept);

                return;
            }
            if (string.IsNullOrEmpty(this.patient.TreatmentDescription))
            {
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    Languages.TreatmentDescriptionError,
                    Languages.Accept);

                return;
            }
            this.IsRunning = true;
            this.IsEnabled = false;
            var connection = await this.apiService.CheckConnection();

            if (!connection.IsSuccess)
            {
                this.IsRunning = false;
                this.IsEnabled = true;
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    connection.Message,
                    Languages.Accept);

                return;
            }

            byte[] imageArray = null;
            if (this.file != null)
            {
                imageArray = FilesHelper.ReadFully(this.file.GetStream());
                this.Patient.ImageArray = imageArray;
            }


            this.Patient.PatientSince = this.Patient.PatientSince.AddHours(Convert.ToDouble(PatientSinceH.Hours));
            this.Patient.PatientSince = this.Patient.PatientSince.AddMinutes(Convert.ToDouble(PatientSinceH.Minutes));



            var url                = Application.Current.Resources["UrlAPI"].ToString();
            var prefix             = Application.Current.Resources["UrlPrefix"].ToString();
            var patientsController = Application.Current.Resources["UrlPatientsController"].ToString();
            var response           = await this.apiService.Put(url, prefix, patientsController, this.Patient, this.Patient.PatientId);

            if (!response.IsSuccess)
            {
                this.IsRunning = false;
                this.IsEnabled = true;
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    response.Message,
                    Languages.Accept);

                return;
            }

            var newPatient       = (Patient)response.Result;
            var patientViewModel = PatientsViewModel.GetInstastance();
            var oldPatient       = patientViewModel.MyPatients.Where(p => p.PatientId == this.Patient.PatientId).FirstOrDefault();

            if (oldPatient != null)
            {
                patientViewModel.MyPatients.Remove(oldPatient);
            }

            patientViewModel.MyPatients.Add(newPatient);
            patientViewModel.RefreshList();



            this.IsRunning = false;
            this.IsEnabled = true;
            await Application.Current.MainPage.Navigation.PopAsync();
        }