Exemplo n.º 1
0
        /// <summary>
        /// Obtener la orden de sacrificio del dia
        /// </summary>
        /// <param name="ordenInfo"></param>
        /// <returns></returns>
        internal OrdenSacrificioInfo ObtenerOrdenSacrificioDelDia(OrdenSacrificioInfo ordenInfo)
        {
            OrdenSacrificioInfo result;

            try
            {
                Logger.Info();
                var ordenSacrificioDal = new OrdenSacrificioDAL();
                result = ordenSacrificioDal.ObtenerOrdenSacrificioDelDia(ordenInfo);

                if (result != null)
                {
                    result.DetalleOrden = ordenSacrificioDal.ObtenerDetalleOrdenSacrificio(result, ordenInfo.Activo);
                }
            }
            catch (ExcepcionGenerica ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(result);
        }
Exemplo n.º 2
0
 internal List <string> ValidarCorralConLotesActivos(int organizacionId, List <OrdenSacrificioDetalleInfo> detalle)
 {
     try
     {
         var dal = new OrdenSacrificioDAL();
         return(dal.ValidarCorralConLotesActivos(organizacionId, detalle));
     }
     catch (Exception)
     {
         throw;
     }
 }
Exemplo n.º 3
0
 internal List <ControlSacrificioInfo> ObtenerResumenSacrificioScp(string fechaSacrificio, int organizacionId)
 {
     try
     {
         var dal = new OrdenSacrificioDAL();
         return(dal.ObtenerResumenSacrificioScp(fechaSacrificio, organizacionId));
     }
     catch (Exception)
     {
         throw;
     }
 }
Exemplo n.º 4
0
 internal List <OrdenSacrificioDetalleInfo> ValidarCabezasActualesVsCabezasSacrificar(int organizacionId, List <OrdenSacrificioDetalleInfo> detalle)
 {
     try
     {
         var dal = new OrdenSacrificioDAL();
         return(dal.ValidarCabezasActualesVsCabezasSacrificar(organizacionId, detalle));
     }
     catch (Exception)
     {
         throw;
     }
 }
Exemplo n.º 5
0
 internal List <ControlSacrificioInfo> ObtenerResumenSacrificioSiap(List <ControlSacrificioInfo> resumenSacrificio)
 {
     try
     {
         var dal = new OrdenSacrificioDAL();
         return(dal.ObtenerResumenSacrificioSiap(resumenSacrificio));
     }
     catch (Exception)
     {
         throw;
     }
 }
Exemplo n.º 6
0
 internal List <SalidaSacrificioInfo> ConsultarEstatusOrdenSacrificioEnMarel(int organizacionId, string fechaSacrificio, List <OrdenSacrificioDetalleInfo> detalle)
 {
     try
     {
         var dal = new OrdenSacrificioDAL();
         return(dal.ConsultarEstatusOrdenSacrificioEnMarel(organizacionId, fechaSacrificio, detalle));
     }
     catch (Exception)
     {
         throw;
     }
 }
Exemplo n.º 7
0
 /// <summary>
 /// Obtiene el numero de cabezas programadas en otras ordenes para el lote determinado
 /// </summary>
 /// <param name="loteID"></param>
 /// <returns></returns>
 internal bool ValidarLoteOrdenSacrificio(int loteID)
 {
     try
     {
         Logger.Info();
         var ordenSacrificioDal = new OrdenSacrificioDAL();
         return(ordenSacrificioDal.ValidarLoteOrdenSacrificio(loteID));
     }
     catch (ExcepcionGenerica ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Exemplo n.º 8
0
 /// <summary>
 /// Metodo para decrementar el animal muerto de la orden se sacrificio.
 /// </summary>
 /// <param name="animalID"></param>
 internal void DecrementarAnimalMuerto(long animalID)
 {
     try
     {
         Logger.Info();
         var ordenSacrificioDal = new OrdenSacrificioDAL();
         ordenSacrificioDal.DecrementarAnimalMuerto(animalID);
     }
     catch (ExcepcionGenerica ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Exemplo n.º 9
0
 /// <summary>
 /// Obteneri dias de engorda 70
 /// </summary>
 /// <param name="lote"></param>
 /// <param name="ordenSacrificioId"></param>
 /// <returns></returns>
 public int ObtnerCabezasDiferentesOrdenes(LoteInfo lote, int ordenSacrificioId)
 {
     try
     {
         Logger.Info();
         var ordenSacrificioDal = new OrdenSacrificioDAL();
         return(ordenSacrificioDal.ObtnerCabezasDiferentesOrdenes(lote, ordenSacrificioId));
     }
     catch (ExcepcionGenerica ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Exemplo n.º 10
0
        internal List <string> ValidaLoteNoqueado(string con, string xml)
        {
            List <string> listLoteNoqueado;

            try
            {
                OrdenSacrificioDAL ordenDAL = new OrdenSacrificioDAL();
                listLoteNoqueado = ordenDAL.ValidaLoteNoqueado(con, xml);
            }
            catch (ExcepcionGenerica ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(listLoteNoqueado);
        }
Exemplo n.º 11
0
        internal static List <string> ConexionOrganizacion(int organizacionId)
        {
            List <string> conexion;

            try
            {
                OrdenSacrificioDAL ordenSacrificioDal = new OrdenSacrificioDAL();
                conexion = ordenSacrificioDal.ConexionOrganizacion(organizacionId);
            }
            catch (ExcepcionGenerica ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(conexion);
        }
Exemplo n.º 12
0
        internal OrdenSacrificioInfo OrdenSacrificioFecha(string fecha, int organizacionId)
        {
            OrdenSacrificioInfo ordenFecha;

            try
            {
                Logger.Info();
                var ordenSacrificioDal = new OrdenSacrificioDAL();
                ordenFecha = ordenSacrificioDal.OrdenSacrificioFecha(fecha, organizacionId);
            }
            catch (ExcepcionGenerica ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(ordenFecha);
        }
Exemplo n.º 13
0
        internal bool CancelacionOrdenSacrificioSCP(string xmlOrdenesDetalle, string fechaSacrificio, int organizacionId)
        {
            bool result;

            try
            {
                var dal = new OrdenSacrificioDAL();
                result = dal.CancelacionOrdenSacrificioSCP(xmlOrdenesDetalle, fechaSacrificio, organizacionId);
            }
            catch (ExcepcionGenerica ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }

            return(result);
        }
Exemplo n.º 14
0
        internal bool ValidaCancelacionCabezasSIAP(string xml, int ordenSacrificioId, int usuarioId)
        {
            bool result;

            try
            {
                OrdenSacrificioDAL ordenDAL = new OrdenSacrificioDAL();
                result = ordenDAL.ValidaCancelacionCabezasSIAP(xml, ordenSacrificioId, usuarioId);
            }
            catch (ExcepcionGenerica ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }

            return(result);
        }
Exemplo n.º 15
0
 internal static IList <OrdenSacrificioDetalleInfo> ObtenerOrdenSacrificioDetalle(int ordenSacrificioId)
 {
     try
     {
         Logger.Info();
         var ordenSacrificioDal = new OrdenSacrificioDAL();
         return(ordenSacrificioDal.ObtenerDetalleOrdenSacrificio(new OrdenSacrificioInfo()
         {
             OrdenSacrificioID = ordenSacrificioId
         }, true));
     }
     catch (ExcepcionGenerica ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Exemplo n.º 16
0
        internal List <OrdenSacrificioDetalleInfo> DetalleOrden(string fecha, int organizacionId)
        {
            List <OrdenSacrificioDetalleInfo> detalle;

            try
            {
                Logger.Info();
                var ordenSacrificioDal = new OrdenSacrificioDAL();
                detalle = ordenSacrificioDal.DetalleOrden(fecha, organizacionId);
            }
            catch (ExcepcionGenerica ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(detalle);
        }
Exemplo n.º 17
0
        /// <summary>
        /// Eliminar detalle de la orden de sacrificio
        /// </summary>
        /// <param name="detalleOrdenInfo"></param>
        /// <param name="idUsuario"></param>
        /// <returns></returns>
        internal int EliminarDetalleOrdenSacrificio(IList <OrdenSacrificioDetalleInfo> detalleOrdenInfo, int idUsuario)
        {
            int result;

            try
            {
                Logger.Info();
                var ordenSacrificioDal = new OrdenSacrificioDAL();
                result = ordenSacrificioDal.EliminarDetalleOrdenSacrificio(detalleOrdenInfo, idUsuario);
            }
            catch (ExcepcionGenerica ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(result);
        }
Exemplo n.º 18
0
        /// <summary>
        /// Método Para Guardar en en la Tabla Animal
        /// </summary>
        internal OrdenSacrificioInfo GuardarOrdenSacrificio(OrdenSacrificioInfo ordenInfo, IList <OrdenSacrificioDetalleInfo> detalleOrden, int organizacionId)
        {
            OrdenSacrificioInfo result = null;

            try
            {
                Logger.Info();
                IList <SalidaSacrificioInfo> salidaSacrificio = null;
                var    paramOrgPl             = new ParametroOrganizacionBL();
                var    salidaSacrificioDal    = new SalidaSacrificioDAL();
                var    ordenSacrificioDal     = new OrdenSacrificioDAL();
                var    salidaSacrificioNuevos = new List <SalidaSacrificioInfo>();
                var    osId        = 0;
                var    aplicaMarel = false;
                string conexion    = salidaSacrificioDal.ObtenerCadenaConexionSPI(organizacionId);
                var    paramOrg    = paramOrgPl.ObtenerPorOrganizacionIDClaveParametro(organizacionId, ParametrosEnum.AplicaSalidaSacrificioMarel.ToString());
                if (paramOrg != null)
                {
                    if (paramOrg.Valor.Trim() == "1")
                    {
                        aplicaMarel = true;
                        IList <SalidaSacrificioDetalleInfo> detalleSacrificio = null;
                        using (var transaction = new TransactionScope())
                        {
                            result = ordenSacrificioDal.GuardarOrdenSacrificio(ordenInfo);
                            if (result != null)
                            {
                                result.UsuarioCreacion = ordenInfo.UsuarioCreacion;
                                ordenSacrificioDal.GuardarDetalleOrdenSacrificio(result, detalleOrden);
                                salidaSacrificio = salidaSacrificioDal.ObtenerPorOrdenSacrificioID(result.OrdenSacrificioID);
                            }

                            //Obtenemos registros de la orden de sacrificio del SIAP para enviarlos al SCP
                            osId = Convert.ToInt32(result.OrdenSacrificioID);
                            detalleSacrificio = salidaSacrificioDal.ObtenerPorOrdenSacrificioId(osId, organizacionId, 0, ordenInfo.UsuarioCreacion);

                            transaction.Complete();
                        }

                        if (salidaSacrificio != null && salidaSacrificio.Count > 0)
                        {
                            foreach (var corralSacrificio in salidaSacrificio)
                            {
                                OrdenSacrificioDetalleInfo detalleValidar =
                                    detalleOrden.FirstOrDefault(orden => corralSacrificio.NUM_CORR.Equals(orden.Corral.Codigo.Trim().PadLeft(3, '0'), StringComparison.InvariantCultureIgnoreCase));

                                if (detalleValidar != null)
                                {
                                    if (detalleValidar.OrdenSacrificioDetalleID == 0)
                                    {
                                        salidaSacrificioNuevos.Add(corralSacrificio);
                                    }
                                }
                            }

                            var guardoSCP = false;
                            using (var transaction = new TransactionScope())
                            {
                                if (!salidaSacrificioDal.CrearLista(salidaSacrificioNuevos, conexion))
                                {
                                    Logger.Error(new Exception("Ocurrió un error al enviar información al SCP."));
                                    result = null;
                                }
                                else
                                {
                                    //Obtenemos salida de sacrificio del SCP para insertarla en Marel
                                    var sacrificio = salidaSacrificioDal.ObtenerSalidaSacrificio(detalleSacrificio.ToList(), organizacionId, conexion);
                                    if (sacrificio.Count > 0)
                                    {
                                        //Guardar información en Marel
                                        if (!salidaSacrificioDal.GuardarSalidaSacrificioMarel(sacrificio, organizacionId, conexion))
                                        {
                                            Logger.Error(new Exception("Ocurrió un error al enviar información al SCP-Marel."));
                                            result = null;
                                        }
                                        else
                                        {
                                            guardoSCP = true;
                                            transaction.Complete();
                                        }
                                    }
                                    else
                                    {
                                        Logger.Error(new Exception("Ocurrió un error al obtener información del SCP para enviarla a Marel"));
                                        result = null;
                                    }
                                }
                            }

                            if (!guardoSCP)
                            {
                                salidaSacrificioDal.EliminarDetalleOrdenSacrificio(salidaSacrificioNuevos, organizacionId, osId, 1, ordenInfo.UsuarioCreacion);
                            }
                        }
                    }
                }

                if (!aplicaMarel)
                {
                    using (var transaction = new TransactionScope())
                    {
                        result = ordenSacrificioDal.GuardarOrdenSacrificio(ordenInfo);
                        if (result != null)
                        {
                            result.UsuarioCreacion = ordenInfo.UsuarioCreacion;
                            ordenSacrificioDal.GuardarDetalleOrdenSacrificio(result, detalleOrden);
                            salidaSacrificio = salidaSacrificioDal.ObtenerPorOrdenSacrificioID(result.OrdenSacrificioID);
                        }
                        osId = Convert.ToInt32(result.OrdenSacrificioID);
                        transaction.Complete();
                    }

                    if (salidaSacrificio != null && salidaSacrificio.Count > 0)
                    {
                        foreach (var corralSacrificio in salidaSacrificio)
                        {
                            OrdenSacrificioDetalleInfo detalleValidar =
                                detalleOrden.FirstOrDefault(orden => corralSacrificio.NUM_CORR.Equals(orden.Corral.Codigo.Trim().PadLeft(3, '0'), StringComparison.InvariantCultureIgnoreCase));

                            if (detalleValidar != null)
                            {
                                if (detalleValidar.OrdenSacrificioDetalleID == 0)
                                {
                                    salidaSacrificioNuevos.Add(corralSacrificio);
                                }
                            }
                        }

                        var guardoSCP = false;
                        using (var transaction = new TransactionScope())
                        {
                            if (!salidaSacrificioDal.CrearLista(salidaSacrificioNuevos, conexion))
                            {
                                Logger.Error(new Exception("Ocurrió un error al enviar información al SCP."));
                                result = null;
                            }
                            else
                            {
                                guardoSCP = true;
                                transaction.Complete();
                            }
                        }

                        if (!guardoSCP)
                        {
                            salidaSacrificioDal.EliminarDetalleOrdenSacrificio(salidaSacrificioNuevos, organizacionId, osId, 0, ordenInfo.UsuarioCreacion);
                        }
                    }
                }
            }
            catch (ExcepcionGenerica ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(result);
        }