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(); }
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(); }
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(); }