/// <summary>
        /// Valida si el tipo de corral destino esta configurado como invalido.
        /// </summary>
        /// <returns>Regresa True si el tipoCorralID esta configurado como invalido en el parametro</returns>
        private bool ValidarValorParametroCorralDestino()
        {
            if (ValidarParametroCorralDestino())
            {
                ParametroOrganizacionInfo parametroValor = new ParametroOrganizacionPL().ObtenerPorOrganizacionIDClaveParametro(int.Parse(Application.Current.Properties["OrganizacionID"].ToString()), ParametrosEnum.CORRALDESTINOORGANIZACION.ToString());

                string[] TiposCorralConfigurados = parametroValor.Valor.Split('|');
                bool     encontrado = false;
                foreach (string tipoCorral in TiposCorralConfigurados)
                {
                    if (tipoCorral == corralOrigen.TipoCorral.TipoCorralID.ToString())
                    {
                        encontrado = true;
                    }
                }

                if (encontrado)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TraspasoGanadoCorrales_MsgCorralNoConfigurado, MessageBoxButton.OK,
                                      MessageImage.Stop);
                    txtCorralDestino.Clear();
                    this.corralDestino = new CorralInfo();
                    txtCorralDestino.Focus();
                    BtnGuardar.IsEnabled = true;
                }
                return(encontrado);
            }
            return(false);
        }
        /// <summary>
        /// Carga el valor de los parametros de criba entrada y criba entrada salida
        /// </summary>
        private void CargarCribaPermitida()
        {
            var parametroPl = new ParametroOrganizacionPL();
            var parametro   = parametroPl.ObtenerPorOrganizacionIDClaveParametro(organizacionID, ParametrosEnum.CribaEntrada.ToString());

            if (parametro != null)
            {
                int.TryParse(parametro.Valor, out maximoCribaEntrada);
            }

            /*else
             * {
             *  SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
             *        "No se encontro el parametro ",
             *        MessageBoxButton.OK,
             *        MessageImage.Stop);
             * }*/
            parametro = parametroPl.ObtenerPorOrganizacionIDClaveParametro(organizacionID, ParametrosEnum.CribaSalida.ToString());
            if (parametro != null)
            {
                int.TryParse(parametro.Valor, out maximoCribaSalida);
            }

            /*else
             * {
             *  SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
             *        "No se encontro el parametro ",
             *        MessageBoxButton.OK,
             *        MessageImage.Stop);
             * }*/
        }
示例#3
0
        /// <summary>
        /// Método para guardar los valores del contexto
        /// </summary>
        private void Guardar()
        {
            bool guardar = ValidaGuardar();

            if (guardar)
            {
                try
                {
                    var parametroOrganizacionPL = new ParametroOrganizacionPL();
                    parametroOrganizacionPL.Guardar(Contexto);
                    SkMessageBox.Show(this, Properties.Resources.GuardadoConExito, MessageBoxButton.OK, MessageImage.Correct);
                    if (Contexto.ParametroOrganizacionID != 0)
                    {
                        confirmaSalir = false;
                        Close();
                    }
                    else
                    {
                        InicializaContexto();
                    }
                }
                catch (ExcepcionGenerica)
                {
                    SkMessageBox.Show(this, Properties.Resources.ParametroOrganizacion_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error);
                }
                catch (Exception ex)
                {
                    Logger.Error(ex);
                    SkMessageBox.Show(this, Properties.Resources.ParametroOrganizacion_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error);
                }
            }
        }
示例#4
0
        /// <summary>
        /// Valida si el tipo de corral destino esta configurado como invalido.
        /// </summary>
        /// <returns>Regresa True si el tipoCorralID esta configurado como invalido en el parametro</returns>
        private bool ValidarValorParametroCorralDestino()
        {
            if (ValidarParametroCorralDestino())
            {
                ParametroOrganizacionInfo parametroValor = new ParametroOrganizacionPL().ObtenerPorOrganizacionIDClaveParametro(int.Parse(Application.Current.Properties["OrganizacionID"].ToString()), ParametrosEnum.CORRALDESTINOORGANIZACION.ToString());

                string[] TiposCorralConfigurados = parametroValor.Valor.Split('|');
                bool     encontrado = false;
                foreach (string tipoCorral in TiposCorralConfigurados)
                {
                    if (tipoCorral == this.corralInfoOrigen.TipoCorral.TipoCorralID.ToString())
                    {
                        encontrado = true;
                    }
                }

                if (encontrado)
                {
                    imgloading.Visibility = Visibility.Hidden;
                    txtCorralDestino.Focus();
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TraspasoGanadoCorrales_MsgCorralNoConfigurado, MessageBoxButton.OK,
                                      MessageImage.Stop);
                    txtCorralDestino.Clear();
                    txtCorralDestino.IsEnabled = true;
                    corralInfoDestino          = new CorralInfo();

                    //
                    CorralPL   corralpl   = new CorralPL();
                    CorralInfo corral     = corralpl.ObtenerCorralActivoPorCodigo(organizacionID, txtCorralOrigen.Text.Trim());
                    var        corralInfo = new CorralInfo
                    {
                        Codigo       = txtCorralOrigen.Text,
                        GrupoCorral  = corral.GrupoCorral,
                        Organizacion = new OrganizacionInfo {
                            OrganizacionID = organizacionID
                        },
                    };
                    corralInfoOrigen = corralInfo;
                    var animalPL = new AnimalPL();
                    listaAnimales = animalPL.ObtenerAnimalesPorCodigoCorral(corralInfo);
                    if (listaAnimales != null)
                    {
                        lisBoxCorralDestino.ItemsSource = null;
                        lisBoxCorralOrigen.ItemsSource  = listaAnimales;
                        txtCorralDestino.IsEnabled      = true;
                    }
                    else
                    {
                        SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                          Properties.Resources.TraspasoGanadoCorral_CorralNoTieneLoteActivo,
                                          MessageBoxButton.OK,
                                          MessageImage.Warning);
                    }
                    btnGuardar.IsEnabled = false;
                    //
                }
                return(encontrado);
            }
            return(false);
        }
