コード例 #1
0
        public async Task GetMedicalHomeService()
        {
            dialogService.ShowProgress();
            loginViewModel = ServiceLocator.Current.GetInstance <ILoginViewModel>();
            RequestExistsMedicalHomeService request = new RequestExistsMedicalHomeService
            {
                Document     = loginViewModel.User.Document,
                DocumentType = loginViewModel.User.DocumentType,
                IdReference  = loginViewModel.User.IdReference
            };
            ResponseExistsMedicalHomeService response = await apiService.GetExistsMedicalHomeService(request);

            if (response.ExistsMedicalHomeServiceResponse != null && response.ExistsMedicalHomeServiceResponse.CurrentService && response.ExistsMedicalHomeServiceResponse.ServiceTypeDescription.Equals("Atención médica domiciliaria"))
            {
                InProgress             = response.ExistsMedicalHomeServiceResponse.CurrentService;
                DescriptionState       = response.ExistsMedicalHomeServiceResponse.DescriptionState;
                MessageHomeMedicalCare = $"Tiene un servicio {ServiceTypeDescription} en curso {DescriptionState}";
                ServiceTypeDescription = response.ExistsMedicalHomeServiceResponse.ServiceTypeDescription;
                UserName = response.ExistsMedicalHomeServiceResponse.UserName;
            }
            else
            {
                InProgress = false;
            }
            dialogService.HideProgress();
        }
コード例 #2
0
        //private async Task<bool> ValidatePediatricServices()
        //{
        //    try
        //    {
        //        dialogService.ShowProgress();
        //        var request = new Request
        //        {
        //            Controller = "Services",
        //            Action = "ValidatePediatricServices",
        //            Document = servicesPageViewModel.PersonSelected.Document,
        //            DocumentType = servicesPageViewModel.PersonSelected.DocumentType
        //        };
        //        var response = await apiService.ValidatePediatricServices(request);
        //        dialogService.HideProgress();
        //        if (response.Success)
        //        {
        //            if (response.ValidatePediatricServicesResponse.StatusRequest)
        //            {
        //                return true;
        //            }
        //            else
        //            {
        //                if (await dialogService.ShowConfirm("", response.ValidatePediatricServicesResponse.Response))
        //                {
        //                    await navigationService.Navigate(AppPages.ScheduledServicesPage);
        //                }
        //                return false;
        //            }
        //        }
        //        else
        //        {
        //            await dialogService.ShowMessage(response.Title, response.Message);
        //            return false;
        //        }

        //    }
        //    catch (Exception e)
        //    {
        //        dialogService.HideProgress();
        //        ServiceLocator.Current.GetInstance<IExceptionService>().RegisterException(e);
        //        return false;
        //    }
        //}

        public async void GetExistsMedicalHomeService()
        {
            servicesPageViewModel.ServiceSelected  = this;
            servicesPageViewModel.DynamicTitlePage = this.Name;

            if (servicesPageViewModel.UserYoung.resultUserYoung && this.ServiceType == ServiceType.MedicalOrientationChat)
            {
                servicesPageViewModel.DynamicTitlePage = "Chat de Orientación Médica Pediátrica";
            }


            //if (ServiceType == ServiceType.SchedulePediatricVideoCall || ServiceType == ServiceType.PediatricVideoCall)
            //{
            //    if (!await ValidatePediatricServices())
            //        return;
            //}

            //if (ServiceType == ServiceType.SchedulePediatricVideoCall)
            //{
            //    IServicesPageViewModel servicesPage = ServiceLocator.Current.GetInstance<IServicesPageViewModel>();
            //    servicesPage.LoadAgendas();
            //    return;
            //}

            if (ServiceType == ServiceType.HomeCare && servicesPageViewModel.AddressSelected.Coverage == false)
            {
                await dialogService.ShowMessage(Name, AppResources.AddressOutsideTheCoverageArea);

                return;
            }

            //if (ServiceType == ServiceType.Pediatric)
            //{

            //    await navigationService.Navigate(AppPages.PediatricPage);
            //    return;
            //}

            dialogService.ShowProgress();
            RequestExistsMedicalHomeService request = new RequestExistsMedicalHomeService
            {
                Document     = servicesPageViewModel.PersonSelected.Document,
                DocumentType = servicesPageViewModel.PersonSelected.DocumentType,
                IdReference  = servicesPageViewModel.PersonSelected.IdReference,
            };

            ResponseExistsMedicalHomeService response = await apiService.GetExistsMedicalHomeService(request);

            dialogService.HideProgress();

            if (response.ExistsMedicalHomeServiceResponse.CurrentService && Code == "01")
            {
                if (await dialogService.ShowConfirm("", $"Actualmente hay un servicio de:\n{response.ExistsMedicalHomeServiceResponse.ServiceTypeDescription} en curso para {servicesPageViewModel.PersonSelected.FullNames}\n¿Deseas conocer su estado?"))
                {
                    await navigationService.Navigate(AppPages.ScheduledServicesPage);
                }
                return;
            }

            RequestService();
        }