internal List <ControlSacrificioInfo> ObtenerResumenSacrificioSiap(List <ControlSacrificioInfo> resumenSacrificio)
        {
            try
            {
                Logger.Info();
                var result     = new List <ControlSacrificioInfo>();
                var parametros = AuxOrdenSacrificioDAL.ObtenerParametroResumenSacrificioSiap(resumenSacrificio);
                var ds         = Retrieve("ResumenSacrificio_ObtenerPorFecha", parametros);

                if (ValidateDataSet(ds))
                {
                    result = MapOrdenSacrificioDAL.ObtenerResumenSacrificioSiap(ds);
                }

                return(result);
            }
            catch (SqlException ex)
            {
                Logger.Error(ex);
                throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
            }
            catch (DataException ex)
            {
                Logger.Error(ex);
                throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
 /// <summary>
 /// Obtiene la orden de sacrificio de un dia en eespecifico
 /// </summary>
 /// <param name="orden"></param>
 /// <returns></returns>
 internal OrdenSacrificioInfo ObtenerOrdenSacrificioDelDia(OrdenSacrificioInfo orden)
 {
     try
     {
         Logger.Info();
         var parameters             = AuxOrdenSacrificioDAL.ObtenerParametrosOrdenSacrificioDelDia(orden);
         var ds                     = Retrieve("OrdenSacrificio_ObtenerOrdenDiaActual", parameters);
         OrdenSacrificioInfo result = null;
         if (ValidateDataSet(ds))
         {
             result = MapOrdenSacrificioDAL.ObtenerOrdenSacrificio(ds);
         }
         return(result);
     }
     catch (SqlException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (DataException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
        internal List <string> ValidarCorralConLotesActivos(int organizacionId, List <OrdenSacrificioDetalleInfo> detalle)
        {
            try
            {
                Logger.Info();
                var result     = new List <string>();
                var parametros = AuxOrdenSacrificioDAL.ObtenerParametroCorralConLotesActivos(organizacionId, detalle);
                var ds         = Retrieve("Lote_ExitenCorralesConLotesActivos", parametros);

                if (ValidateDataSet(ds))
                {
                    result = MapOrdenSacrificioDAL.ObtenerCorralesConLotesActivos(ds);
                }

                return(result);
            }
            catch (SqlException ex)
            {
                Logger.Error(ex);
                throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
            }
            catch (DataException ex)
            {
                Logger.Error(ex);
                throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
 /// <summary>
 /// Metrodo Para Guardar en en la tabla Animal
 /// </summary>
 internal IList <OrdenSacrificioDetalleInfo> GuardarDetalleOrdenSacrificio(OrdenSacrificioInfo orden, IList <OrdenSacrificioDetalleInfo> detalleOrden)
 {
     try
     {
         Logger.Info();
         var parameters = AuxOrdenSacrificioDAL.ObtenerParametrosGuardarDetalleOrdenSacrificio(orden, detalleOrden);
         var ds         = Retrieve("OrdenSacrificio_GuardarDetalleOrden", parameters);
         IList <OrdenSacrificioDetalleInfo> result = null;
         if (ValidateDataSet(ds))
         {
             result = MapOrdenSacrificioDAL.ObtenerDetalleOrdenSacrificio(ds, true);
         }
         return(result);
     }
     catch (SqlException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (DataException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
 public OrdenSacrificioInfo OrdenSacrificioFecha(string fecha, int organizacionId)
 {
     try
     {
         Logger.Info();
         var parametro = AuxOrdenSacrificioDAL.ObtenerParametroDetalleOrden(fecha, organizacionId);
         var ds        = Retrieve("OrdenSacrificio_ObtenerOrdenFecha", parametro);
         OrdenSacrificioInfo result = null;
         if (ValidateDataSet(ds))
         {
             result = MapOrdenSacrificioDAL.ObtenerOrdenSacrificioFecha(ds);
         }
         return(result);
     }
     catch (DataException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
        /// <summary>
        /// Obtiene el numero de cabezas programadas en otras ordenes para el lote determinado
        /// </summary>
        /// <param name="lote"></param>
        /// <param name="ordenSacrificioId"></param>
        /// <returns></returns>
        internal int ObtnerCabezasDiferentesOrdenes(LoteInfo lote, int ordenSacrificioId)
        {
            var result = 0;

            try
            {
                Logger.Info();
                var parameters = AuxOrdenSacrificioDAL.ObtenerParametroObtnerCabezasDiferentesOrdenes(lote, ordenSacrificioId);
                var ds         = Retrieve("OrdenSacrificio_CabezasSacrificarPorLoteOrdenDiferente", parameters);
                if (ValidateDataSet(ds))
                {
                    result = MapOrdenSacrificioDAL.ObtnerCabezasDiferentesOrdenes(ds);
                }
            }
            catch (SqlException ex)
            {
                Logger.Error(ex);
                throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
            }
            catch (DataException ex)
            {
                Logger.Error(ex);
                throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(result);
        }
        /// <summary>
        /// Obtiene los dias de engorda 70
        /// </summary>
        /// <param name="lote"></param>
        /// <returns></returns>
        internal int ObtnerDiasEngorda70(LoteInfo lote)
        {
            var result = 0;

            try
            {
                Logger.Info();
                var parameters = AuxOrdenSacrificioDAL.ObtenerParametroDiasEngorda70(lote);
                var ds         = Retrieve("OrdenSacrificio_CalcularDiasEngorda70", parameters);
                if (ValidateDataSet(ds))
                {
                    result = MapOrdenSacrificioDAL.ObtenerDiasEngorda70(ds);
                }
            }
            catch (SqlException ex)
            {
                Logger.Error(ex);
                throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
            }
            catch (DataException ex)
            {
                Logger.Error(ex);
                throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(result);
        }
 /// <summary>
 /// Cambia el estatus al detalle de una orden de sacrificio
 /// </summary>
 /// <param name="detalleOrdenSacrificio"></param>
 /// <param name="idUsuario"></param>
 /// <returns></returns>
 internal int EliminarDetalleOrdenSacrificio(IList <OrdenSacrificioDetalleInfo> detalleOrdenSacrificio, int idUsuario)
 {
     try
     {
         Logger.Info();
         var parametros =
             AuxOrdenSacrificioDAL.ObtenerParametrosEliminarOrdenSacrificioDetalle(detalleOrdenSacrificio, idUsuario);
         return(Create("OrdenSacrificio_CambiarEstatus", parametros));
     }
     catch (SqlException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (DataException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
 internal List <SalidaSacrificioInfo> ConsultarEstatusOrdenSacrificioEnMarel(int organizacionId, string fechaSacrificio, List <OrdenSacrificioDetalleInfo> detalle)
 {
     try
     {
         Logger.Info();
         string conexion = ObtenerCadenaConexionSPI(organizacionId);
         using (var connection = new SqlConnection(conexion))
         {
             connection.Open();
             var command = new SqlCommand("ExportSalidaSacrificio_ObtenerStatus", connection)
             {
                 CommandType = CommandType.StoredProcedure
             };
             Dictionary <string, object> parameters = AuxOrdenSacrificioDAL.ObtenerParametroConsultarEstatusMarel(fechaSacrificio, detalle);
             foreach (var param in parameters)
             {
                 IDbDataParameter parameter = new SqlParameter(string.Format("{0}", param.Key), param.Value ?? DBNull.Value);
                 command.Parameters.Add(parameter);
             }
             var reader = command.ExecuteReader();
             return(MapOrdenSacrificioDAL.ObtenerEstatusOrdenSacrificioMarel(reader));
         }
     }
     catch (SqlException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (DataException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }