/// <summary>
        /// Obtener total de cabezas
        /// </summary>
        /// <param name="animalInfo"></param>
        /// <returns></returns>
        ///
        private bool ObtenerTotalCabezas(AnimalMovimientoInfo animalInfo)
        {
            var objObtenerCabezas = new CorteTransferenciaGanadoDAL();
            var resultado         = objObtenerCabezas.ObtenerTotales(animalInfo);

            if (resultado == null)
            {
                return(false);
            }
            if (resultado.TotalCortadas != resultado.Total)
            {
                return(false);
            }
            return(true);
        }
        /// <summary>
        /// obtiene la entrada de ganado
        /// </summary>
        /// <param name="animalInfo"></param>
        /// <returns></returns>
        internal EntradaGanadoInfo ObtenerEntradaGanado(AnimalInfo animalInfo)
        {
            EntradaGanadoInfo result;

            try
            {
                Logger.Info();
                var permisoDAL = new CorteTransferenciaGanadoDAL();
                result = permisoDAL.ObtenerEntradaGanado(animalInfo);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(result);
        }
        /// <summary>
        /// Obtener tratamientos aplicados
        /// </summary>
        /// <param name="animalInfo"></param>
        /// <param name="tipoMovimiento"></param>
        /// <returns></returns>
        internal List <TratamientoInfo> ObtenerTratamientosAplicados(AnimalInfo animalInfo, int tipoMovimiento)
        {
            List <TratamientoInfo> result;

            try
            {
                Logger.Info();
                var corteTransferenciaGanado = new CorteTransferenciaGanadoDAL();
                result = corteTransferenciaGanado.ObtenerTratamientosAnimal(animalInfo, tipoMovimiento);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(result);
        }
        /// <summary>
        /// Obtener corrales por tipo
        /// </summary>

        internal CorralInfo ObtenerCorralesTipo(TipoCorralInfo tipoCorralInfo, int organizationID)
        {
            CorralInfo result;

            try
            {
                Logger.Info();
                var corteTransferenciaGanado = new CorteTransferenciaGanadoDAL();
                result = corteTransferenciaGanado.ObtenerCorralesTipo(tipoCorralInfo, organizationID);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(result);
        }
        /// <summary>
        /// Obtener totales de cabezas
        /// </summary>
        /// <param name="animalInfo"></param>
        /// <returns></returns>
        internal CorteTransferenciaTotalCabezasInfo ObtenerTotales(AnimalMovimientoInfo animalInfo)
        {
            CorteTransferenciaTotalCabezasInfo result;


            try
            {
                Logger.Info();
                var objCorteTransferencia = new CorteTransferenciaGanadoDAL();
                result = objCorteTransferencia.ObtenerTotales(animalInfo);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(result);
        }