示例#5
0
        private bool AplicaEnvioMarel()
        {
            var result = false;

            try
            {
                var paramOrgPl = new ParametroOrganizacionPL();
                var paramOrg   = paramOrgPl.ObtenerPorOrganizacionIDClaveParametro(organizacionId, ParametrosEnum.AplicaSalidaSacrificioMarel.ToString());

                if (paramOrg != null)
                {
                    if (paramOrg.Valor.Trim() == "1")
                    {
                        result = true;
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                Logger.Error(new Exception(Properties.Resources.CancelacionOrdenSacrificio_ErrorValidarEnvioMarel));
                throw;
            }

            return(result);
        }
示例#6
0
        private static bool ActualizarParametroEjecucion(bool ejecutando)
        {
            var usuario = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;

            if (usuario != null)
            {
                var parametroOrganizacionPL         = new ParametroOrganizacionPL();
                ParametroOrganizacionInfo parametro =
                    parametroOrganizacionPL.ObtenerPorOrganizacionIDClaveParametro(usuario.Usuario.Organizacion.OrganizacionID,
                                                                                   ParametrosEnum.EJECORDENREP.ToString());
                if (parametro != null)
                {
                    if (parametro.Valor.Trim().Equals("1") && ejecutando)
                    {
                        return(false);
                    }
                    if (ejecutando)
                    {
                        parametro.Valor = "1";
                    }
                    else
                    {
                        parametro.Valor = "0";
                    }
                    parametro.UsuarioModificacionID = usuario.Usuario.UsuarioID;
                    parametroOrganizacionPL.Guardar(parametro);
                }
                return(true);
            }
            return(false);
        }
示例#7
0
 /// <summary>
 /// Valida la obtencion de los parametros necesarios para la ejecucion
 /// </summary>
 /// <returns></returns>
 private bool ValidarParametros()
 {
     try
     {
         var dataLink = new GenerarArchivoDatalinkPL();
         var parametrosOrganizacionPl = new ParametroOrganizacionPL();
         var parametro = parametrosOrganizacionPl.ObtenerPorOrganizacionIDClaveParametro(organizacionID,
                                                                                         ParametrosEnum.rutaGenerarArchivoDatalink.ToString());
         if (parametro == null)
         {
             ClientScript.RegisterStartupScript(GetType(), "myScript", "EnviarMensajeRutaNoConfigurada();", true);
             return(false);
         }
         rutaGenerarArchivoDataLink = parametro.Valor;
         if (!dataLink.ValidarRutaArchivo(rutaGenerarArchivoDataLink))
         {
             ClientScript.RegisterStartupScript(GetType(), "myScript", "EnviarMensajeRuta();", true);
             return(false);
         }
     }
     catch (Exception)
     {
         return(false);
     }
     return(true);
 }
示例#8
0
        public void ObtenerParametroOrganizacionPorId()
        {
            var parametroOrganizacionPL = new ParametroOrganizacionPL();
            ParametroOrganizacionInfo parametroOrganizacion = parametroOrganizacionPL.ObtenerPorID(1);

            Assert.IsNotNull(parametroOrganizacion);
            Assert.IsNotNull(parametroOrganizacion.Organizacion);
            Assert.IsNotNull(parametroOrganizacion.Parametro);
            Assert.IsTrue(parametroOrganizacion.Organizacion.Descripcion.Length > 0);
            Assert.IsTrue(parametroOrganizacion.Parametro.Descripcion.Length > 0);
        }
示例#9
0
        /// <summary>
        /// Metodo que valida los datos para guardar
        /// </summary>
        /// <returns></returns>
        private bool ValidaGuardar()
        {
            bool   resultado = true;
            string mensaje   = string.Empty;

            try
            {
                if (Contexto.Organizacion == null || Contexto.Organizacion.OrganizacionID == 0)
                {
                    resultado = false;
                    mensaje   = Properties.Resources.ParametroOrganizacionEdicion_MsgOrganizacionIDRequerida;
                    skAyudaOrganizacion.Focus();
                }
                else if (Contexto.Parametro == null || Contexto.Parametro.ParametroID == 0)
                {
                    resultado = false;
                    mensaje   = Properties.Resources.ParametroOrganizacionEdicion_MsgParametroIDRequerida;
                    skAyudaParametro.Focus();
                }
                else if (string.IsNullOrWhiteSpace(Contexto.Valor))
                {
                    resultado = false;
                    mensaje   = Properties.Resources.ParametroOrganizacionEdicion_MsgValorRequerida;
                    txtValor.Focus();
                }
                else
                {
                    int parametroOrganizacionId = Contexto.ParametroOrganizacionID;

                    var parametroOrganizacionPL = new ParametroOrganizacionPL();
                    ParametroOrganizacionInfo parametroOrganizacion = parametroOrganizacionPL.ObtenerPorParametroOrganizacionID(Contexto);

                    if (parametroOrganizacion != null && (parametroOrganizacionId == 0 || parametroOrganizacionId != parametroOrganizacion.ParametroOrganizacionID))
                    {
                        resultado = false;
                        mensaje   = string.Format(Properties.Resources.ParametroOrganizacionEdicion_MsgDescripcionExistente, parametroOrganizacion.ParametroOrganizacionID);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }

            if (!string.IsNullOrWhiteSpace(mensaje))
            {
                SkMessageBox.Show(this, mensaje, MessageBoxButton.OK, MessageImage.Warning);
            }
            return(resultado);
        }
        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);
        }
示例#11
0
        /// <summary>
        /// Obtiene la fecha minima en la que se podra consultar el reporte
        /// </summary>
        private void ObtenerFechaMinima()
        {
            var parametroOrganizacionPL = new ParametroOrganizacionPL();
            ParametroOrganizacionInfo parametroOrganizacion = parametroOrganizacionPL.
                                                              ObtenerPorOrganizacionIDClaveParametro(
                AuxConfiguracion.ObtenerOrganizacionUsuario(),
                ParametrosEnum.DiasAtrasReporteInventario.ToString());

            if (parametroOrganizacion != null)
            {
                invervalo   = Convert.ToInt32(parametroOrganizacion.Valor);
                fechaMinima = DateTime.Now.AddDays(invervalo * -1);
            }
            else
            {
                fechaMinima = DateTime.Now.AddDays(-90);
                invervalo   = 90;
            }
        }
示例#12
0
        /// <summary>
        /// Carga el Parametro por Organizacion de los productos que aplican para capturar muestra de Humedad
        /// </summary>
        private void CargarProductosValidosHumedad()
        {
            var parametroOrganizacionPL = new ParametroOrganizacionPL();

            var parametroOrganizacionInfo = new ParametroOrganizacionInfo
            {
                Parametro = new ParametroInfo
                {
                    Clave =
                        ParametrosEnum.ProductosMuestraHumedad.
                        ToString()
                },
                Organizacion = new OrganizacionInfo
                {
                    OrganizacionID =
                        Auxiliar.AuxConfiguracion.
                        ObtenerOrganizacionUsuario()
                }
            };

            ParametroOrganizacionInfo parametro =
                parametroOrganizacionPL.ObtenerPorOrganizacionIDClaveParametro(parametroOrganizacionInfo.Organizacion.OrganizacionID, parametroOrganizacionInfo.Parametro.Clave);

            if (parametro == null)
            {
                SkMessageBox.Show(this, Properties.Resources.CapturaHumedadBusquedaFolio_SinParametro, MessageBoxButton.OK, MessageImage.Warning);
                confirmaSalir = false;
                Close();
                return;
            }
            if (parametro.Valor.Contains('|'))
            {
                ProductosHumedad = (from tipos in parametro.Valor.Split('|')
                                    select Convert.ToInt32(tipos)).ToList();
            }
            else
            {
                int producto = Convert.ToInt32(parametro.Valor);
                ProductosHumedad.Add(producto);
            }
        }
示例#13
0
        /// <summary>
        /// Valida la obtencion de los parametros necesarios para la ejecucion
        /// </summary>
        /// <returns></returns>
        private bool ValidarParametros()
        {
            try
            {
                var dataLink = new DescargaArchivoDataLinkPL();
                var parametrosOrganizacionPl        = new ParametroOrganizacionPL();
                ParametroOrganizacionInfo parametro = parametrosOrganizacionPl.ObtenerPorOrganizacionIDClaveParametro(organizacionID,
                                                                                                                      ParametrosEnum.rutaArchivoDatalink.ToString());
                if (parametro == null)
                {
                    ClientScript.RegisterStartupScript(GetType(), "myScript", "EnviarMensajeRolUsuario();", true);
                    return(false);
                }
                rutaArchivoDataLink = parametro.Valor;
                if (!dataLink.ValidarRutaArchivo(rutaArchivoDataLink))
                {
                    ClientScript.RegisterStartupScript(GetType(), "myScript", "EnviarMensajeRuta();", true);
                    return(false);
                }
                ParametroOrganizacionInfo parametroGeneral = parametrosOrganizacionPl.ObtenerPorOrganizacionIDClaveParametro(organizacionID,
                                                                                                                             ParametrosEnum.nombreArchivoDatalink.ToString());
                if (parametroGeneral == null)
                {
                    ClientScript.RegisterStartupScript(GetType(), "myScript", "EnviarMensajeRuta();", true);
                    return(false);
                }
                nombreArchivoDataLink = parametroGeneral.Valor;

                parametro = parametrosOrganizacionPl.ObtenerPorOrganizacionIDClaveParametro(organizacionID,
                                                                                            ParametrosEnum.RutaRespaldoDL.ToString());
                if (parametro != null)
                {
                    rutaRespaldoArchivo = parametro.Valor;
                }
            }
            catch (Exception)
            {
                return(false);
            }
            return(true);
        }
示例#14
0
 /// <summary>
 /// Obtiene la lista para mostrar en el grid
 /// </summary>
 private void ObtenerListaParametroOrganizacion(int inicio, int limite)
 {
     try
     {
         if (ucPaginacion.ContextoAnterior != null)
         {
             bool contextosIguales = ucPaginacion.CompararObjetos(Contexto, ucPaginacion.ContextoAnterior);
             if (!contextosIguales)
             {
                 ucPaginacion.Inicio = 1;
                 inicio = 1;
             }
         }
         var parametroOrganizacionPL = new ParametroOrganizacionPL();
         var pagina = new PaginacionInfo {
             Inicio = inicio, Limite = limite
         };
         ResultadoInfo <ParametroOrganizacionInfo> resultadoInfo = parametroOrganizacionPL.ObtenerPorFiltroPagina(pagina, Contexto);
         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 <ParametroOrganizacion>();
         }
     }
     catch (ExcepcionGenerica)
     {
         SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ParametroOrganizacion_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ParametroOrganizacion_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error);
     }
 }
