Esempio n. 1
0
        /// <summary>
        /// Obtiene un flujo de datos
        /// para la generacion de la reimpresion
        /// de la poliza de Salida de Traspaso
        /// </summary>
        /// <param name="produccionFormula"></param>
        /// <param name="polizaClave"></param>
        /// <returns></returns>
        private MemoryStream ReimpresionPolizaProduccionAlimento(ProduccionFormulaInfo produccionFormula, TipoPolizaInfo polizaClave)
        {
            var polizaBL = new PolizaBL();
            IList <PolizaInfo> polizasProduccionAlimento = polizaBL.ObtenerPoliza(TipoPoliza.ProduccionAlimento,
                                                                                  produccionFormula.Organizacion.OrganizacionID,
                                                                                  produccionFormula.FechaProduccion,
                                                                                  produccionFormula.FolioFormula.ToString(CultureInfo.InvariantCulture),
                                                                                  polizaClave.ClavePoliza, 1);
            MemoryStream stream = null;

            if (polizasProduccionAlimento != null)
            {
                var poliza = FabricaPoliza.ObtenerInstancia().ObtenerTipoPoliza(TipoPoliza.ProduccionAlimento);
                var produccionFormulaBL = new ProduccionFormulaBL();
                using (var almacenDAL = new AlmacenDAL())
                {
                    var almacenMovimientoBL          = new AlmacenMovimientoBL();
                    ProduccionFormulaInfo produccion = produccionFormulaBL.ObtenerPorIDCompleto(produccionFormula.ProduccionFormulaId);


                    if (produccion != null)
                    {
                        AlmacenInfo almacenPlantaAlimento =
                            almacenDAL.ObtenerAlmacenOrganizacionTipo(produccionFormula.Organizacion.OrganizacionID, TipoAlmacenEnum.PlantaDeAlimentos);

                        AlmacenMovimientoInfo almacenMovimiento =
                            almacenMovimientoBL.ObtenerPorIDCompleto(produccion.AlmacenMovimientoSalidaID);

                        var produccionFormulaDetalles = new List <ProduccionFormulaDetalleInfo>();
                        if (almacenMovimiento != null)
                        {
                            foreach (var detalle in produccion.ProduccionFormulaDetalle)
                            {
                                var movimiento = almacenMovimiento.ListaAlmacenMovimientoDetalle.FirstOrDefault(
                                    alm => alm.Producto.ProductoId == detalle.Producto.ProductoId &&
                                    alm.AlmacenInventarioLoteId == detalle.AlmacenInventarioLoteID);

                                if (movimiento == null)
                                {
                                    continue;
                                }
                                detalle.CantidadProducto = movimiento.Cantidad;
                                detalle.PrecioPromedio   = movimiento.Precio;
                                produccionFormulaDetalles.Add(detalle);
                            }
                        }

                        if (almacenPlantaAlimento == null)
                        {
                            return(null);
                        }
                        produccion.ProduccionFormulaDetalle = produccionFormulaDetalles;
                        produccion.Almacen        = almacenPlantaAlimento;
                        polizasProduccionAlimento = poliza.GeneraPoliza(produccion);
                        stream = poliza.ImprimePoliza(produccion, polizasProduccionAlimento);
                    }
                }
            }
            return(stream);
        }
Esempio n. 2
0
 /// <summary>
 /// Obtiene una entidad por su Id
 /// </summary>
 /// <param name="produccionFormula"></param>
 /// <returns></returns>
 public ProduccionFormulaInfo ObtenerPorFolioMovimiento(ProduccionFormulaInfo produccionFormula)
 {
     try
     {
         Logger.Info();
         var produccionFormulaBL      = new ProduccionFormulaBL();
         ProduccionFormulaInfo result = produccionFormulaBL.ObtenerPorFolioMovimiento(produccionFormula);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Esempio n. 3
0
 /// <summary>
 /// Obtiene un lista paginada
 /// </summary>
 /// <param name="pagina"></param>
 /// <param name="filtro"></param>
 /// <returns></returns>
 public ResultadoInfo <ProduccionFormulaInfo> ObtenerPorPagina(PaginacionInfo pagina, ProduccionFormulaInfo filtro)
 {
     try
     {
         Logger.Info();
         var produccionFormulaBL = new ProduccionFormulaBL();
         ResultadoInfo <ProduccionFormulaInfo> result = produccionFormulaBL.ObtenerPorPagina(pagina, filtro);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Esempio n. 4
0
        /// <summary>
        /// Guarda la produccion de una formula, ademas graba el detalle
        /// </summary>
        /// <param name="produccionFormula"></param>
        /// <returns></returns>
        public List <ProduccionFormulaInfo> ResumenProduccionFormulaLista(List <ProduccionFormulaInfo> produccionFormula)
        {
            try
            {
                Logger.Info();
                var produccionFormulaBl = new ProduccionFormulaBL();
                produccionFormula = produccionFormulaBl.ResumenProduccionFormulaLista(produccionFormula);
            }
            catch (ExcepcionDesconocida)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(produccionFormula);
        }
Esempio n. 5
0
 /// <summary>
 /// Obtiene una lista de produccion de formula
 /// </summary>
 /// <param name="organizacionID"> </param>
 /// <param name="fechaInicio"></param>
 /// <param name="fechaFinal"></param>
 /// <returns></returns>
 public List <ProduccionFormulaInfo> ObtenerProduccionFormulaConciliacion(int organizacionID, DateTime fechaInicio, DateTime fechaFinal)
 {
     try
     {
         Logger.Info();
         var produccionFormulaBL             = new ProduccionFormulaBL();
         List <ProduccionFormulaInfo> result =
             produccionFormulaBL.ObtenerProduccionFormulaConciliacion(organizacionID, fechaInicio, fechaFinal);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Esempio n. 6
0
        /// <summary>
        /// Guarda la produccion de una formula, ademas graba el detalle
        /// </summary>
        /// <param name="produccionFormula"></param>
        /// <returns></returns>
        public ProduccionFormulaInfo GuardarProduccionFormula(ProduccionFormulaInfo produccionFormula)
        {
            ProduccionFormulaInfo retorno = null;

            try
            {
                Logger.Info();
                var produccionFormulaBl = new ProduccionFormulaBL();
                retorno = produccionFormulaBl.GuardarProduccionFormula(produccionFormula);
            }
            catch (ExcepcionDesconocida)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(retorno);
        }
Esempio n. 7
0
        /// <summary>
        /// Guarda la produccion de una formula, ademas graba el detalle
        /// </summary>
        /// <param name="produccionFormula"></param>
        /// <returns></returns>
        public ProduccionFormulaAutomaticaModel GuardarProduccionFormulaLista(List <ProduccionFormulaInfo> produccionFormula, DateTime fecha)
        {
            ProduccionFormulaAutomaticaModel retorno = null;

            try
            {
                Logger.Info();
                var produccionFormulaBl = new ProduccionFormulaBL();
                retorno = produccionFormulaBl.GuardarProduccionFormulaLista(produccionFormula, fecha);
            }
            catch (ExcepcionDesconocida)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(retorno);
        }