async void OnEliminarClicked(object sender, EventArgs args)
        {
            var answer = await DisplayAlert("Eliminar Turno", "Esta seguro de eliminar este turno?", "Si", "No");

            if (answer)
            {
                var           btn   = sender as Button;
                Enturnamiento turno = btn.BindingContext as Enturnamiento;
                if (turno != null)
                {
                    EnturnamientoBLL         enturnamientoBLL = new EnturnamientoBLL();
                    List <RespuestaServicio> respuestas       = await enturnamientoBLL.EliminarTurno(turno.IdTurno);

                    if (respuestas != null && respuestas.Count > 0)
                    {
                        if (respuestas[0].Exito)
                        {
                            Navigation.PopAsync();
                        }
                        else
                        {
                            await DisplayAlert("Atención", respuestas[0].Mensaje, "Aceptar");

                            return;
                        }
                    }
                }
            }
        }
        async void OnEditarClicked(object sender, EventArgs args)
        {
            var           btn   = sender as Button;
            Enturnamiento turno = btn.BindingContext as Enturnamiento;

            await Navigation.PushAsync(new DetalleTurnoView(turno));
        }
Exemple #3
0
 public DetalleTurnoView(Enturnamiento turnoSeleccionado)
 {
     _turnoSeleccionado = turnoSeleccionado;
     InitializeComponent();
     if (turnoSeleccionado != null)
     {
         this.BindingContext = turnoSeleccionado;
     }
 }
