private void btnGuardar_Click(object sender, RoutedEventArgs e) { try { var corralRangoPl = new CorralRangoPL(); List <CorralRangoInfo> lista = dgCorralesRango.Items.Cast <CorralRangoInfo>().ToList(); //Se Eliminan las configuraciones foreach (var corralGrid in _corralesEliminados) { corralGrid.OrganizacionID = _organizacionId; corralGrid.UsuarioModificacionId = Convert.ToInt32(Application.Current.Properties["UsuarioID"]); } corralRangoPl.Guardar(lista, _corralesEliminados); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ConfiguracionCorrales_Guardado, MessageBoxButton.OK, MessageImage.Correct); CargarCorralesConfigurados(); btnGuardar.IsEnabled = false; } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ConfiguracionCorrales_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error); } }
/// <summary> /// Carga el grid de corrales configurados /// </summary> private void CargarCorralesConfigurados() { try { btnGuardar.IsEnabled = false; var corralRangoPl = new CorralRangoPL(); dgCorralesRango.ItemsSource = null; var corralesConfigurados = corralRangoPl.ObtenerCorralesConfiguradosPorOrganizacionID(_organizacionId); _corralesDisponibles = corralesConfigurados ?? new List <CorralRangoInfo>(); dgCorralesRango.ItemsSource = _corralesDisponibles; } catch (ExcepcionGenerica) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ConfigurarCorralesDisponibles_ErrorCorralesDisponibles, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ConfigurarCorralesDisponibles_ErrorCorralesDisponibles, MessageBoxButton.OK, MessageImage.Error); } }
/// <summary> /// Llena el combo de corral /// </summary> private void CargaCboCorral() { try { var corralRangoPl = new CorralRangoPL(); _corrales = corralRangoPl.ObtenerPorOrganizacionID(_organizacionId); if (_corrales.Count > 0) { var corralesAEliminar = new List <CorralRangoInfo>(); foreach (var corral in _corrales) { if (ExisteCorralEnGrid(corral)) { corralesAEliminar.Add(corral); //_corrales.Remove(corral); //break; } } //Se agregan los corrales a eliminar para q no se contemplen if (_corralesEliminados != null && _corralesEliminados.Count > 0) { corralesAEliminar.AddRange(_corralesEliminados); } if (corralesAEliminar.Count > 0) { foreach (var corral in corralesAEliminar) { var listaCorrales = new List <CorralRangoInfo>(); listaCorrales.AddRange(_corrales); foreach (var _corral in listaCorrales.Where(_corral => corral.CorralID == _corral.CorralID)) { _corrales.Remove(_corral); } } } cboCorral.ItemsSource = _corrales; } else { cboCorral.ItemsSource = null; } } catch (ExcepcionGenerica) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ConfigurarCorralesDisponibles_ErrorCorralesDisponibles, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ConfigurarCorralesDisponibles_ErrorCorralesDisponibles, MessageBoxButton.OK, MessageImage.Error); } }
/// <summary> /// Valida si el corral tiene un lote asignado para no permitir su edicion /// </summary> /// <param name="organizacion"></param> /// <param name="corralId"></param> private static Boolean ValidaLoteAsignado(int organizacion, int corralId) { try { var corralRangoPl = new CorralRangoPL(); return(corralRangoPl.ObtenerLoteAsignado(organizacion, corralId)); } catch (ExcepcionGenerica) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ConfigurarCorralesDisponibles_ErrorCorralesDisponibles, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ConfigurarCorralesDisponibles_ErrorCorralesDisponibles, MessageBoxButton.OK, MessageImage.Error); } return(false); }
/// <summary> /// Agrega un corral al Datagrid y a la base de datos /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnAgregar_Click(object sender, RoutedEventArgs e) { try{ if (cboCorral.SelectedItem != null && cboRangoInicial.SelectedItem != null && cboSexo.SelectedItem != null) { var corralRangoPl = new CorralRangoPL(); var sexoGanadoString = ObtieneSexoGanado(cboSexo.SelectedValue, false); var descripcionTipoGanado = cboTipoGanado.SelectedItem.ToString(); var usuarioID = Convert.ToInt32(Application.Current.Properties["UsuarioID"]); //creacion de la entidad var corralRangoInfo = new CorralRangoInfo { OrganizacionID = _organizacionId, Activo = 1, //estado inicial CorralID = ConvierteCorralRangoInfo(cboCorral.SelectedItem).CorralID, Codigo = ConvierteCorralRangoInfo(cboCorral.SelectedItem).Codigo, Sexo = ObtieneSexoGanado(cboSexo.SelectedValue, true), RangoInicial = ConvierteTipoGanadoInfo(cboRangoInicial.SelectedItem).PesoMinimo, RangoFinal = int.Parse(cboRangoFinal.Text.Substring(0, cboRangoFinal.Text.Length - 4)), DescripcionTipoGanado = descripcionTipoGanado, UsuarioCreacionId = usuarioID, UsuarioModificacionId = usuarioID, }; //datos del corral var datosGrid = new CorralRangoInfo { Codigo = corralRangoInfo.Codigo, Sexo = sexoGanadoString, RangoInicial = corralRangoInfo.RangoInicial, RangoFinal = corralRangoInfo.RangoFinal, DescripcionTipoGanado = descripcionTipoGanado }; if (btnAgregar.Content.Equals(Properties.Resources.btnAgregar)) { //Validamos que no tenga lote asignado if (ValidaLoteAsignado(_organizacionId, corralRangoInfo.CorralID)) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ConfigurarCorralesDisponibles_LoteAsignado, MessageBoxButton.OK, MessageImage.Warning); return; } corralRangoInfo.UsuarioCreacionId = usuarioID; //corralRangoInfo.FechaCreacion = DateTime.Now; corralRangoInfo.Accion = AccionConfigurarCorrales.Agregar; corralRangoInfo.Id = dgCorralesRango.Items.Count + 1; _corralesDisponibles.Add(corralRangoInfo); dgCorralesRango.ItemsSource = null; dgCorralesRango.ItemsSource = _corralesDisponibles; //dgCorralesRango.Items.Add(corralRangoInfo); //Agrega el corral a CorralRango //corralRangoPl.Crear(corralRangoInfo); btnGuardar.IsEnabled = true; corralRangoInfo.Modificado = true; btnCancelar.IsEnabled = true; } else { if (btnAgregar.Content.Equals(Properties.Resources.btnActualizar)) { corralRangoInfo.CorralAnteriorID = int.Parse(txtCorralAnteriorID.Text); corralRangoInfo.UsuarioModificacionId = usuarioID; //corralRangoInfo.FechaModificacion = DateTime.Now; corralRangoInfo.Id = corralConfiguradoID; corralRangoInfo.Accion = _accion == AccionConfigurarCorrales.Agregar ? _accion : AccionConfigurarCorrales.Actualizar; corralRangoInfo.Modificado = true; ActualizarRegistroGrid(corralRangoInfo); //corralRangoPl.Actualizar(corralRangoInfo); LimpiarCampos(); btnGuardar.IsEnabled = true; txtRangoInicial.Text = "0"; btnAgregar.Content = Properties.Resources.btnAgregar; } } //TODO: Revisar carga de nuevo del combo de corrales disponibles datosGrid q no se usa CargaCboCorral(); cboRangoInicial.Items.Clear(); cboSexo.SelectedIndex = -1; cboTipoGanado.SelectedIndex = -1; lblKg.Visibility = Visibility.Hidden; //CargarCorralesConfigurados(); } else { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ConfigurarCorralesDisponibles_TodosObligatorios, MessageBoxButton.OK, MessageImage.Stop); } } catch (ExcepcionGenerica exg) { Logger.Error(exg); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ConfigurarCorralesDisponibles_ErrorAgregarActualizar, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ConfigurarCorralesDisponibles_ErrorAgregarActualizar, MessageBoxButton.OK, MessageImage.Error); } }