Ejemplo n.º 1
0
 /// <summary>
 /// Metodo para Guardar/Modificar una entidad MermaSuperavit
 /// </summary>
 /// <param name="info"></param>
 internal int Guardar(MermaSuperavitInfo info)
 {
     try
     {
         Logger.Info();
         var mermaSuperavitDAL = new MermaSuperavitDAL();
         int result            = info.MermaSuperavitId;
         if (result == 0)
         {
             result = mermaSuperavitDAL.Crear(info);
         }
         else
         {
             mermaSuperavitDAL.Actualizar(info);
         }
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Obtiene los movimientos pendientes pro autorizar del cierre de dia de inventario de planta de alimentos
        /// </summary>
        /// <returns></returns>
        internal List <MovimientosAutorizarCierreDiaPAModel> ObtenerMovimientosPendientesAutorizar(
            FiltrosAutorizarCierreDiaInventarioPA filtrosAutorizarCierreDia)
        {
            List <MovimientosAutorizarCierreDiaPAModel> result;

            try
            {
                Logger.Info();
                var mermaSuperavitDAL    = new MermaSuperavitDAL();
                var listaMermas          = mermaSuperavitDAL.ObtenerPorAlmacenID(filtrosAutorizarCierreDia.AlmacenID);
                var almacenMovimientoDal = new AlmacenMovimientoDAL();

                filtrosAutorizarCierreDia.TipoMovimientoID  = TipoMovimiento.InventarioFisico.GetHashCode();
                filtrosAutorizarCierreDia.EstatusMovimiento = Estatus.PendienteInv.GetHashCode();
                filtrosAutorizarCierreDia.FechaMovimiento   = DateTime.Now;

                List <MovimientosAutorizarCierreDiaPAModel> listaMovimientosPendientes = almacenMovimientoDal.ObtenerMovimientosPendientesAutorizar(filtrosAutorizarCierreDia);
                if (listaMovimientosPendientes == null)
                {
                    return(null);
                }
                foreach (var movimiento in listaMovimientosPendientes)
                {
                    if (movimiento.InventarioTeorico == 0)
                    {
                        continue;
                    }
                    movimiento.PorcentajeMermaSuperavit = Math.Round((Convert.ToDecimal(movimiento.InventarioTeorico - movimiento.InventarioFisico) /
                                                                      movimiento.InventarioTeorico) * 100, 2);
                    movimiento.PorcentajeLote = movimiento.ManejaLote ? Math.Round(Convert.ToDecimal(movimiento.InventarioFisico) / Convert.ToDecimal(movimiento.InventarioTeorico) * 100, 2) : 0;
                    var merma = listaMermas.FirstOrDefault(mer => mer.Producto.ProductoId == movimiento.ProductoID);
                    if (merma == null)
                    {
                        continue;
                    }
                    movimiento.PorcentajePermitido = movimiento.PorcentajeMermaSuperavit > 0 ? merma.Merma : merma.Superavit;
                }
                result = listaMovimientosPendientes;
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(result);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Obtiene un listado de registros por almacenid
 /// </summary>
 /// <returns></returns>
 internal List <MermaSuperavitInfo> ObtenerPorAlmacenID(int almacenID)
 {
     try
     {
         Logger.Info();
         var almacenDal = new MermaSuperavitDAL();
         List <MermaSuperavitInfo> result = almacenDal.ObtenerPorAlmacenID(almacenID);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Obtiene una entidad MermaSuperavit por su descripción
 /// </summary>
 /// <param name="mermaSuperAvit"></param>
 /// <returns></returns>
 internal MermaSuperavitInfo ObtenerPorDescripcion(MermaSuperavitInfo mermaSuperAvit)
 {
     try
     {
         Logger.Info();
         var mermaSuperavitDAL     = new MermaSuperavitDAL();
         MermaSuperavitInfo result = mermaSuperavitDAL.ObtenerPorDescripcion(mermaSuperAvit);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Obtiene un listado de registros por almacenid
 /// </summary>
 /// <returns></returns>
 internal MermaSuperavitInfo ObtenerPorAlmacenIdProductoId(AlmacenInfo almacenInfo, ProductoInfo productoInfo)
 {
     try
     {
         Logger.Info();
         var almacenDal            = new MermaSuperavitDAL();
         MermaSuperavitInfo result = almacenDal.ObtenerPorAlmacenIdProductoId(almacenInfo, productoInfo);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Obtiene una lista filtrando por el estatus Activo = 1, Inactivo = 0
 /// </summary>
 /// <returns></returns>
 internal IList <MermaSuperavitInfo> ObtenerTodos(EstatusEnum estatus)
 {
     try
     {
         Logger.Info();
         var mermaSuperavitDAL             = new MermaSuperavitDAL();
         IList <MermaSuperavitInfo> result = mermaSuperavitDAL.ObtenerTodos(estatus);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Ejemplo n.º 7
0
 /// <summary>
 /// Obtiene un lista paginada
 /// </summary>
 /// <param name="pagina"></param>
 /// <param name="filtro"></param>
 /// <returns></returns>
 internal ResultadoInfo <MermaSuperavitInfo> ObtenerPorPagina(PaginacionInfo pagina, MermaSuperavitInfo filtro)
 {
     try
     {
         Logger.Info();
         var mermaSuperavitDAL = new MermaSuperavitDAL();
         ResultadoInfo <MermaSuperavitInfo> result = mermaSuperavitDAL.ObtenerPorPagina(pagina, filtro);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }