示例#1
0
        public static LoteInfo ObtenerLotesCorral(int corralID)
        {
            LoteInfo   lote   = null;
            CorralInfo corral = null;

            try
            {
                var seguridad      = (SeguridadInfo)HttpContext.Current.Session["Seguridad"];
                int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID;

                if (seguridad != null)
                {
                    var corralPL = new CorralPL();
                    corral = corralPL.ObtenerPorId(corralID);
                    if (corral.TipoCorral.TipoCorralID != (int)TipoCorral.CorraletaSacrificio)
                    {
                        var lotePL = new LotePL();
                        lote = lotePL.DeteccionObtenerPorCorral(organizacionId, corralID);
                    }
                    else
                    {
                        lote = new LoteInfo();
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }
            return(lote);
        }
        /// <summary>
        /// Guarda el cambio de un corral a otro en los corrales de recepcion
        /// </summary>
        /// <param name="corralInfoOrigen"></param>
        /// <param name="corralInfoDestino"></param>
        /// <param name="usuarioInfo"></param>
        /// <returns></returns>
        internal bool GuardarTraspasoGanadoCorralesRecepcion(CorralInfo corralInfoOrigen, CorralInfo corralInfoDestino, UsuarioInfo usuarioInfo)
        {
            try
            {
                using (var transaction = new TransactionScope())
                {
                    Logger.Info();
                    //Actualiza el corral al lote
                    var loteBl = new LotePL();
                    var lote   = loteBl.DeteccionObtenerPorCorral(corralInfoOrigen.OrganizacionId, corralInfoOrigen.CorralID);
                    loteBl.ActualizarCorral(lote, corralInfoDestino, usuarioInfo);

                    //Actualiza el corral a la entrada del lote
                    var entradaGanadoBl = new EntradaGanadoBL();
                    entradaGanadoBl.ActualizarCorral(lote, corralInfoDestino, usuarioInfo);
                    transaction.Complete();
                    return(true);
                }
            }
            catch (ExcepcionGenerica ex)
            {
                Logger.Error(ex);
                return(false);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                return(false);
            }
        }