/// <summary> /// Al cambiar el corral seleccionado se cargan los costos activos del lote al que pertenece el corral seleccionado /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void CbCorrales_OnSelectionChanged(object sender, SelectionChangedEventArgs e) { //carga cabezas,lote if (cbCorrales.SelectedIndex <= 0) { dgCostos.ItemsSource = null; InicializaContexto(); txtLote.Clear(); txtImporte.Clear(); txtTotalCabezas.Clear(); txtPesoPromedio.Clear(); return; } foreach (CorralesPorOrganizacionInfo corral in corrales) { //al encontrar el corral: if (corral.CorralID == (int)cbCorrales.SelectedValue) { if (corral.Activo == EstatusEnum.Inactivo) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.SalidaGanadoTransito_MsgCorralLoteNoActivo, MessageBoxButton.OK, MessageImage.Warning); Contexto.Costos = new List <CostoCorralInfo>(); dgCostos.ItemsSource = null; Contexto.LoteID = 0; txtTotalCabezas.Clear(); txtLote.Clear(); txtPesoPromedio.Clear(); BloquearPantalla(); } else { if (cbCorrales.SelectedIndex == 0)//si no se selecciono un corral { txtLote.Clear(); txtTotalCabezas.Clear(); txtPesoPromedio.Clear(); Contexto.LoteID = 0; dgCostos.ItemsSource = null; } else//si se selecciono un corral: { txtLote.Text = corral.LoteID.ToString(CultureInfo.InvariantCulture); Contexto.LoteID = corral.LoteID; txtTotalCabezas.Text = corral.Cabezas.ToString(CultureInfo.InvariantCulture); txtPesoPromedio.Text = corral.PesoPromedio.ToString(CultureInfo.InvariantCulture); DesbloquearPantalla(); Contexto.EntradaGanadoTransitoID = corral.EntradaGanadoTransitoID; var costosTemp = CorralBL.ObtenerCostosCorralActivos(corral.EntradaGanadoTransitoID); if (costosTemp == null) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.SalidaGanadoTransito_MsgCostosCorralNoEncontrados, MessageBoxButton.OK, MessageImage.Warning); Contexto.Costos = new List <CostoCorralInfo>(); dgCostos.ItemsSource = null; BloquearPantalla(); } else if (costosTemp.Count == 0) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.SalidaGanadoTransito_MsgCostosCorralNoEncontrados, MessageBoxButton.OK, MessageImage.Warning); Contexto.Costos = new List <CostoCorralInfo>(); dgCostos.ItemsSource = null; BloquearPantalla(); } else { Contexto.Costos = null; Contexto.Costos = costosTemp; } } if (dgCostos.Items.Count > 0)//si se hallaron costos se desbloquea la pantalla { DesbloquearPantalla(); } } break; } } if (Contexto.Costos != null && Contexto.Costos.Count > 0) { dgCostos.ItemsSource = null; dgCostos.ItemsSource = Contexto.Costos; } }