示例#15
0
 /// <summary>
 /// Valida la el parametro y la configuracion del parametro de tipoCorralDestino
 /// </summary>
 /// <returns>Regresa true si el parametro esta registrado y esta configurado como activo para la organizacion del usuario logueado.</returns>
 private bool ValidarParametroCorralDestino()
 {
     try
     {
         Logger.Info();
         bool                    parametroConfigurado    = true;
         ParametroPL             parametroPl             = new ParametroPL();
         ParametroOrganizacionPL parametroOrganizacionPl = new ParametroOrganizacionPL();
         List <ParametroInfo>    parametros             = parametroPl.ObtenerTodos(EstatusEnum.Activo).ToList();
         ParametroInfo           parametroCorralDestino = null;
         if (parametros != null)
         {
             parametroCorralDestino = parametros.Where(parametro => parametro.Clave == ParametrosEnum.CORRALDESTINOORGANIZACION.ToString()).FirstOrDefault();
         }
         if (parametroCorralDestino == null)
         {
             parametroConfigurado = false;
         }
         else
         {
             ParametroOrganizacionInfo parametroValor = parametroOrganizacionPl.ObtenerPorOrganizacionIDClaveParametro(int.Parse(Application.Current.Properties["OrganizacionID"].ToString()), ParametrosEnum.CORRALDESTINOORGANIZACION.ToString());
             if (parametroValor == null || parametroValor.Activo == EstatusEnum.Inactivo)
             {
                 parametroConfigurado = false;
             }
             else
             {
                 parametroConfigurado = true;
             }
         }
         return(parametroConfigurado);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], ex.Message, MessageBoxButton.OK, MessageImage.Error);
         return(false);
     }
 }
        private void dtpFechaSacrificio_LostFocus(object sender, RoutedEventArgs e)
        {
            var fechaPl                 = new FechaPL();
            var fechaServidor           = fechaPl.ObtenerFechaActual();
            int diasFacturacion         = 1;
            var parametroOrganizacionPL = new ParametroOrganizacionPL();
            ParametroOrganizacionInfo parametroOrganizacion =
                parametroOrganizacionPL.ObtenerPorOrganizacionIDClaveParametro(organizacionId,
                                                                               ParametrosEnum.DIASFACTURACION.ToString());

            if (parametroOrganizacion != null)
            {
                int.TryParse(parametroOrganizacion.Valor, out diasFacturacion);
                if (diasFacturacion == 0)
                {
                    diasFacturacion = 1;
                }
            }

            if (dtpFechaSacrificio.SelectedDate != null)
            {
                DateTime fechaMinima = fechaServidor.FechaActual.AddDays(-diasFacturacion);
                if (dtpFechaSacrificio.SelectedDate.Value.Date < fechaMinima.Date)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      string.Format(Properties.Resources.FacturacionSacrificio_MensajeFechaMenorAyer, diasFacturacion),
                                      MessageBoxButton.OK, MessageImage.Warning);
                    dtpFechaSacrificio.SelectedDate = DateTime.Now;
                }
                if (dtpFechaSacrificio.SelectedDate.Value.Date > fechaServidor.FechaActual.Date)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.FacturacionSacrificio_MensajeFechaMayorAHoy,
                                      MessageBoxButton.OK, MessageImage.Warning);
                    dtpFechaSacrificio.SelectedDate = DateTime.Now;
                }
            }
        }
