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);
            }
        }
        public static List <EntradaProductoInfo> ConsultarListadoEntradaProducto(int folio)
        {
            try
            {
                var entradaProductoPl = new EntradaProductoPL();
                var seguridad         = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;
                var organizacionId    = 0;

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

                List <EntradaProductoInfo> listadoFolios = entradaProductoPl.ObtenerEntradaProductosAyuda(organizacionId);
                if (listadoFolios != null)
                {
                    listadoFolios =
                        listadoFolios.Where(
                            entrada =>
                            entrada.Activo == EstatusEnum.Activo && entrada.PesoBruto > 0 && entrada.FechaFinDescarga.Year == 1).ToList();
                    if (listadoFolios.Count == 0)
                    {
                        listadoFolios = null;
                    }
                }

                return(listadoFolios);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new SystemException(ex.Message);
            }
        }
        private void ConsultarFoliosValidos(int folio)
        {
            try
            {
                var entradaProductoValido           = new EntradaProductoPL();
                List <EntradaProductoInfo> entradas = entradaProductoValido.ObtenerEntradaProductoValidoAyuda(new EntradaProductoInfo
                {
                    Organizacion = new OrganizacionInfo
                    {
                        OrganizacionID = organizacionId
                    },
                    Folio        = folio,
                    TipoContrato = new TipoContratoInfo
                    {
                        TipoContratoId = (int)TipoContratoEnum.BodegaExterna
                    }
                });

                dgFoliosEntradaProducto.ItemsSource = entradas;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                  Properties.Resources.BusquedaFolioBoletaRecepcion_MsgErrorConsulta,
                                  MessageBoxButton.OK, MessageImage.Error);
            }
        }
