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)); }
public DetalleTurnoView(Enturnamiento turnoSeleccionado) { _turnoSeleccionado = turnoSeleccionado; InitializeComponent(); if (turnoSeleccionado != null) { this.BindingContext = turnoSeleccionado; } }
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; }