示例#17
0
        private void ValidarParametroHumedad()
        {
            var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;
            var parametroOrganizacionPL = new ParametroOrganizacionPL();

            if (seguridad != null)
            {
                ParametroOrganizacionInfo parametro =
                    parametroOrganizacionPL.ObtenerPorOrganizacionIDClaveParametro(
                        seguridad.Usuario.Organizacion.OrganizacionID, ParametrosEnum.MuestraHumedad.ToString());
                if (parametro != null)
                {
                    int valor;
                    int.TryParse(parametro.Valor, out valor);
                    if (valor == 1)
                    {
                        aplicaCapturaHumedad  = true;
                        hfAplicaHumedad.Value = parametro.Valor;
                    }

                    ParametroOrganizacionInfo parametroProductos = parametroOrganizacionPL.ObtenerPorOrganizacionIDClaveParametro(
                        seguridad.Usuario.Organizacion.OrganizacionID, ParametrosEnum.ProductosMuestraHumedad.ToString());
                    if (parametroProductos != null)
                    {
                        if (parametroProductos.Valor.Contains('|'))
                        {
                            ProductosHumedad = (from tipos in parametroProductos.Valor.Split('|')
                                                select Convert.ToInt32(tipos)).ToList();
                        }
                        else
                        {
                            int producto = Convert.ToInt32(parametroProductos.Valor);
                            ProductosHumedad.Add(producto);
                        }
                    }
                }
            }
        }
        /// <summary>
        /// Carga el comboBox de los corrales segun la organizacion del usuario que se logueo
        /// </summary>
        void CargarCorralesComboBox()
        {
            //cbCorrales.Items.Clear();
            InicializaContexto();
            //Contexto = new SalidaPorMuerteEnTransitoInfo {OrganizacionID = Contexto.OrganizacionID};
            corrales = CorralBL.ObtenerCorralesPorOrganizacionID(Contexto.OrganizacionID);

            //cargar combobox de corrales
            if (corrales.Count == 0) //en caso de no encontrarse ningun corral
            {
                //verificar si el parametroID de la tabla de organizacion del usuario logueado este registrado en la tabla parametros
                //SP: Parametro_ObtenerPorDescripcion con la descripcion; 'Corral para faltantes de compra directa' / 'Corral para faltantes de origen propio'

                //verificar que exista la configuracion del parametro corral  de faltantes para la organizacion
                //:SP ParametroOrganizacion_ObtenerPorParametroOrganizacionID ; con OrganizacionID del usuario logueado, ParametroID que corresponda al parametro de la primera validacion

                //verificar que el corral tenga un lote activo (en caso de no hallar corrales)
                //LoteBL.ObtenerActivosPorCorral(AuxConfiguracion.ObtenerOrganizacionUsuarioID, int corralID);

                var           parametroPl = new ParametroPL();
                ParametroInfo parametroFaltantesCompraDirecta = parametroPl.ObtenerPorDescripcion(
                    Properties.Resources.SalidaGanadoTransito_Parametro_Faltantes_Compra_Directa);

                ParametroInfo parametroFaltantesOrigenPropio = parametroPl.ObtenerPorDescripcion(
                    Properties.Resources.SalidaGanadoTransito_Parametro_Faltantes_Origen_Propio);

                if ((parametroFaltantesCompraDirecta != null &&
                     parametroFaltantesCompraDirecta.Activo == EstatusEnum.Activo) ||
                    (parametroFaltantesOrigenPropio != null &&
                     parametroFaltantesOrigenPropio.Activo == EstatusEnum.Activo))
                {
                    var parametroOrganizacionPl = new ParametroOrganizacionPL();
                    var parOrganizacionFaltantesCompraDirecta =
                        new ParametroOrganizacionInfo
                    {
                        Organizacion = new OrganizacionInfo(),
                        Parametro    = new ParametroInfo()
                    };
                    parOrganizacionFaltantesCompraDirecta.Organizacion.OrganizacionID = Contexto.OrganizacionID;
                    if (parametroFaltantesCompraDirecta != null)
                    {
                        parOrganizacionFaltantesCompraDirecta.Parametro.ParametroID =
                            parametroFaltantesCompraDirecta.ParametroID;
                    }
                    parOrganizacionFaltantesCompraDirecta =
                        parametroOrganizacionPl.ObtenerPorParametroOrganizacionID(
                            parOrganizacionFaltantesCompraDirecta);

                    var parOrganizacionFaltantesOrigenPropio =
                        new ParametroOrganizacionInfo
                    {
                        Organizacion = new OrganizacionInfo(),
                        Parametro    = new ParametroInfo()
                    };
                    parOrganizacionFaltantesOrigenPropio.Organizacion.OrganizacionID = Contexto.OrganizacionID;
                    parOrganizacionFaltantesOrigenPropio.Parametro.ParametroID       =
                        parametroFaltantesOrigenPropio.ParametroID;
                    parOrganizacionFaltantesOrigenPropio =
                        parametroOrganizacionPl.ObtenerPorParametroOrganizacionID(
                            parOrganizacionFaltantesOrigenPropio);

                    if (parOrganizacionFaltantesCompraDirecta == null || parOrganizacionFaltantesOrigenPropio == null)
                    {
                        SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                          Properties.Resources.SalidaGanadoTransito_MsgConfiguracionCorralNoExiste,
                                          MessageBoxButton.OK, MessageImage.Warning);
                        BloquearPantalla();
                    }
                    else
                    {
                        if (!parOrganizacionFaltantesCompraDirecta.Activo.ValorBooleanoDesdeEnum() && !parOrganizacionFaltantesOrigenPropio.Activo.ValorBooleanoDesdeEnum())
                        {
                            SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                              Properties.Resources.SalidaGanadoTransito_MsgConfiguracionCorralNoExiste,
                                              MessageBoxButton.OK, MessageImage.Warning);
                            BloquearPantalla();
                        }
                        else
                        {
                            SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                              Properties.Resources.SalidaGanadoTransito_MsgCorralActivoNoEncontrado,
                                              MessageBoxButton.OK, MessageImage.Warning);
                            BloquearPantalla();
                        }
                    }
                }
                else
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.SalidaGanadoTransito_MsgParametroCorralNoExiste, MessageBoxButton.OK,
                                      MessageImage.Warning);
                    BloquearPantalla();
                    cbCorrales.IsEnabled = true;
                }
            }
            var seleccione = new CorralesPorOrganizacionInfo
            {
                CorralID    = 0,
                Descripcion = "Seleccione"
            };

            corrales.Insert(0, seleccione);
            cbCorrales.ItemsSource   = new List <CorralesPorOrganizacionInfo>();
            cbCorrales.ItemsSource   = corrales;
            cbCorrales.SelectedValue = 0;
        }
