Exemplo n.º 1
0
        private async void LoadIntermedio()
        {
            this.IsEnable = false;

            if (Viajespick == null)
            {
                await App.Current.MainPage.DisplayAlert("Error", "debes selecionar un viaje", "Aceptar");

                return;
            }

            var Load = new ViajesModel
            {
                id = this.Viajes.id,
            };

            var url        = Application.Current.Resources["UrlAPI"].ToString();
            var prefix     = Application.Current.Resources["UrlPrefix"].ToString();
            var controller = Application.Current.Resources["UrlIntermedios"].ToString();
            var response   = await this.apiService.Post <ViajesModel>(url, prefix, controller, Load);

            if (!response.IsSuccess)
            {
                await App.Current.MainPage.DisplayAlert("Error", "Esta ruta no posee intermedios, comuniquese con el administrador", "Aceptar");

                return;
            }

            this.MyIntermedios = (List <ViajesModel>)response.Result;

            viajesModel.DeleteMember(this.Viajes.id);

            var consul = viajesModel.GetOneMembers(this.Viajes.id);

            this.LlenarUbicaciones(Load.id);
            this.LlenarUsuariosViaje(Load.id);

            if (MyIntermedios != null)
            {
                intermediosModel.DeleteTable();
            }

            // se agrega el viaje que tambien se convierte en un intermedio
            foreach (var item in consul)
            {
                intermedios.id        = item.id;
                intermedios.idOrigen  = item.idOrigen;
                intermedios.idDestino = item.idDestino;
                intermedios.origen    = item.origen;
                intermedios.destino   = item.destino;
                intermedios.valor     = item.valor;
                intermediosModel.AddMember(intermedios);
            }


            foreach (var item in MyIntermedios)
            {
                //Agregar a la tabla de los intermedios
                intermedios.id        = item.id;
                intermedios.idOrigen  = item.idOrigen;
                intermedios.idDestino = item.idDestino;
                intermedios.origen    = item.origen;
                intermedios.destino   = item.destino;
                intermedios.valor     = item.valor;
                intermediosModel.AddMember(intermedios);
            }

            MainViewModel.GetInstance().Tickets = new TicketsViewModel();
            await Application.Current.MainPage.Navigation.PushAsync(new TicketsPage());

            this.IsEnable = true;
        }