/// <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); * }*/ }
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); }
/// <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); }
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); }
/// <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); }
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); } } } } }
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> /// 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; } }
/// <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); } }
/// <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; } } }
/// <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; } } }
//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(); }
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); }