public static EntradaProductoInfo ConsultarEntradaProducto(int folio)
        {
            try
            {
                var entradaProductoPl = new EntradaProductoPL();
                var productoPl        = new ProductoPL();

                var seguridad      = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;
                var organizacionId = 0;

                if (seguridad != null)
                {
                    organizacionId = seguridad.Usuario.Organizacion.OrganizacionID;
                }

                var entradaProducto = entradaProductoPl.ObtenerEntradaProductoPorFolio(folio, organizacionId);
                if (entradaProducto != null)
                {
                    var productoForraje = productoPl.ObtenerProductoForraje(entradaProducto.Producto);
                    if (productoForraje != null)
                    {
                        entradaProducto.Producto.Forraje = true;
                    }
                }

                return(entradaProducto);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new SystemException(ex.Message);
            }
        }
Пример #2
0
        public static RegistroVigilanciaInfo ObtenerTicket(int ticket)
        {
            RegistroVigilanciaInfo registroVigilancia = null;
            var registroVigilanciaPL = new RegistroVigilanciaPL();

            try
            {
                var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;
                if (seguridad != null)
                {
                    registroVigilancia = new RegistroVigilanciaInfo {
                        FolioTurno = ticket, Organizacion = new OrganizacionInfo {
                            OrganizacionID = seguridad.Usuario.Organizacion.OrganizacionID
                        }
                    };
                    registroVigilancia = registroVigilanciaPL.ObtenerRegistroVigilanciaPorFolioTurnoActivoInactivo(registroVigilancia);

                    if (registroVigilancia != null)
                    {
                        bool tieneFechaSalida = (registroVigilancia.FechaSalida != new DateTime(1900, 01, 01));

                        var entradaProductoPl = new EntradaProductoPL();
                        //valida que el folio ingresado del registro de vigilancia sea de un producto "MicroIngrediente"
                        EntradaProductoInfo entradaProducto = entradaProductoPl.ObtenerEntradaProductoPorRegistroVigilanciaID(registroVigilancia.RegistroVigilanciaId, registroVigilancia.Organizacion.OrganizacionID);
                        //
                        if (entradaProducto == null)
                        {
                            var productoPl = new ProductoPL();
                            //Valida que el registro de vigilancia sea de un producto forraje configurado en la TB ParametroGeneral
                            var producto = productoPl.ObtenerProductoForraje(registroVigilancia.Producto);
                            if (producto != null)//si es forraje:
                            {
                                registroVigilancia = null;
                            }
                            //
                        }
                        else
                        {
                            registroVigilancia = null;
                        }

                        if (tieneFechaSalida)
                        {
                            return(registroVigilancia);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(registroVigilancia);
        }
Пример #3
0
        public static PedidoDetalleInfo ObtenerProgramacionPedidoDetalle(int folioDetallePedido, int folioPedido)
        {
            var seguridad      = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;
            int organizacionId = 0;
            var pedidosPl      = new PedidosPL();

            try
            {
                if (seguridad != null)
                {
                    organizacionId = seguridad.Usuario.Organizacion.OrganizacionID;
                }

                List <PedidoInfo> listaPedidos = pedidosPl.ObtenerPedidosProgramadosYParciales(new PedidoInfo
                {
                    FolioPedido  = folioPedido, // 0 Regresa todos los folios.
                    Organizacion = new OrganizacionInfo {
                        OrganizacionID = organizacionId
                    },
                    Activo = EstatusEnum.Activo
                });

                PedidoDetalleInfo pedidoDetalleInfo = null;

                if (listaPedidos != null)
                {
                    PedidoInfo pedido = listaPedidos.First();
                    foreach (PedidoDetalleInfo pedidoDetalle in pedido.DetallePedido)
                    {
                        if (pedidoDetalle.PedidoDetalleId == folioDetallePedido)
                        {
                            var productoPl      = new ProductoPL();
                            var productoForraje = productoPl.ObtenerProductoForraje(pedidoDetalle.Producto);
                            if (productoForraje != null)
                            {
                                pedidoDetalle.Producto.Forraje = true;
                            }
                            pedidoDetalleInfo = pedidoDetalle;
                            break;
                        }
                    }
                }

                return(pedidoDetalleInfo);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
Пример #4
0
        public static PedidoDetalleInfo ObtenerProgramacionPedidoDetalleTicket(int folioDetallePedido, int ticket)
        {
            try
            {
                PedidoDetalleInfo pedidoDetalleInfo = null;

                var pedidoDetallePl = new PedidoDetallePL();
                var pedidoDetalle   = pedidoDetallePl.ObtenerDetallePedidoPorId(folioDetallePedido);

                if (pedidoDetalle.ProgramacionMateriaPrima != null)
                {
                    foreach (var programacion in pedidoDetalle.ProgramacionMateriaPrima)
                    {
                        if (programacion.PesajeMateriaPrima != null)
                        {
                            foreach (
                                var pesajeMateriaPrima in
                                programacion.PesajeMateriaPrima.Where(
                                    pesajeMateriaPrima => pesajeMateriaPrima.Ticket == ticket))
                            {
                                var listapesajeTicket       = new List <PesajeMateriaPrimaInfo>();
                                var listaProgramacionTicket = new List <ProgramacionMateriaPrimaInfo>();
                                listapesajeTicket.Add(pesajeMateriaPrima);
                                programacion.PesajeMateriaPrima = listapesajeTicket;

                                listaProgramacionTicket.Add(programacion);
                                pedidoDetalle.ProgramacionMateriaPrima = listaProgramacionTicket;

                                var productoPl      = new ProductoPL();
                                var productoForraje = productoPl.ObtenerProductoForraje(pedidoDetalle.Producto);
                                if (productoForraje != null)
                                {
                                    pedidoDetalle.Producto.Forraje = true;
                                }
                                pedidoDetalleInfo = pedidoDetalle;
                                break;
                            }
                        }
                    }
                }

                return(pedidoDetalleInfo);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
        public static string ActualizaFechaDescargaEnPatio(EntradaProductoInfo entrada)
        {
            try
            {
                bool guardarFecha = true;

                var entradaProductoPl = new EntradaProductoPL();
                var productoPl        = new ProductoPL();
                var productoForraje   = productoPl.ObtenerProductoForraje(entrada.Producto);
                if (productoForraje != null)
                {
                    var entradaproducto = entradaProductoPl.ObtenerEntradaProductoPorId(entrada.EntradaProductoId);
                    if (entradaproducto != null)
                    {
                        if (entradaproducto.ProductoDetalle != null)
                        {
                            foreach (var entradaDetalle in entradaproducto.ProductoDetalle)
                            {
                                if (entradaDetalle.ProductoMuestras != null)
                                {
                                    if (entradaDetalle.ProductoMuestras.Count < 30)
                                    {
                                        guardarFecha = false;
                                    }
                                }
                            }
                        }
                    }
                }

                if (guardarFecha)
                {
                    return(entradaProductoPl.ActualizaFechaDescargaPiezasEnPatio(entrada));
                }
                else
                {
                    return("ErrorForraje");
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new SystemException(ex.Message);
            }
        }
Пример #6
0
        public static EntradaProductoInfo ObtenerFolio(int folio)
        {
            var entradaProductoPL = new EntradaProductoPL();
            EntradaProductoInfo entradaProducto = null;

            try
            {
                var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;

                if (seguridad != null)
                {
                    entradaProducto = entradaProductoPL.ObtenerEntradaProductoPorFolio(folio,
                                                                                       seguridad.Usuario.Organizacion.OrganizacionID);
                    if (entradaProducto != null)
                    {
                        var productoPl = new ProductoPL();
                        var producto   = productoPl.ObtenerProductoForraje(entradaProducto.Producto);
                        if (producto != null)
                        {
                            entradaProducto = null;
                        }
                        else
                        {
                            if (entradaProducto.Activo != EstatusEnum.Activo)
                            {
                                entradaProducto = null;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new SystemException(ex.Message);
            }

            return(entradaProducto);
        }