/// <summary>
        /// Evento onChange
        /// 1.-limpia los campos que se llenan de manera dinamica como:
        ///    Rango Inicial, Rango Final y Tipo de Ganado
        /// 2.-Pregunta si selecciono una opcion de la lista del combo de sexo de ganado
        ///    y regresa una lista para llenar el combo de rango inicial en base al sexo seleccionado
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void cboSexo_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            try{
                LimpiarCampos();
                if (cboSexo.SelectedItem == null)
                {
                    return;
                }
                var tipoGanadoPl    = new TipoGanadoPL();
                var sexoGanado      = ObtieneSexoGanado(cboSexo.SelectedItem, true);
                var rangosIniciales = tipoGanadoPl.ObtenerPorSexo(sexoGanado);
                if (rangosIniciales.Count <= 0)
                {
                    return;
                }
                var rangoInicialHidden = int.Parse(txtRangoInicial.Text);
                var index = -1;
                var i     = 0;

                foreach (var tipoGanadoInfo in rangosIniciales)
                {
                    var rangoInicialKg = String.Format("{0}{1}", tipoGanadoInfo.PesoMinimo, " Kg");
                    tipoGanadoInfo.PesoMinimoString = rangoInicialKg;
                    cboRangoInicial.Items.Add(tipoGanadoInfo);
                    if (rangoInicialHidden > 0 && tipoGanadoInfo.PesoMinimo == rangoInicialHidden)
                    {
                        index = i;
                    }
                    i++;
                }

                if (rangoInicialHidden > 0)
                {
                    if (bandEditar)
                    {
                        cboRangoInicial.SelectedIndex = index;
                    }
                    else
                    {
                        cboRangoInicial.SelectedIndex = -1;
                    }
                }
                bandEditar = false;
            }
            catch (ExcepcionGenerica)
            {
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                  Properties.Resources.ConfigurarCorralesDisponibles_ErrorRangoInicial,
                                  MessageBoxButton.OK,
                                  MessageImage.Error);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                  Properties.Resources.ConfigurarCorralesDisponibles_ErrorRangoInicial,
                                  MessageBoxButton.OK,
                                  MessageImage.Error);
            }
        }
Exemple #2
0
        /// <summary>
        /// Método para guardar los valores del contexto
        /// </summary>
        private void Guardar()
        {
            bool guardar = ValidaGuardar();

            if (guardar)
            {
                try
                {
                    var tipoGanadoPL = new TipoGanadoPL();
                    tipoGanadoPL.Guardar(Contexto);
                    SkMessageBox.Show(this, Properties.Resources.GuardadoConExito, MessageBoxButton.OK, MessageImage.Correct);
                    if (Contexto.TipoGanadoID != 0)
                    {
                        confirmaSalir = false;
                        Close();
                    }
                    else
                    {
                        InicializaContexto();
                        txtDescripcion.Focus();
                    }
                }
                catch (ExcepcionGenerica)
                {
                    SkMessageBox.Show(this, Properties.Resources.TipoGanado_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error);
                }
                catch (Exception ex)
                {
                    Logger.Error(ex);
                    SkMessageBox.Show(this, Properties.Resources.TipoGanado_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error);
                }
            }
        }
Exemple #3
0
        public void ObtenerTipoGanadoPorId()
        {
            var            tipoGanadoPL = new TipoGanadoPL();
            TipoGanadoInfo tipoGanado   = tipoGanadoPL.ObtenerPorID(1);

            Assert.IsNotNull(tipoGanado);
            Assert.IsTrue(tipoGanado.Descripcion.Length > 0);
        }
Exemple #4
0
        /// <summary>
        /// Carga los Tipos de Ganado
        /// </summary>
        private void CargaTiposGanado()
        {
            var tipoGanadoPL = new TipoGanadoPL();
            var tipoGanado   = new TipoGanadoInfo
            {
                TipoGanadoID = 0,
                Descripcion  = Properties.Resources.cbo_Seleccione,
            };
            IList <TipoGanadoInfo> listaTiposGanado = tipoGanadoPL.ObtenerTodos(EstatusEnum.Activo);

            listaTiposGanado.Insert(0, tipoGanado);
            cmbTipoGanado.ItemsSource = listaTiposGanado;
        }