示例#19
0
        public static List <CorralInfo> ObtenerCorralDestinoAnimal(string arete)
        {
            var corrales = new List <CorralInfo>();

            try
            {
                //var animalPL = new AnimalPL();
                var animalMovimientoPL = new AnimalMovimientoPL();
                var seguridad          = (SeguridadInfo)HttpContext.Current.Session["Seguridad"];
                int organizacionId     = seguridad.Usuario.Organizacion.OrganizacionID;

                //animal = animalPL.ObtenerAnimalPorArete(arete, organizacionId);

                List <AnimalMovimientoInfo> movimientosArete =
                    animalMovimientoPL.ObtenerMovimientosPorArete(organizacionId, arete);

                var    movimientoEnfermeria    = new AnimalMovimientoInfo();
                var    movimientoCorralOrigen  = new AnimalMovimientoInfo();
                var    parametroOrganizacionPL = new ParametroOrganizacionPL();
                var    deteccionAnimalBL       = new DeteccionAnimalBL();
                var    corralPL       = new CorralPL();
                double diasEnfermeria = 0;
                if (movimientosArete != null && movimientosArete.Any())
                {
                    movimientosArete = movimientosArete.OrderByDescending(mov => mov.AnimalMovimientoID).ToList();
                    foreach (var animalMovimientoInfo in movimientosArete)
                    {
                        if (animalMovimientoInfo.GrupoCorralID == GrupoCorralEnum.Enfermeria.GetHashCode())
                        {
                            var movimientosDiferenteEnfermeria =
                                movimientosArete.Any(
                                    mov => mov.GrupoCorralID != GrupoCorralEnum.Enfermeria.GetHashCode());

                            if (!movimientosDiferenteEnfermeria)
                            {
                                var primerMovimientoEnfermeria = movimientosArete.LastOrDefault();

                                if (primerMovimientoEnfermeria != null)
                                {
                                    movimientoEnfermeria = primerMovimientoEnfermeria;

                                    DeteccionAnimalInfo deteccionAnimal =
                                        deteccionAnimalBL.ObtenerPorAnimalMovimientoID(
                                            movimientoEnfermeria.AnimalMovimientoID);

                                    if (deteccionAnimal != null)
                                    {
                                        animalMovimientoInfo.GrupoCorralEnum = (GrupoCorralEnum)deteccionAnimal.GrupoCorralID;
                                        movimientoCorralOrigen = animalMovimientoInfo;
                                        TimeSpan diferencia = DateTime.Now - movimientoEnfermeria.FechaMovimiento;
                                        diasEnfermeria = diferencia.TotalDays;
                                        break;
                                    }
                                }
                            }
                            movimientoEnfermeria = animalMovimientoInfo;
                            continue;
                        }
                        if (animalMovimientoInfo.GrupoCorralID != GrupoCorralEnum.Enfermeria.GetHashCode())
                        {
                            //Validar que el corral no sea el de Sobrantes
                            ParametroOrganizacionInfo parametroOrganizacionSobrante =
                                parametroOrganizacionPL.ObtenerPorOrganizacionIDClaveParametro(organizacionId,
                                                                                               ParametrosEnum.CORRALSOBRANTE.ToString());

                            if (parametroOrganizacionSobrante != null &&
                                !string.IsNullOrWhiteSpace(parametroOrganizacionSobrante.Valor))
                            {
                                var corralSobrante = new CorralInfo
                                {
                                    Codigo       = parametroOrganizacionSobrante.Valor,
                                    Organizacion = new OrganizacionInfo
                                    {
                                        OrganizacionID = organizacionId
                                    }
                                };

                                corralSobrante = corralPL.ObtenerPorCodicoOrganizacionCorral(corralSobrante);
                                var lotePL = new LotePL();
                                if (corralSobrante != null)
                                {
                                    LoteInfo loteOrigenSobrante = lotePL.ObtenerPorCorral(organizacionId,
                                                                                          corralSobrante.CorralID);
                                    TimeSpan diferencia;
                                    if (loteOrigenSobrante != null)
                                    {
                                        if (loteOrigenSobrante.LoteID == animalMovimientoInfo.LoteID)
                                        {
                                            DeteccionAnimalInfo deteccionAnimal =
                                                deteccionAnimalBL.ObtenerPorAnimalMovimientoID(
                                                    movimientoEnfermeria.AnimalMovimientoID);

                                            if (deteccionAnimal != null)
                                            {
                                                animalMovimientoInfo.GrupoCorralEnum =
                                                    (GrupoCorralEnum)animalMovimientoInfo.GrupoCorralID;
                                                movimientoCorralOrigen        = animalMovimientoInfo;
                                                movimientoCorralOrigen.LoteID = deteccionAnimal.Lote.LoteID;
                                                diferencia     = DateTime.Now - movimientoEnfermeria.FechaMovimiento;
                                                diasEnfermeria = diferencia.TotalDays;
                                                break;
                                            }
                                        }
                                    }

                                    animalMovimientoInfo.GrupoCorralEnum =
                                        (GrupoCorralEnum)animalMovimientoInfo.GrupoCorralID;
                                    movimientoCorralOrigen = animalMovimientoInfo;
                                    diferencia             = DateTime.Now - movimientoEnfermeria.FechaMovimiento;
                                    diasEnfermeria         = diferencia.TotalDays;
                                    break;
                                }
                            }
                        }
                    }
                }
                int diasRecuperacion = 0;



                ParametroOrganizacionInfo parametroOrganizacion =
                    parametroOrganizacionPL.ObtenerPorOrganizacionIDClaveParametro(organizacionId,
                                                                                   ParametrosEnum.DiasRecuperacion.
                                                                                   ToString());

                if (parametroOrganizacion != null)
                {
                    int.TryParse(parametroOrganizacion.Valor, out diasRecuperacion);
                }

                if (diasRecuperacion == 0)
                {
                    diasRecuperacion = 7; //Valor por default, si no se encuentra el parámetro de la organización
                }



                if (movimientoCorralOrigen.TipoCorralID == TipoCorral.CorraletaRecuperado.GetHashCode() ||
                    movimientoCorralOrigen.TipoCorralID == TipoCorral.CorraletaRecuperadosPartida.GetHashCode())
                {
                    var tipoCorralRecuperado = new TipoCorralInfo
                    {
                        TipoCorralID = TipoCorral.CorraletaRecuperado.GetHashCode()
                    };
                    List <CorralInfo> corralesRecuperados = corralPL.ObtenerCorralesPorTipoCorral(tipoCorralRecuperado, organizacionId);
                    if (corralesRecuperados != null && corralesRecuperados.Any())
                    {
                        corrales.AddRange(corralesRecuperados);
                        return(corrales);
                    }
                }
                switch (movimientoCorralOrigen.GrupoCorralEnum)
                {
                case GrupoCorralEnum.Produccion:
                    if (diasEnfermeria < diasRecuperacion)
                    {
                        var lotePL = new LotePL();
                        //var corralPL = new CorralPL();
                        LoteInfo loteOriginal = lotePL.ObtenerPorId(movimientoCorralOrigen.LoteID);
                        if (loteOriginal != null && loteOriginal.Activo == EstatusEnum.Activo)
                        {
                            corrales.Add(loteOriginal.Corral);
                        }
                        else
                        {
                            var tipoCorralRecuperado = new TipoCorralInfo
                            {
                                TipoCorralID = TipoCorral.CorraletaRecuperado.GetHashCode()
                            };
                            List <CorralInfo> corralesRecuperados = corralPL.ObtenerCorralesPorTipoCorral(tipoCorralRecuperado, organizacionId);
                            if (corralesRecuperados != null && corralesRecuperados.Any())
                            {
                                corrales.AddRange(corralesRecuperados);
                            }
                        }
                    }
                    else
                    {
                        //var corralPL = new CorralPL();
                        var tipoCorralRecuperado = new TipoCorralInfo
                        {
                            TipoCorralID = TipoCorral.CorraletaRecuperado.GetHashCode()
                        };
                        List <CorralInfo> corralesRecuperados = corralPL.ObtenerCorralesPorTipoCorral(tipoCorralRecuperado, organizacionId);
                        if (corralesRecuperados != null && corralesRecuperados.Any())
                        {
                            corrales.AddRange(corralesRecuperados);
                        }
                    }
                    break;

                case GrupoCorralEnum.Recepcion:
                    if (diasEnfermeria < diasRecuperacion)
                    {
                        //var corralPL = new CorralPL();

                        var tipoCorralRecuperadoPartida = new TipoCorralInfo
                        {
                            TipoCorralID = TipoCorral.CorraletaRecuperadosPartida.GetHashCode()
                        };
                        List <CorralInfo> corralesRecuperados = corralPL.ObtenerCorralesPorTipoCorral(tipoCorralRecuperadoPartida, organizacionId);
                        if (corralesRecuperados != null && corralesRecuperados.Any())
                        {
                            corrales.AddRange(corralesRecuperados);
                        }
                    }
                    else
                    {
                        //var corralPL = new CorralPL();
                        var tipoCorralRecuperado = new TipoCorralInfo
                        {
                            TipoCorralID = TipoCorral.CorraletaRecuperado.GetHashCode()
                        };
                        List <CorralInfo> corralesRecuperados = corralPL.ObtenerCorralesPorTipoCorral(tipoCorralRecuperado, organizacionId);
                        if (corralesRecuperados != null && corralesRecuperados.Any())
                        {
                            corrales.AddRange(corralesRecuperados);
                        }
                    }
                    break;
                }

                if (!corrales.Any())
                {
                    var tipoCorralRecuperado = new TipoCorralInfo
                    {
                        TipoCorralID = TipoCorral.CorraletaRecuperado.GetHashCode()
                    };
                    List <CorralInfo> corralesRecuperados = corralPL.ObtenerCorralesPorTipoCorral(tipoCorralRecuperado, organizacionId);
                    if (corralesRecuperados != null && corralesRecuperados.Any())
                    {
                        corrales.AddRange(corralesRecuperados);
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(corrales);
        }
示例#20
0
        /// <summary>
        /// Obtiene los datos de la entrada ganado transito
        /// </summary>
        private void ObtenerDatosEntradaGanadoTransito()
        {
            int cabezasOrigen     = ContenedorCosteoEntrada.EntradaGanado.CabezasOrigen;
            int cabezasLlegada    = ContenedorCosteoEntrada.EntradaGanadoCosteo.ListaEntradaDetalle.Sum(cab => cab.Cabezas);
            int diferenciaCabezas = cabezasLlegada - cabezasOrigen;

            if (diferenciaCabezas != 0)
            {
                var parametroOrganizacionPL = new ParametroOrganizacionPL();
                var codigoParametro         = ParametrosEnum.CORRALFALTDIRECTA;
                switch ((TipoOrganizacion)ContenedorCosteoEntrada.EntradaGanado.TipoOrigen)
                {
                case TipoOrganizacion.Cadis:
                case TipoOrganizacion.Centro:
                case TipoOrganizacion.Praderas:
                    codigoParametro = ParametrosEnum.CORRALFALTPROPIO;
                    break;
                }
                ParametroOrganizacionInfo parametroOrganizacion =
                    parametroOrganizacionPL.ObtenerPorOrganizacionIDClaveParametro(organizacionIdLogin,
                                                                                   codigoParametro.ToString());
                if (parametroOrganizacion == null)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.CosteoEntradaGanado_ConfiguracionCorralesTransito, MessageBoxButton.OK,
                                      MessageImage.Stop);
                    return;
                }
                var entradaGanadoTransitoBL = new EntradaGanadoTransitoBL();
                EntradaGanadoTransitoInfo entradaGanadoTransito =
                    entradaGanadoTransitoBL.ObtenerPorCorralOrganizacion(parametroOrganizacion.Valor,
                                                                         organizacionIdLogin);
                if (entradaGanadoTransito != null)
                {
                    entradaGanadoTransito.Sobrante = diferenciaCabezas >= 0;
                    decimal pesoTransito =
                        ContenedorCosteoEntrada.EntradaGanadoCosteo.ListaEntradaDetalle.Sum(
                            peso => peso.PesoLlegada - peso.PesoOrigen);
                    decimal importeTransito = ContenedorCosteoEntrada.EntradaGanadoCosteo.ListaEntradaDetalle.Sum(
                        imp => imp.Importe);
                    decimal importeOrigen = ContenedorCosteoEntrada.EntradaGanadoCosteo.ListaEntradaDetalle.Sum(
                        imp => imp.ImporteOrigen);

                    LoteInfo lote = entradaGanadoTransito.Lote;
                    lote.Cabezas = lote.Cabezas + diferenciaCabezas;
                    lote.UsuarioModificacionID = AuxConfiguracion.ObtenerUsuarioLogueado();

                    int multiplicador;
                    if (entradaGanadoTransito.Sobrante)
                    {
                        multiplicador = 1;
                    }
                    else
                    {
                        multiplicador = -1;
                    }
                    entradaGanadoTransito.Cabezas = (diferenciaCabezas * multiplicador) * -1;
                    entradaGanadoTransito.Peso    = Convert.ToInt32(pesoTransito * multiplicador);

                    int totalCabezasTipoGanado = ContenedorCosteoEntrada.EntradaGanadoCosteo
                                                 .ListaEntradaDetalle.Sum(cab => cab.Cabezas);
                    totalCabezasTipoGanado += (diferenciaCabezas * multiplicador);
                    int porcentajeDescontar = Convert.ToInt32(Math.Round(100 - ((importeTransito * 100) / importeOrigen), 0, MidpointRounding.AwayFromZero));

                    List <EntradaGanadoTransitoDetalleInfo> detalles = entradaGanadoTransito.EntradasGanadoTransitoDetalles;
                    EntradaGanadoTransitoDetalleInfo        detalle;

                    decimal importeConDescuento;
                    for (int index = 0; index < detalles.Count; index++)
                    {
                        detalle = detalles[index];

                        importeOrigen = ContenedorCosteoEntrada.EntradaGanadoCosteo.ListaCostoEntrada
                                        .Where(id => id.Costo.CostoID == detalle.Costo.CostoID)
                                        .Select(imp => imp.Importe).FirstOrDefault();
                        importeConDescuento = (importeOrigen / 100) * porcentajeDescontar;
                        detalle.Importe     = importeConDescuento * multiplicador;
                    }
                    entradaGanadoTransito.UsuarioModificacionID   = AuxConfiguracion.ObtenerUsuarioLogueado();
                    ContenedorCosteoEntrada.EntradaGanadoTransito = entradaGanadoTransito;
                }
            }
        }
示例#21
0
        //private static int organizacionID;
        //private static int usuarioID;
        //private static SeguridadInfo usuario;

        #endregion
        #region Eventos

        protected void Page_Load(object sender, EventArgs e)
        {
            var ordenRepartoPl = new RepartoPL();

            var usuario             = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;
            var localResourceObject = GetLocalResourceObject("msgErrorRolUsuario");

            if (localResourceObject != null)
            {
                msgErrorUsuario.Value = localResourceObject.ToString();
            }
            localResourceObject = GetLocalResourceObject("msgErrorParametros");
            if (localResourceObject != null)
            {
                msgErrorParametros.Value = localResourceObject.ToString();
            }
            localResourceObject = GetLocalResourceObject("msgSinCorrales");
            if (localResourceObject != null)
            {
                msgSinCorrales.Value = localResourceObject.ToString();
            }
            localResourceObject = GetLocalResourceObject("OK");
            if (localResourceObject != null)
            {
                msgOK.Value = localResourceObject.ToString();
            }
            localResourceObject = GetLocalResourceObject("msgSinConsumoTotal");
            if (localResourceObject != null)
            {
                msgSinConsumoTotal.Value = localResourceObject.ToString();
            }
            localResourceObject = GetLocalResourceObject("msgCorralesIncompletos");
            if (localResourceObject != null)
            {
                msgCorralesIncompletos.Value = localResourceObject.ToString();
            }
            localResourceObject = GetLocalResourceObject("msgErrorProceso");
            if (localResourceObject != null)
            {
                msgErrorProceso.Value = localResourceObject.ToString();
            }
            localResourceObject = GetLocalResourceObject("AlimentoNoServidoMatutino");
            if (localResourceObject != null)
            {
                AlimentoNoServidoMatutino.Value = localResourceObject.ToString();
            }
            localResourceObject = GetLocalResourceObject("AlimentoNoServidoVespertino");
            if (localResourceObject != null)
            {
                AlimentoNoServidoVespertino.Value = localResourceObject.ToString();
            }
            localResourceObject = GetLocalResourceObject("msgFaltaPorcentaje");
            if (localResourceObject != null)
            {
                msgFaltaPorcentaje.Value = localResourceObject.ToString();
            }
            btnSi.Value     = GetLocalResourceObject("btnSi").ToString();
            btnNo.Value     = GetLocalResourceObject("btnNo").ToString();
            idUsuario.Value = usuario.Usuario.UsuarioID.ToString(CultureInfo.InvariantCulture);
            if (usuario != null)
            {
                //organizacionID = usuario.Usuario.Organizacion.OrganizacionID;
                //usuarioID = usuario.Usuario.UsuarioID;
                listaServicio = ordenRepartoPl.ObtenerTiposDeServicios();
                if (listaServicio == null)
                {
                    ClientScript.RegisterStartupScript(GetType(), "myScript", " EnviarMensajeSinParametros();", true);
                }
                else
                {
                    foreach (var servicio in listaServicio)
                    {
                        switch (servicio.TipoServicioId)
                        {
                        case (int)TipoServicioEnum.Matutino:
                            lblrdbMatutino.Text = servicio.Descripcion;
                            break;

                        case (int)TipoServicioEnum.Vespertino:
                            lblrdbVespertino.Text = servicio.Descripcion;
                            break;
                        }
                    }
                }

                if (!ValidarParametros())
                {
                    ClientScript.RegisterStartupScript(GetType(), "myScript", " EnviarMensajeSinParametros();", true);
                }
                var parametroOrganizacionPL         = new ParametroOrganizacionPL();
                ParametroOrganizacionInfo parametro = parametroOrganizacionPL.ObtenerPorOrganizacionIDClaveParametro(usuario.Usuario.Organizacion.OrganizacionID,
                                                                                                                     ParametrosEnum.EJECORDENREP.ToString());
                if (parametro != null)
                {
                    int valor;
                    int.TryParse(parametro.Valor, out valor);
                    if (valor != 0)
                    {
                        ClientScript.RegisterStartupScript(GetType(), "myScript", " EnviarMensajeEjecutandose();", true);
                    }
                }
            }
            else
            {
                ClientScript.RegisterStartupScript(GetType(), "myScript", "EnviarMensajeRolUsuario();", true);
            }
            CargarComboSeccion();
        }