예제 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="filtro"></param>
        /// <returns></returns>
        public EntradaProductoInfo ObtenerPorFolioPorEntradaMateriaPrimaEstatus(EntradaProductoInfo filtro)
        {
            ResultadoInfo <EntradaProductoInfo> listaEntradaProductoInfo;
            EntradaProductoInfo entradaProductoInfo = null;

            try
            {
                Logger.Info();
                PaginacionInfo pagina = new PaginacionInfo();
                pagina.Inicio = 1;
                pagina.Limite = 1;
                var entradaGanadoBL = new EntradaProductoBL();
                listaEntradaProductoInfo = entradaGanadoBL.ObtenerFoliosPorPaginaParaEntradaMateriaPrimaEstatus(pagina, filtro);
                if (listaEntradaProductoInfo != null)
                {
                    entradaProductoInfo = listaEntradaProductoInfo.Lista[0];
                }
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(entradaProductoInfo);
        }
예제 #2
0
        /// <summary>
        /// Obtiene un flujo de datos
        /// con la poliza de compra
        /// </summary>
        /// <param name="contenedorEntradaMateriaPrima"></param>
        /// <param name="polizaClave"></param>
        /// <returns></returns>
        private MemoryStream ReimpresionPolizaCompra(ContenedorEntradaMateriaPrimaInfo contenedorEntradaMateriaPrima
                                                     , TipoPolizaInfo polizaClave)
        {
            var polizaBL = new PolizaBL();
            IList <PolizaInfo> polizasVenta = polizaBL.ObtenerPoliza(TipoPoliza.EntradaCompra,
                                                                     contenedorEntradaMateriaPrima.Contrato.Organizacion.
                                                                     OrganizacionID,
                                                                     contenedorEntradaMateriaPrima.Contrato.Fecha
                                                                     ,
                                                                     contenedorEntradaMateriaPrima.Contrato.Folio.
                                                                     ToString(),
                                                                     polizaClave.ClavePoliza, 1);
            MemoryStream stream = null;

            if (polizasVenta != null)
            {
                var entradaProductoBL = new EntradaProductoBL();
                contenedorEntradaMateriaPrima =
                    entradaProductoBL.ObtenerPorFolioEntradaContrato(contenedorEntradaMateriaPrima.Contrato.Folio,
                                                                     contenedorEntradaMateriaPrima.Contrato.ContratoId,
                                                                     contenedorEntradaMateriaPrima.Contrato.Organizacion.OrganizacionID);
                var poliza = FabricaPoliza.ObtenerInstancia().ObtenerTipoPoliza(TipoPoliza.EntradaCompra);
                polizasVenta = poliza.GeneraPoliza(contenedorEntradaMateriaPrima);
                stream       = poliza.ImprimePoliza(contenedorEntradaMateriaPrima, polizasVenta);
            }
            return(stream);
        }
예제 #3
0
        /// <summary>
        /// Se utiliza para guardar datos en la tabla RegistroVigilancia
        /// </summary>
        /// <param name="registrovigilanciainfo"></param>
        /// <returns></returns>
        internal int GuardarDatos(RegistroVigilanciaInfo registrovigilanciainfo)
        {
            try
            {
                using (var transaction = new TransactionScope())
                {
                    Logger.Info();
                    var registrovigilanciaBl = new RegistroVigilanciaBL();
                    int resultado            = registrovigilanciaBl.GuardarDatos(registrovigilanciainfo);

                    if (resultado > 0 &&
                        registrovigilanciainfo.Producto.SubFamilia.SubFamiliaID == (int)SubFamiliasEnum.MicroIngredientes)
                    {
                        //Obtener Info RegistroVigilancia
                        var registroVigilanciaInfo = new RegistroVigilanciaInfo
                        {
                            FolioTurno   = resultado,
                            Organizacion = registrovigilanciainfo.Organizacion
                        };
                        var registroVigilanciaBL = new RegistroVigilanciaBL();
                        registroVigilanciaInfo = registroVigilanciaBL.ObtenerRegistroVigilanciaPorFolioTurno(registroVigilanciaInfo);

                        //Almacenar entrada Producto
                        var entradaProductoBL = new EntradaProductoBL();

                        var estatus = new EstatusInfo()
                        {
                            EstatusId = (int)Estatus.Aprobado
                        };

                        var entradaProducto = new EntradaProductoInfo
                        {
                            Organizacion       = registrovigilanciainfo.Organizacion,
                            Producto           = registrovigilanciainfo.Producto,
                            RegistroVigilancia = registroVigilanciaInfo,
                            UsuarioCreacionID  = registrovigilanciainfo.UsuarioCreacionID,
                            Estatus            = estatus,
                            Observaciones      = "Entrada de premezcla"
                        };

                        entradaProducto =
                            entradaProductoBL.GuardarEntradaProductoSinDetalle(entradaProducto,
                                                                               (int)TipoFolio.EntradaProducto);
                        resultado = entradaProducto.Folio;
                    }

                    transaction.Complete();
                    return(resultado);
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
예제 #4
0
        /// <summary>
        /// Actualiza la entrada de producto la primera vez que llega
        /// </summary>
        /// <param name="entradaProducto"></param>
        /// <returns>Lista de EntradaProductoInfo</returns>
        public bool ActualizarEntradaProductoLlegada(EntradaProductoInfo entradaProducto)
        {
            try
            {
                var entradaProductoBl = new EntradaProductoBL();
                return(entradaProductoBl.ActualizarEntradaProductoLlegada(entradaProducto));
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(false);
        }
예제 #5
0
        /// <summary>
        /// Guarda una entrada de producto con todo su detalle
        /// </summary>
        /// <param name="entradaProducto"></param>
        /// <param name="tipoFolio"></param>
        /// <returns></returns>
        public EntradaProductoInfo GuardarEntradaProductoConDetalle(EntradaProductoInfo entradaProducto, int tipoFolio)
        {
            try
            {
                var entradaProductoBL = new EntradaProductoBL();
                return(entradaProductoBL.GuardarEntradaProductoConDetalle(entradaProducto, tipoFolio));
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }


            return(null);
        }
예제 #6
0
        /// <summary>
        /// Método para actualizar la fecha de inicio y fin de descarga
        /// </summary>
        /// <param name="entrada"></param>
        /// <returns></returns>
        public string ActualizaFechaDescargaPiezasEnPatio(EntradaProductoInfo entrada)
        {
            string retorno = "";

            try
            {
                var entradaProductoBl = new EntradaProductoBL();
                retorno = entradaProductoBl.ActualizaFechaDescargaPiezasEnPatio(entrada);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(retorno);
        }
예제 #7
0
        /// <summary>
        /// Metodo para actualizar el lote en patio y las piezas en caso de que sea forraje
        /// </summary>
        /// <param name="entradaProducto"></param>
        /// <returns></returns>
        public bool ActualizaLoteEnPatio(EntradaProductoInfo entradaProducto)
        {
            bool retorno = false;

            try
            {
                var entradaProductoBl = new EntradaProductoBL();
                retorno = entradaProductoBl.ActualizaLoteEnPatio(entradaProducto);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(retorno);
        }
예제 #8
0
        /// <summary>
        /// Obtiene la lista de entradas de producto por el estatusID
        /// </summary>
        /// <param name="estatusId"></param>
        /// <param name="organizacionId"></param>
        /// <returns>Lista de EntradaProductoInfo</returns>
        public List <EntradaProductoInfo> ObtenerEntradaProductosTodosPorEstatusId(int estatusId, int organizacionId)
        {
            List <EntradaProductoInfo> listaEntradaProducto;
            var entradaProductoBl = new EntradaProductoBL();

            try
            {
                listaEntradaProducto = entradaProductoBl.ObtenerEntradaProductosTodosPorEstatusId(estatusId, organizacionId);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }

            return(listaEntradaProducto);
        }
예제 #9
0
        /// <summary>
        /// Obtiene la lista de entradas de producto por el estatusID
        /// </summary>
        /// <param name="estatusId"></param>
        /// <param name="organizacionId"></param>
        /// <returns>Lista de EntradaProductoInfo</returns>
        public List <EntradaProductoInfo> ObtenerEntradaProductosTodosPorEstatusIdAyudaForraje(EntradaProductoInfo entrada, int folio)
        {
            List <EntradaProductoInfo> listaEntradaProducto;
            var entradaProductoBl = new EntradaProductoBL();

            try
            {
                listaEntradaProducto = entradaProductoBl.ObtenerEntradaProductosTodosPorEstatusIdAyudaForraje(entrada, folio);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }

            return(listaEntradaProducto);
        }
예제 #10
0
        /// <summary>
        /// Actualiza un registro de entrada producto
        /// </summary>
        /// <param name="entradaProducto"></param>
        /// <returns></returns>
        public bool AutorizaEntrada(EntradaProductoInfo entradaProducto)
        {
            bool retorno = false;

            try
            {
                var entradaProductoBL = new EntradaProductoBL();
                retorno = entradaProductoBL.AutorizaEntrada(entradaProducto);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }


            return(retorno);
        }
예제 #11
0
 public void ActualizarDescuentoEntradaProductoMuestra(EntradaProductoInfo entradaProducto, decimal descuento)
 {
     try
     {
         var entradaProductoBl = new EntradaProductoBL();
         entradaProductoBl.ActualizarDescuentoEntradaProductoMuestra(entradaProducto, descuento);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
예제 #12
0
 /// <summary>
 /// Obtiene una entrada en base al folio seleccionado
 /// </summary>
 /// <param name="folio"></param>
 /// <param name="organizacionId"></param>
 /// <returns>Lista de EntradaProductoInfo</returns>
 public EntradaProductoInfo ObtenerEntradaProductoPorFolio(int folio, int organizacionId)
 {
     try
     {
         var entradaProductoBl = new EntradaProductoBL();
         return(entradaProductoBl.ObtenerEntradaProductosPorFolio(organizacionId, folio));
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
예제 #13
0
 /// <summary>
 /// Actualiza bandera de revisado por generente de Planta de Alimentos
 /// </summary>
 /// <param name="entradaProductoId"></param>
 public void ActualizaRevisionGerente(int entradaProductoId)
 {
     try
     {
         var entradaProductoBl = new EntradaProductoBL();
         entradaProductoBl.ActualizaRevisionGerente(entradaProductoId);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
예제 #14
0
        /// <summary>
        /// Actualizar una entrada de producto con todo su detalle
        /// </summary>
        /// <param name="entradaProducto"></param>
        /// <returns></returns>
        public bool ActualizarEntradaProductoConDetalle(EntradaProductoInfo entradaProducto)
        {
            bool retorno = false;

            try
            {
                var entradaProductoBL = new EntradaProductoBL();
                retorno = entradaProductoBL.ActualizarEntradaProductoConDetalle(entradaProducto);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }


            return(retorno);
        }
예제 #15
0
        /// <summary>
        /// Guarda una entrada de producto
        /// </summary>
        /// <param name="entradaProducto"></param>
        /// <param name="tipoFolio"></param>
        /// <returns></returns>
        public EntradaProductoInfo GuardarEntradaProducto(EntradaProductoInfo entradaProducto, int tipoFolio)
        {
            EntradaProductoInfo entradaProductoNuevo = null;

            try
            {
                var entradaProductoBL = new EntradaProductoBL();
                entradaProductoNuevo = entradaProductoBL.GuardarEntradaProducto(entradaProducto, tipoFolio);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }


            return(entradaProductoNuevo);
        }
예제 #16
0
        public decimal ObtenerHumedadOrigen(EntradaProductoInfo entradaProducto)
        {
            decimal result;

            try
            {
                var entradaProductoBl = new EntradaProductoBL();
                result = entradaProductoBl.ObtenerHumedadOrigen(entradaProducto);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(result);
        }
예제 #17
0
        /// <summary>
        /// Obtiene las notificaciones autorizadas
        /// </summary>
        /// <returns></returns>
        public List <EntradaProductoInfo> ObtenerNotificacionesAutorizadas(int organizacionID)
        {
            List <EntradaProductoInfo> notificacionesAutorizadas;

            try
            {
                var entradaProductoBl = new EntradaProductoBL();
                notificacionesAutorizadas = entradaProductoBl.ObtenerNotificacionesAutorizadas(organizacionID);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(notificacionesAutorizadas);
        }
예제 #18
0
        /// <summary>
        /// Metodo para actualizar el operador y la fecha de inicio de descarga.
        /// </summary>
        /// <param name="entradaProducto"></param>
        /// <returns></returns>
        public bool ActualizaOperadorFechaDescargaEnPatio(EntradaProductoInfo entradaProducto)
        {
            bool retorno = false;

            try
            {
                Logger.Info();
                var entradaProductoDal = new EntradaProductoBL();
                retorno = entradaProductoDal.ActualizaOperadorFechaDescargaEnPatio(entradaProducto);
            }
            catch (ExcepcionGenerica exg)
            {
                Logger.Error(exg);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }
            return(retorno);
        }
예제 #19
0
        /// <summary>
        /// Obtiene una lista con las entradas de producto
        /// </summary>
        /// <param name="movimientosEntrada"></param>
        /// <returns></returns>
        public List <EntradaProductoInfo> ObtenerEntradasPorAlmacenMovimientoXML(List <AlmacenMovimientoInfo> movimientosEntrada)
        {
            List <EntradaProductoInfo> listaEntradaProducto;

            try
            {
                var entradaProductoBl = new EntradaProductoBL();
                listaEntradaProducto = entradaProductoBl.ObtenerEntradasPorAlmacenMovimientoXML(movimientosEntrada);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(listaEntradaProducto);
        }
예제 #20
0
        /// <summary>
        /// OBtiene una entrada de producto sin validar los costos
        /// </summary>
        /// <param name="filtro"></param>
        /// <returns></returns>
        public EntradaProductoInfo ObtenerPorFolioPorEntradaCancelacion(EntradaProductoInfo filtro)
        {
            EntradaProductoInfo entradaMateriaPrima;

            try
            {
                Logger.Info();
                var entradaGanadoBL = new EntradaProductoBL();
                entradaMateriaPrima = entradaGanadoBL.ObtenerPorFolioEntradaCancelacion(filtro);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(entradaMateriaPrima);
        }
예제 #21
0
        /// <summary>
        /// Obtiene una lista de entradas de producto por contrato
        /// Esta funcion solo consulta EntradaProducto
        /// </summary>
        /// <param name="contratoInfo"></param>
        /// <returns></returns>
        public List <EntradaProductoInfo> ObtenerEntradaProductoPorContrato(ContratoInfo contratoInfo)
        {
            List <EntradaProductoInfo> listaEntradaProducto;
            var entradaProductoBl = new EntradaProductoBL();

            try
            {
                listaEntradaProducto = entradaProductoBl.ObtenerEntradaProductoPorContrato(contratoInfo);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }

            return(listaEntradaProducto);
        }
예제 #22
0
        public List <DiferenciasIndicadoresMuestraContrato> ObtenerDiferenciasIndicadoresMuestraContratoPorEntradaID(int entradaProductoId)
        {
            List <DiferenciasIndicadoresMuestraContrato> listaDiferenciasIndicadores;
            var entradaProductoBl = new EntradaProductoBL();

            try
            {
                listaDiferenciasIndicadores = entradaProductoBl.ObtenerDiferenciasIndicadoresMuestraContratoPorEntradaID(entradaProductoId);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }

            return(listaDiferenciasIndicadores);
        }
예제 #23
0
        /// <summary>
        /// Obtiene las entradas de producto validos filtrados por folio.
        /// </summary>
        /// <param name="entrada"></param>
        /// <returns>Lista de EntradaProductoInfo</returns>
        public List <EntradaProductoInfo> ObtenerEntradaProductoValidoAyuda(EntradaProductoInfo entrada)
        {
            List <EntradaProductoInfo> entradaProducto;
            var entradaProductoBl = new EntradaProductoBL();

            try
            {
                entradaProducto = entradaProductoBl.ObtenerEntradaProductoValidoAyuda(entrada);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }

            return(entradaProducto);
        }
예제 #24
0
        /// <summary>
        ///     Obtiene un lista paginada de los folios para cancelar
        /// </summary>
        /// <param name="pagina"></param>
        /// <param name="filtro"></param>
        /// <returns></returns>
        public ResultadoInfo <EntradaProductoInfo> ObtenerFoliosPorPaginaParaCancelacionEntradaTraspaso(PaginacionInfo pagina, EntradaProductoInfo filtro)
        {
            ResultadoInfo <EntradaProductoInfo> listaEntradasCancelacion;

            try
            {
                Logger.Info();
                var entradaProductoBL = new EntradaProductoBL();
                listaEntradasCancelacion = entradaProductoBL.ObtenerFoliosPorPaginaParaCancelacionEntradaTraspaso(pagina, filtro);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(listaEntradasCancelacion);
        }
예제 #25
0
        /// <summary>
        ///     Obtiene un lista paginada de los folios de entrada ganado por Estatus
        /// </summary>
        /// <param name="pagina"></param>
        /// <param name="filtro"></param>
        /// <returns></returns>
        public ResultadoInfo <EntradaProductoInfo> ObtenerFoliosPorPaginaParaEntradaMateriaPrimaEstatus(PaginacionInfo pagina, EntradaProductoInfo filtro)
        {
            ResultadoInfo <EntradaProductoInfo> costoLista;

            try
            {
                Logger.Info();
                var entradaProductoBL = new EntradaProductoBL();
                costoLista = entradaProductoBL.ObtenerFoliosPorPaginaParaEntradaMateriaPrimaEstatus(pagina, filtro);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(costoLista);
        }
예제 #26
0
        /// <summary>
        /// Obtiene la entrada del producto segun el registro de vigilancia.
        /// </summary>
        /// <param name="registroVigilancia"></param>
        /// <returns>Lista de EntradaProductoInfo</returns>
        public EntradaProductoInfo ObtenerEntradaProductoPorRegistroVigilancia(RegistroVigilanciaInfo registroVigilancia)
        {
            EntradaProductoInfo entradaProducto;
            var entradaProductoBl = new EntradaProductoBL();

            try
            {
                int organizacionId       = registroVigilancia.Organizacion.OrganizacionID;
                int registroVigilanciaId = registroVigilancia.RegistroVigilanciaId;

                entradaProducto = entradaProductoBl.ObtenerEntradaProductoPorRegistroVigilancia(organizacionId, registroVigilanciaId);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }

            return(entradaProducto);
        }