Exemple #4
0
        protected async override void OnAppearing()
        {
            base.OnAppearing();

            IsBusy = true;
            EnturnamientoBLL enturnamientoBLL = new EnturnamientoBLL();
            AgenciaBLL       agenciaBLL       = new AgenciaBLL();

            agencias = await enturnamientoBLL.ObtenerAgenciasEnturnamiento();

            var pickerPuestos = new ExtendedPicker()
            {
                DisplayProperty = "NombreAgencia"
            };

            pickerPuestos.ItemsSource = agencias.Where(d => d.EsAgencia).ToList();
            puestoExpedicion.Children.Add(pickerPuestos);

            //List<string> destinos = new List<string> { "NACIONAL", "BARRANQUILLA", "BOGOTÁ", "BUENAVENTURA", "CALI", "CARTAGENA", "MEDELLÍN" };
            var pickerDestinos = new ExtendedPicker()
            {
                DisplayProperty = "NombreAgencia"
            };

            pickerDestinos.ItemsSource = agencias.Where(d => d.EsDestino).ToList();
            destino.Children.Add(pickerDestinos);

            List <string> tipoTRailer = new List <string>()
            {
                "Carroceria", "Plancha", "Ambos"
            };

            rbTipoTRailer.ItemsSource = tipoTRailer;
            Util util = new Util();

            if (!util.UsuarioTienePermiso("enturnarplacasilimitadas"))
            {
                txtCedulaConductor.IsVisible = false;

                var pickerConductores = new ExtendedPicker()
                {
                    DisplayProperty = "Nombre"
                };
                List <Proveedor> listaConductores = await enturnamientoBLL.ObtenerConductoresTurnosPorUsuario();

                pickerConductores.ItemsSource           = listaConductores;
                pickerConductores.SelectedIndexChanged += (sender, args) =>
                {
                    string    conductor             = pickerConductores.Items[pickerConductores.SelectedIndex].ToString();
                    Proveedor conductorSeleccionado = (from p in listaConductores
                                                       where p.Nombre == conductor
                                                       select p).FirstOrDefault();
                    if (conductorSeleccionado != null)
                    {
                        _turnoSeleccionado.NombreConductor    = conductorSeleccionado.Nombre;
                        _turnoSeleccionado.NumeroDocConductor = conductorSeleccionado.NumIdentificacionFiscal;
                    }
                };
                if (_turnoSeleccionado != null)
                {
                    //Se está modificando un turno

                    if (!String.IsNullOrEmpty(_turnoSeleccionado.NumeroDocConductor))
                    {
                        var conductorActual = listaConductores.FirstOrDefault(c => c.NumIdentificacionFiscal.TrimStart('0') == _turnoSeleccionado.NumeroDocConductor.TrimStart('0'));
                        if (conductorActual != null)
                        {
                            pickerConductores.SelectedIndex = pickerConductores.Items.IndexOf(conductorActual.Nombre);
                        }
                    }
                }
                layoutConductor.Children.Add(pickerConductores);
            }
            else
            {
                txtCedulaConductor.IsVisible = false;


                List <Proveedor> proveedores             = new List <Proveedor>();
                List <string>    nombreConductores       = new List <string>();
                AutoCompleteView autocompleteConductores = new AutoCompleteView();
                autocompleteConductores.ShowSearchButton = false;

                autocompleteConductores.TextChanged += async(sender, args) =>
                {
                    if (String.IsNullOrEmpty(autocompleteConductores.Text))
                    {
                        autocompleteConductores.Suggestions = new List <string>();
                    }
                    else if (autocompleteConductores.Text.Length >= 4)
                    {
                        IsBusy      = true;
                        proveedores = await enturnamientoBLL.ObtenerConductoresPorNombre(autocompleteConductores.Text);

                        IsBusy            = false;
                        nombreConductores = (from p in proveedores
                                             select p.Nombre).DefaultIfEmpty().ToList();
                        autocompleteConductores.Suggestions = nombreConductores;
                    }
                };

                autocompleteConductores.SelectedItemChanged += (sender, args) =>
                {
                    Proveedor conductorSeleccionado = (from p in proveedores
                                                       where p.Nombre == autocompleteConductores.Text
                                                       select p).FirstOrDefault();
                    if (conductorSeleccionado != null)
                    {
                        txtCedulaConductor.Text               = conductorSeleccionado.NumIdentificacionFiscal;
                        _turnoSeleccionado.NombreConductor    = conductorSeleccionado.Nombre;
                        _turnoSeleccionado.NumeroDocConductor = conductorSeleccionado.NumIdentificacionFiscal;
                    }
                };
                layoutConductor.Children.Add(autocompleteConductores);
            }
            if (_turnoSeleccionado != null)
            {
                //Si están modificando un turno
                var codigoPuestoExpedicion = _turnoSeleccionado.PuestoExpedicion;
                var PuestoExpedicion       = (from a in agencias
                                              where a.CodigoAgencia == _turnoSeleccionado.PuestoExpedicion
                                              select a).FirstOrDefault();

                if (PuestoExpedicion != null)
                {
                    pickerPuestos.SelectedIndex = pickerPuestos.Items.IndexOf(PuestoExpedicion.NombreAgencia);
                    pickerPuestos.IsEnabled     = false;
                }

                txtPlacaCabezote.Text   = _turnoSeleccionado.PlacaCabezote;
                txtPlacaTrailer.Text    = _turnoSeleccionado.PlacaTrailer;
                lblTipoTrailer.Text     = _turnoSeleccionado.TipoTrailer;
                txtCedulaConductor.Text = _turnoSeleccionado.NumeroDocConductor;

                if (_turnoSeleccionado.PlacaCabezote.Length > 0)
                {
                    txtPlacaCabezote.IsEnabled = false;
                }

                if (String.IsNullOrEmpty(_turnoSeleccionado.Destino))
                {
                    pickerDestinos.SelectedIndex = pickerDestinos.Items.IndexOf("Nacional");
                }
                else
                {
                    pickerDestinos.SelectedIndex = pickerDestinos.Items.IndexOf(_turnoSeleccionado.Destino);
                }

                if (_turnoSeleccionado.CodigoTipoTrailer == "13")
                {
                    rbTipoTRailer.IsVisible = true;
                }
            }
            else
            {
                //Si se está creando un turno
                _turnoSeleccionado = new Enturnamiento();


                cbDisponible.IsVisible = false;

                if (!util.UsuarioTienePermiso("enturnarplacasilimitadas"))
                {
                    txtPlacaCabezote.IsVisible = false;



                    List <Vehiculo> vehiculos = new List <Vehiculo>();
                    vehiculos = await enturnamientoBLL.ObtenerCabezotesTurnosPorUsuarioActual();

                    var pickerPlaca = new ExtendedPicker()
                    {
                        DisplayProperty = "Placa"
                    };
                    pickerPlaca.ItemsSource = vehiculos;
                    placaCabezote.Children.Add(pickerPlaca);
                    pickerPlaca.SelectedIndexChanged += (sender, args) =>
                    {
                        string placa = pickerPlaca.Items[pickerPlaca.SelectedIndex].ToString();
                        if (!string.IsNullOrEmpty(placa))
                        {
                            _turnoSeleccionado.PlacaCabezote = placa;
                        }
                    };
                }
            }

            //Se agregan los botones de guardar y cancelar
            Button btnGuardar = new Button();

            btnGuardar.Text     = "Guardar";
            btnGuardar.Clicked += Btn_Clicked;
            layoutBotones.Children.Add(btnGuardar);

            Button btn = new Button();

            btn.Text     = "Cancelar";
            btn.Clicked += Btn_Clicked;
            layoutBotones.Children.Add(btn);

            pickerPuestos.SelectedIndexChanged += (sender, args) =>
            {
                string  puesto             = pickerPuestos.Items[pickerPuestos.SelectedIndex].ToString();
                Agencia puestoSeleccionado = (from a in agencias
                                              where a.NombreAgencia == puesto
                                              select a).FirstOrDefault();
                if (puestoSeleccionado != null)
                {
                    _turnoSeleccionado.PuestoExpedicion = puestoSeleccionado.CodigoAgencia;
                }
            };
            pickerDestinos.SelectedIndexChanged += (sender, args) =>
            {
                string destino = pickerDestinos.Items[pickerDestinos.SelectedIndex].ToString();
                if (destino != "NACIONAL")
                {
                    destino = util.RemoveAccentsWithRegEx(destino);
                    _turnoSeleccionado.Destino = destino.ToUpper();
                }
                else
                {
                    _turnoSeleccionado.Destino = "";
                }
            };
            IsBusy = false;
        }