Exemple #5
0
        private void ObtenerTipoGanado()
        {
            var tipoGanadoPl = new TipoGanadoPL();
            IList <TipoGanadoInfo> tipoGanado = tipoGanadoPl.ObtenerTodos();

            if (tipoGanado == null)
            {
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                  Properties.Resources.TraspasoGanadoGordo_MensajeNoSeEncontroTipoDeGanado,
                                  MessageBoxButton.OK, MessageImage.Warning);
            }
            CboTipoGanado.ItemsSource = tipoGanado;
        }
        public static ResultadoInfo <CorralInfo> ExisteCorraletaDeSacrificioConfigurada(string arete)
        {
            ResultadoInfo <CorralInfo> corraletas = null;

            try
            {
                var animalPL     = new AnimalPL();
                var tipoGanadoPL = new TipoGanadoPL();
                var parametroOrg = new ParametroOrganizacionPL();
                var corralPL     = new CorralPL();

                var seguridad      = (SeguridadInfo)HttpContext.Current.Session["Seguridad"];
                int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID;

                // Se obtiene el animal
                var animal = animalPL.ObtenerAnimalPorArete(arete, organizacionId);

                if (animal != null)
                {
                    // Obtener el tipo de ganado
                    animal.TipoGanado = tipoGanadoPL.ObtenerPorID(animal.TipoGanadoID);
                    // Se obtiene el tipo de corraletaSacrificio a Buscar
                    var paramTipoCorraletaSacrificio = animal.TipoGanado.Sexo == Sexo.Macho ?
                                                       ParametrosEnum.CorraletaSacrificioMacho : ParametrosEnum.CorraletaSacrificioHembra;
                    var parametroOrganizacionInfo =
                        parametroOrg.ObtenerPorOrganizacionIDClaveParametro(organizacionId, paramTipoCorraletaSacrificio.ToString());
                    // Si se tiene configurado el parametro
                    if (parametroOrganizacionInfo != null)
                    {
                        //Obtener info de las corraletas configuradas
                        corraletas =
                            corralPL.ObtenerInformacionCorraletasDisponiblesSacrificio(organizacionId, parametroOrganizacionInfo.Valor);
                        if (corraletas != null && corraletas.Lista.Count > 0)
                        {
                            var corral = new CorralInfo {
                                Codigo = "Seleccione", CorralID = 0
                            };
                            corraletas.Lista.Insert(0, corral);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(corraletas);
        }
        /// <summary>
        /// Evento onChange
        /// 1.-Prregunta si selecciona alguna opcion de combo rango inicial
        ///    y regresa un objeto de tipo CorralRangoInfo, para mostrar el rango final y el tipo de ganado
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void cboRangoInicial_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            try
            {
                if (cboRangoInicial.SelectedItem == null)
                {
                    return;
                }
                var tipoGanadoPl  = new TipoGanadoPL();
                var objTipoGanado = ConvierteTipoGanadoInfo(cboRangoInicial.SelectedItem);
                if (objTipoGanado.PesoMinimo <= 0)
                {
                    return;
                }
                var sexoGanado     = ObtieneSexoGanado(cboSexo.SelectedItem, true);
                var tipoGanadoInfo = tipoGanadoPl.ObtenerPorSexoRangoInicial(sexoGanado, objTipoGanado.PesoMinimo);
                if (tipoGanadoInfo == null)
                {
                    return;
                }
                cboTipoGanado.ItemsSource = null;

                cboRangoFinal.Text = string.Format("{0}{1}", tipoGanadoInfo.PesoMaximo, " Kg.");

                lblKg.Visibility = Visibility.Visible;
                cboTipoGanado.Items.Add(tipoGanadoInfo.Descripcion);
                cboTipoGanado.SelectedItem = tipoGanadoInfo.Descripcion;
            }
            catch (ExcepcionGenerica)
            {
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                  Properties.Resources.ConfigurarCorralesDisponibles_ErrorRangoFinalTipoGanado,
                                  MessageBoxButton.OK,
                                  MessageImage.Error);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                  Properties.Resources.ConfigurarCorralesDisponibles_ErrorRangoFinalTipoGanado,
                                  MessageBoxButton.OK,
                                  MessageImage.Error);
            }
        }
Exemple #8
0
        /// <summary>
        /// Carga los Tipos de Ganado
        /// </summary>
        private void CargaTiposGanado()
        {
            try
            {
                var tipoGanadoPL = new TipoGanadoPL();
                IList <TipoGanadoInfo> tipoGanado = tipoGanadoPL.ObtenerTodos(EstatusEnum.Activo)
                                                    ?? new List <TipoGanadoInfo>();

                tipoGanado.Insert(0, new TipoGanadoInfo {
                    TipoGanadoID = 0, Descripcion = Properties.Resources.Seleccione_Todos
                });
                cmbTipoGanado.ItemsSource = tipoGanado;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
 /// <summary>
 /// Obtiene la lista para mostrar en el grid
 /// </summary>
 private void ObtenerListaTipoGanado(int inicio, int limite)
 {
     try
     {
         if (ucPaginacion.ContextoAnterior != null)
         {
             bool contextosIguales = ucPaginacion.CompararObjetos(Contexto, ucPaginacion.ContextoAnterior);
             if (!contextosIguales)
             {
                 ucPaginacion.Inicio = 1;
                 inicio = 1;
             }
         }
         var            tipoGanadoPL = new TipoGanadoPL();
         TipoGanadoInfo filtros      = ObtenerFiltros();
         var            pagina       = new PaginacionInfo {
             Inicio = inicio, Limite = limite
         };
         ResultadoInfo <TipoGanadoInfo> resultadoInfo = tipoGanadoPL.ObtenerPorPagina(pagina, filtros);
         if (resultadoInfo != null && resultadoInfo.Lista != null &&
             resultadoInfo.Lista.Count > 0)
         {
             gridDatos.ItemsSource       = resultadoInfo.Lista;
             ucPaginacion.TotalRegistros = resultadoInfo.TotalRegistros;
         }
         else
         {
             ucPaginacion.TotalRegistros = 0;
             gridDatos.ItemsSource       = new List <TipoGanado>();
         }
     }
     catch (ExcepcionGenerica)
     {
         SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TipoGanado_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TipoGanado_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error);
     }
 }
Exemple #10
0
        /// <summary>
        /// Metodo que valida los datos para guardar
        /// </summary>
        /// <returns></returns>
        private bool ValidaGuardar()
        {
            bool   resultado = true;
            string mensaje   = string.Empty;

            try
            {
                if (string.IsNullOrWhiteSpace(txtDescripcion.Text) || txtDescripcion.Text == "0")
                {
                    resultado = false;
                    mensaje   = Properties.Resources.TipoGanadoEdicion_MsgDescripcionRequerida;
                    txtDescripcion.Focus();
                }
                else if (cmbSexo.SelectedItem == null)
                {
                    resultado = false;
                    mensaje   = Properties.Resources.TipoGanadoEdicion_MsgSexoRequerida;
                    cmbSexo.Focus();
                }
                else if (string.IsNullOrWhiteSpace(txtPesoMinimo.Text) || txtPesoMinimo.Text == "0")
                {
                    resultado = false;
                    mensaje   = Properties.Resources.TipoGanadoEdicion_MsgPesoMinimoRequerida;
                    txtPesoMinimo.Focus();
                }
                else if (string.IsNullOrWhiteSpace(txtPesoMaximo.Text) || txtPesoMaximo.Text == "0")
                {
                    resultado = false;
                    mensaje   = Properties.Resources.TipoGanadoEdicion_MsgPesoMaximoRequerida;
                    txtPesoMaximo.Focus();
                }
                else if (!iudPesoSalida.Value.HasValue || iudPesoSalida.Value.Value == 0)
                {
                    resultado = false;
                    mensaje   = Properties.Resources.TipoGanadoEdicion_MsgPesoSalidaRequerida;
                    iudPesoSalida.Focus();
                }
                else if (Contexto.PesoMaximo < Contexto.PesoMinimo)
                {
                    resultado = false;
                    mensaje   = Properties.Resources.TipoGanadoEdicion_MsgPesoMaximoMenorPesoMinimoRequerida;
                    txtPesoMaximo.Focus();
                }
                else if (cmbActivo.SelectedItem == null)
                {
                    resultado = false;
                    mensaje   = Properties.Resources.TipoGanadoEdicion_MsgActivoRequerida;
                    cmbActivo.Focus();
                }
                else
                {
                    int    tipoGanadoId = Extensor.ValorEntero(txtTipoGanadoID.Text);
                    string descripcion  = txtDescripcion.Text.Trim();

                    var            tipoGanadoPL = new TipoGanadoPL();
                    TipoGanadoInfo tipoGanado   = tipoGanadoPL.ObtenerPorDescripcion(descripcion);

                    if (tipoGanado != null && (tipoGanadoId == 0 || tipoGanadoId != tipoGanado.TipoGanadoID))
                    {
                        resultado = false;
                        mensaje   = string.Format(Properties.Resources.TipoGanadoEdicion_MsgDescripcionExistente, tipoGanado.TipoGanadoID);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }

            if (!string.IsNullOrWhiteSpace(mensaje))
            {
                SkMessageBox.Show(this, mensaje, MessageBoxButton.OK, MessageImage.Warning);
            }
            return(resultado);
        }
        private bool ValidarAreteMetalico()
        {
            try
            {
                var animalInfo = new AnimalInfo
                {
                    AreteMetalico         = txtAreteMetalico.Text,
                    OrganizacionIDEntrada = organizacionID
                };
                //Buscar el animal en el inventario
                var corteGanadoPl = new CorteGanadoPL();
                animalInfo = corteGanadoPl.ExisteAreteMetalicoEnPartida(animalInfo);
                if (animalInfo != null)
                {
                    //Se obtiene el ultimo movimiento
                    var animalPL         = new AnimalPL();
                    var ultimoMovimiento = animalPL.ObtenerUltimoMovimientoAnimal(animalInfo);
                    if (ultimoMovimiento != null)
                    {
                        //Se obtiene el corral en el que se encuentra
                        var corralPL   = new CorralPL();
                        var corralInfo = corralPL.ObtenerPorId(ultimoMovimiento.CorralID);
                        if (corralInfo != null)
                        {
                            //Se obtiene el Corral Origen
                            txtCorralOrigen.Text = corralInfo.Codigo;
                            var lotePL = new LotePL();
                            //var loteOrigen = new LoteInfo
                            //                 {
                            //                     CorralID = corralInfo.CorralID,
                            //                     OrganizacionID = organizacionID
                            //                 };
                            LoteInfo loteOrigen = lotePL.ObtenerPorId(ultimoMovimiento.LoteID);
                            if (loteOrigen == null || loteOrigen.Activo == EstatusEnum.Inactivo)
                            {
                                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                                  Properties.Resources.TrasferenciaGanadoIndividual_LoteInactivo,
                                                  MessageBoxButton.OK, MessageImage.Warning);
                                txtAreteMetalico.Focusable = true;
                                txtAreteMetalico.Focus();
                                txtAreteMetalico.Clear();
                                return(false);
                            }
                        }

                        //Si existe se obtienen los datos del animal
                        txtPesoOrigen.Text = animalInfo.PesoCompra.ToString(CultureInfo.InvariantCulture);
                        var tipoGanadoPl = new TipoGanadoPL();
                        var tipoGanado   = tipoGanadoPl.ObtenerPorID(animalInfo.TipoGanadoID);
                        if (tipoGanado != null)
                        {
                            //Se obtiene el tipo de ganado y sexo
                            txtSexo.Text = tipoGanado.Sexo.ToString();
                        }
                        //Se inicializa la info del animal de forma global
                        animal        = animalInfo;
                        corralOrigen  = corralInfo;
                        txtArete.Text = animal.Arete;
                    }
                    else
                    {
                        SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                          Properties.Resources.TrasferenciaGanadoIndividual_AreteNoExiste,
                                          MessageBoxButton.OK, MessageImage.Warning);
                        txtAreteMetalico.Focusable = true;
                        txtAreteMetalico.Focus();
                        txtAreteMetalico.Clear();
                        return(false);
                    }
                }
                else
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.TrasferenciaGanadoIndividual_AreteNoExiste,
                                      MessageBoxButton.OK, MessageImage.Warning);
                    txtAreteMetalico.Focusable = true;
                    txtAreteMetalico.Focus();
                    txtAreteMetalico.Clear();
                    return(false);
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }
            return(true);
        }