Пример #4
0
        public static EntradaProductoInfo AutorizarRechazarEntrada(EntradaProductoInfo entradaProducto, int estatusId)
        {
            try
            {
                var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;
                if (seguridad != null)
                {
                    entradaProducto.Organizacion = new OrganizacionInfo {
                        OrganizacionID = seguridad.Usuario.Organizacion.OrganizacionID
                    };
                    entradaProducto.Estatus = new EstatusInfo {
                        EstatusId = estatusId
                    };
                    entradaProducto.UsuarioModificacionID = seguridad.Usuario.UsuarioID;
                    entradaProducto.OperadorAutoriza      = new OperadorInfo {
                        OperadorID = seguridad.Usuario.Operador.OperadorID
                    };

                    var entradaProductoPl = new EntradaProductoPL();
                    if (entradaProductoPl.AutorizaEntrada(entradaProducto))
                    {
                        return(entradaProducto);
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(null);
        }
Пример #5
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)
                    {
                        if (entradaProducto.Activo != EstatusEnum.Activo)
                        {
                            entradaProducto = null;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new SystemException(ex.Message);
            }
            return(entradaProducto);
        }
Пример #6
0
        public static dynamic ObtenerFoliosAutorizados(int folio)
        {
            dynamic resultado = new {};

            try
            {
                var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;
                if (seguridad != null)
                {
                    var entradaProductoPL = new EntradaProductoPL();
                    int organizacionID    = seguridad.Usuario.Organizacion.OrganizacionID;
                    EntradaProductoInfo entradaProducto = entradaProductoPL.ObtenerEntradaProductoPorFolio(folio,
                                                                                                           organizacionID);
                    if (entradaProducto != null)
                    {
                        resultado = new { EntradaProducto = entradaProducto };
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new SystemException(ex.Message);
            }
            return(resultado);
        }
Пример #7
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);
        }
Пример #8
0
        public static List <EntradaProductoInfo> ObtenerEntradaProductosPendiente(int folio)
        {
            List <EntradaProductoInfo> listaEntradaProductoPendiente = null;

            try
            {
                var entradaProductoPl = new EntradaProductoPL();
                var seguridad         = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;

                if (seguridad != null)
                {
                    int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID;
                    var entrada        = new EntradaProductoInfo {
                        Organizacion = new OrganizacionInfo {
                            OrganizacionID = organizacionId
                        }, Estatus = new EstatusInfo {
                            EstatusId = (int)Estatus.PendienteAutorizar
                        }
                    };
                    listaEntradaProductoPendiente =
                        entradaProductoPl.ObtenerEntradaProductosTodosPorEstatusIdAyudaForraje(entrada, folio);

                    if (folio > 0 && listaEntradaProductoPendiente != null)
                    {
                        //Filtra todos los folios que contengan el numero de folio capturado
                        listaEntradaProductoPendiente =
                            listaEntradaProductoPendiente.Where(
                                registro =>
                                registro.Folio.ToString(CultureInfo.InvariantCulture)
                                .Contains(folio.ToString(CultureInfo.InvariantCulture))).ToList();
                    }

                    if (listaEntradaProductoPendiente != null)
                    {
                        var productoPl = new ProductoPL();
                        var listaProductosInvalidos = productoPl.ObtenerProductosValidosForraje();

                        listaEntradaProductoPendiente = (from contrato in listaEntradaProductoPendiente
                                                         where
                                                         !(from productos in listaProductosInvalidos select productos.ProductoId).ToList()
                                                         .Contains(contrato.Producto.ProductoId)
                                                         select contrato).ToList();
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(listaEntradaProductoPendiente);
        }
Пример #9
0
 public static void ActualizarRevisionGerente(int entradaProductoId)
 {
     try
     {
         var entradaProductoPL = new EntradaProductoPL();
         entradaProductoPL.ActualizaRevisionGerente(entradaProductoId);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new SystemException(ex.Message);
     }
 }
Пример #10
0
        public static List <DiferenciasIndicadoresMuestraContrato> ObtenerDiferenciasIndicadores(int entradaProductoId)
        {
            var entradaProductoPL = new EntradaProductoPL();
            List <DiferenciasIndicadoresMuestraContrato> diferenciasIndicadores;

            try
            {
                diferenciasIndicadores = entradaProductoPL.ObtenerDiferenciasIndicadoresMuestraContratoPorEntradaID(entradaProductoId);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new SystemException(ex.Message);
            }

            return(diferenciasIndicadores);
        }
        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);
            }
        }
Пример #12
0
 public static List <EntradaProductoInfo> ObtenerNotificacionesAutorizadas()
 {
     try
     {
         var entradaProductoPL = new EntradaProductoPL();
         var seguridad         = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;
         List <EntradaProductoInfo> notificacionesAutorizadas = null;
         if (seguridad != null)
         {
             notificacionesAutorizadas =
                 entradaProductoPL.ObtenerNotificacionesAutorizadas(seguridad.Usuario.Organizacion.OrganizacionID);
         }
         return(notificacionesAutorizadas);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Пример #13
0
        public static IList <MenuInfo> CargarMenu()
        {
            IList <MenuInfo> menuLista = null;

            try
            {
                var usuario = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;
                if (usuario != null)
                {
                    var menu = new MenuPL();
                    menuLista = menu.ObtenerPorUsuario(usuario.Usuario.UsuarioActiveDirectory, true);
                    if (menuLista != null && menuLista.Any())
                    {
                        MenuInfo opcionNotificaciones = menuLista.FirstOrDefault(desc => desc.WinForm.Equals("Notificaciones"));
                        if (opcionNotificaciones != null)
                        {
                            var entradaProductoPL = new EntradaProductoPL();
                            int cantidadAutorizacionesPendientes =
                                entradaProductoPL.ObtenerCantidadNotificacionesAutorizadas(
                                    usuario.Usuario.Organizacion.OrganizacionID);

                            opcionNotificaciones.Formulario = string.Format(opcionNotificaciones.Formulario,
                                                                            cantidadAutorizacionesPendientes);
                            if (cantidadAutorizacionesPendientes > 0)
                            {
                                opcionNotificaciones.Clase = "notificacionesPendientesAutorizar";
                            }
                        }
                    }
                }
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(menuLista);
        }
        public static bool ActualizaOperadorFechaDescargaEnPatio(EntradaProductoInfo entrada)
        {
            try
            {
                var seguridad  = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;
                int operadorId = 0;

                if (seguridad != null)
                {
                    operadorId = seguridad.Usuario.Operador.OperadorID;
                }

                entrada.OperadorAlmacen = new OperadorInfo {
                    OperadorID = operadorId
                };
                var entradaProductoPl = new EntradaProductoPL();
                return(entradaProductoPl.ActualizaOperadorFechaDescargaEnPatio(entrada));
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new SystemException(ex.Message);
            }
        }
Пример #15
0
        public static ResultadoValidacion GuardarEntradaProducto(EntradaProductoInfo entradaProducto, int Bandera)
        {
            try
            {
                var productoPl        = new ProductoPL();
                var resultado         = new ResultadoValidacion();
                var boletaRecepcionPl = new BoletaRecepcionForrajePL();
                var seguridad         = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;
                if (seguridad != null)
                {
                    var entradaProductoPl = new EntradaProductoPL();
                    if (entradaProducto.Justificacion == null)
                    {
                        entradaProducto.Organizacion = new OrganizacionInfo {
                            OrganizacionID = seguridad.Usuario.Organizacion.OrganizacionID
                        };

                        entradaProducto.Producto = productoPl.ObtenerPorID(entradaProducto.Producto);
                        var tmpRegistro = new RegistroVigilanciaInfo
                        {
                            Producto     = entradaProducto.Producto,
                            Organizacion = entradaProducto.Organizacion
                        };

                        foreach (EntradaProductoDetalleInfo tmpDetalle in entradaProducto.ProductoDetalle)
                        {
                            var enumIndicador = (IndicadoresEnum)tmpDetalle.Indicador.IndicadorId;

                            foreach (var tmpIndicador in tmpDetalle.ProductoMuestras.Where(mue => mue.EsOrigen == EsOrigenEnum.Destino))
                            {
                                RegistroVigilanciaInfo registroVigelancia = boletaRecepcionPl.ObtenerRangos(tmpRegistro, enumIndicador);
                                if (registroVigelancia == null)
                                {
                                    resultado.Resultado = false;
                                    resultado.Mensaje   = boletaRecepcionPl.ObtenerMensajeRango() + " " + entradaProducto.Producto.ProductoDescripcion;

                                    return(resultado);
                                }
                                if (registroVigelancia.porcentajePromedioMin > tmpIndicador.Porcentaje || registroVigelancia.porcentajePromedioMax < tmpIndicador.Porcentaje)
                                {
                                    Bandera = 2;
                                }
                            }
                        }

                        //Bandera = 1.- Aprobada:2.- Pendiente por Autorizar;3.- Autorizado:
                        entradaProducto.Estatus = new EstatusInfo();

                        if (Bandera == 1)
                        {
                            entradaProducto.Estatus.EstatusId = (int)Estatus.Aprobado;
                        }
                        else
                        {
                            entradaProducto.Estatus.EstatusId = (int)Estatus.PendienteAutorizar;
                        }
                        entradaProducto.PesoBonificacion = 0;
                        var registroVigilanciaPl = new RegistroVigilanciaPL();
                        var registroVigilancia   = new RegistroVigilanciaInfo
                        {
                            FolioTurno   = entradaProducto.RegistroVigilancia.FolioTurno,
                            Organizacion =
                                new OrganizacionInfo {
                                OrganizacionID = seguridad.Usuario.Organizacion.OrganizacionID
                            }
                        };
                        entradaProducto.RegistroVigilancia = registroVigilanciaPl.ObtenerRegistroVigilanciaPorFolioTurno(registroVigilancia);
                        entradaProducto.UsuarioCreacionID  = seguridad.Usuario.UsuarioID;
                        entradaProducto.OperadorAnalista   = new OperadorInfo {
                            OperadorID = seguridad.Usuario.Operador.OperadorID
                        };
                        entradaProducto = entradaProductoPl.GuardarEntradaProducto(entradaProducto, (int)TipoFolio.EntradaProducto);

                        resultado.Resultado = true;
                        resultado.Control   = entradaProducto;
                        return(resultado);
                    }
                    entradaProducto.Organizacion = new OrganizacionInfo {
                        OrganizacionID = seguridad.Usuario.Organizacion.OrganizacionID
                    };
                    entradaProducto.Estatus = new EstatusInfo {
                        EstatusId = (int)Estatus.Autorizado
                    };
                    entradaProducto.UsuarioModificacionID = seguridad.Usuario.UsuarioID;
                    entradaProducto.OperadorAutoriza      = new OperadorInfo {
                        OperadorID = seguridad.Usuario.Operador.OperadorID
                    };
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(null);
        }