Exemple #1
0
 /// <summary>
 /// obtiene el almacen movimiento
 /// </summary>
 /// <param name="almacenMovimientoInfo"></param>
 /// <param name="activo"></param>
 /// <returns></returns>
 public IList <AlmacenMovimientoInfo> ObtenerListaAlmacenMovimiento(AlmacenMovimientoInfo almacenMovimientoInfo, int activo)
 {
     try
     {
         Logger.Info();
         var almacenDAL = new AlmacenDAL();
         IList <AlmacenMovimientoInfo> resultado = new List <AlmacenMovimientoInfo>();
         IList <AlmacenMovimientoInfo> result    = almacenDAL.ObtenerListaAlmacenMovimiento(almacenMovimientoInfo, activo);
         if (result != null)
         {
             foreach (var movimientoInfo in result)
             {
                 if (movimientoInfo.Status == (int)EstatusInventario.Pendiente)
                 {
                     resultado.Add(movimientoInfo);
                 }
             }
         }
         return(resultado);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Exemple #2
0
        /// <summary>
        /// Obtiene una entidad Almacen por su descripción
        /// </summary>
        /// <param name="almacenMovimientoInfo"></param>
        /// <returns></returns>
        public AlmacenMovimientoInfo ObtenerAlmacenMovimiento(AlmacenMovimientoInfo almacenMovimientoInfo)
        {
            try
            {
                Logger.Info();
                var almacenDAL = new AlmacenDAL();
                AlmacenMovimientoInfo result = almacenDAL.ObtenerAlmacenMovimiento(almacenMovimientoInfo);

                if (result != null)
                {
                    AlmacenMovimientoDetalleBL almacenMovimientoDetalleBl = new AlmacenMovimientoDetalleBL();
                    result.ListaAlmacenMovimientoDetalle = new List <AlmacenMovimientoDetalle> {
                        almacenMovimientoDetalleBl.ObtenerPorAlmacenMovimientoID(result.AlmacenMovimientoID)
                    };

                    AlmacenMovimientoCostoBL almacenMovimientoCostoBl = new AlmacenMovimientoCostoBL();
                    result.ListaAlmacenMovimientoCosto = almacenMovimientoCostoBl.ObtenerPorAlmacenMovimientoId(result);
                }
                return(result);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
        /// <summary>
        /// Método que obtiene una lista paginada
        /// </summary>
        /// <param name="ds"></param>
        /// <returns></returns>
        public static ResultadoInfo <TraspasoMpPaMedInfo> ObtenerPorPagina(DataSet ds)
        {
            try
            {
                var contratoDAL = new ContratoDAL();
                var almacenDAL  = new AlmacenDAL();
                var almacenInventarioLoteDAL = new AlmacenInventarioLoteDAL();
                var cuentaSAPDAL             = new CuentaSAPDAL();
                var productoDAL = new ProductoDAL();
                Logger.Info();
                DataTable dt = ds.Tables[ConstantesDAL.DtDatos];
                List <TraspasoMpPaMedInfo> lista =
                    (from info in dt.AsEnumerable()
                     select
                     new TraspasoMpPaMedInfo
                {
                    TraspasoMateriaPrimaID = info.Field <int>("TraspasoMateriaPrimaID"),
                    ContratoOrigen = info.Field <int?>("ContratoOrigenID") != null ? contratoDAL.ObtenerPorId(new ContratoInfo {
                        ContratoId = info.Field <int>("ContratoOrigenID")
                    }) : new ContratoInfo(),
                    ContratoDestino = info.Field <int?>("ContratoDestinoID") != null ? contratoDAL.ObtenerPorId(new ContratoInfo {
                        ContratoId = info.Field <int>("ContratoDestinoID")
                    }) : new ContratoInfo(),
                    FolioTraspaso = info.Field <long>("FolioTraspaso"),
                    AlmacenOrigen = almacenDAL.ObtenerPorID(info.Field <int>("AlmacenOrigenID")),
                    AlmacenDestino = almacenDAL.ObtenerPorID(info.Field <int>("AlmacenDestinoID")),
                    LoteMpOrigen = info.Field <int?>("InventarioLoteOrigenID") != null ? almacenInventarioLoteDAL.ObtenerAlmacenInventarioLotePorId(info.Field <int>("InventarioLoteOrigenID")) : new AlmacenInventarioLoteInfo(),
                    LoteMpDestino = info.Field <int?>("InventarioLoteDestinoID") != null ? almacenInventarioLoteDAL.ObtenerAlmacenInventarioLotePorId(info.Field <int>("InventarioLoteDestinoID")) : new AlmacenInventarioLoteInfo(),
                    CuentaContable = info.Field <int?>("CuentaSAPID") != null ? cuentaSAPDAL.ObtenerPorID(info.Field <int>("CuentaSAPID")) : new CuentaSAPInfo(),
                    JustificacionDestino = info.Field <string>("Justificacion"),
                    CantidadTraspasarOrigen = info.Field <decimal>("CantidadSalida"),
                    CantidadTraspasarDestino = info.Field <decimal>("CantidadEntrada"),
                    ProductoOrigen = productoDAL.ObtenerPorID(new ProductoInfo {
                        ProductoId = info.Field <int>("ProductoID")
                    }),
                    FechaTraspaso = info.Field <DateTime>("FechaMovimiento")
                                    //AlmacenMovimientoOrigen = new AlmacenMovimientoInfo { AlmacenMovimientoID = info.Field<long>("AlmacenMovimientoID")},
                                    //AlmacenMovimientoDestino = new AlmacenMovimientoInfo { AlmacenMovimientoID = info.Field<long>("AlmacenMovimientoID")},
                                    //Activo = info.Field<bool>("Activo").BoolAEnum(),
                }).ToList();

                int totalRegistros = Convert.ToInt32(ds.Tables[ConstantesDAL.DtContador].Rows[0]["TotalReg"]);
                var resultado      =
                    new ResultadoInfo <TraspasoMpPaMedInfo>
                {
                    Lista          = lista,
                    TotalRegistros = totalRegistros
                };
                return(resultado);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
Exemple #4
0
        internal void ActualizarFolioAlmacen(int almacenID)
        {
            var almacenDAL             = new AlmacenDAL();
            var filtroCierreDiaAlmacen = new FiltroCierreDiaInventarioInfo
            {
                AlmacenID        = almacenID,
                TipoMovimientoID = TipoMovimiento.DiferenciasDeInventario.GetHashCode()
            };

            almacenDAL.ActualizarFolioAlmacen(filtroCierreDiaAlmacen);
        }
        /// <summary>
        /// Método que obtiene un traspaso de materia prima por su folio
        /// </summary>
        /// <param name="ds"></param>
        /// <returns></returns>
        public static TraspasoMpPaMedInfo ObtenerPorFolio(DataSet ds)
        {
            try
            {
                var contratoDAL = new ContratoDAL();
                var almacenDAL  = new AlmacenDAL();
                var almacenInventarioLoteDAL = new AlmacenInventarioLoteDAL();
                var cuentaSAPDAL             = new CuentaSAPDAL();
                var productoDAL = new ProductoDAL();
                Logger.Info();
                DataTable           dt     = ds.Tables[ConstantesDAL.DtDatos];
                TraspasoMpPaMedInfo result =
                    (from info in dt.AsEnumerable()
                     select
                     new TraspasoMpPaMedInfo
                {
                    TraspasoMateriaPrimaID = info.Field <int>("TraspasoMateriaPrimaID"),
                    ContratoOrigen = info.Field <int?>("ContratoOrigenID") != null ? contratoDAL.ObtenerPorId(new ContratoInfo {
                        ContratoId = info.Field <int>("ContratoOrigenID")
                    }) : new ContratoInfo(),
                    ContratoDestino = info.Field <int?>("ContratoDestinoID") != null ? contratoDAL.ObtenerPorId(new ContratoInfo {
                        ContratoId = info.Field <int>("ContratoDestinoID")
                    }) : new ContratoInfo(),
                    FolioTraspaso = info.Field <long>("FolioTraspaso"),
                    AlmacenOrigen = almacenDAL.ObtenerPorID(info.Field <int>("AlmacenOrigenID")),
                    AlmacenDestino = almacenDAL.ObtenerPorID(info.Field <int>("AlmacenDestinoID")),
                    LoteMpOrigen = info.Field <int?>("InventarioLoteOrigenID") != null ? almacenInventarioLoteDAL.ObtenerAlmacenInventarioLotePorId(info.Field <int>("InventarioLoteOrigenID")) : new AlmacenInventarioLoteInfo(),
                    LoteMpDestino = info.Field <int?>("InventarioLoteDestinoID") != null ? almacenInventarioLoteDAL.ObtenerAlmacenInventarioLotePorId(info.Field <int>("InventarioLoteDestinoID")) : new AlmacenInventarioLoteInfo(),
                    CuentaContable = info.Field <int?>("CuentaSAPID") != null ? cuentaSAPDAL.ObtenerPorID(info.Field <int>("CuentaSAPID")) : new CuentaSAPInfo(),
                    JustificacionDestino = info.Field <string>("Justificacion"),
                    CantidadTraspasarOrigen = info.Field <decimal>("CantidadSalida"),
                    CantidadTraspasarDestino = info.Field <decimal>("CantidadEntrada"),
                    ProductoOrigen = productoDAL.ObtenerPorID(new ProductoInfo {
                        ProductoId = info.Field <int>("ProductoID")
                    }),
                    FechaTraspaso = info.Field <DateTime>("FechaMovimiento")
                }).First();

                return(result);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
Exemple #6
0
 /// <summary>
 /// Metodo que elimina en AlmacenMovimientoDetalle
 /// </summary>
 /// <param name="almacenInventarioDetalle"></param>
 public void EliminaAlmacenMovimientoDetalle(AlmacenMovimientoDetalle almacenInventarioDetalle)
 {
     try
     {
         Logger.Info();
         var almacenDAL = new AlmacenDAL();
         almacenDAL.EliminarAlmacenMovimientoDetalle(almacenInventarioDetalle);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Exemple #7
0
 /// <summary>
 /// Se almacena el detalle de almacen Movimiento
 /// </summary>
 /// <param name="almacenDetalle"></param>
 /// <returns></returns>
 public AlmacenMovimientoDetalle GuardarAlmacenMovimientoDetalleProducto(AlmacenMovimientoDetalle almacenDetalle)
 {
     try
     {
         Logger.Info();
         var almacenDAL = new AlmacenDAL();
         return(almacenDAL.GuardarAlmacenMovimientoDetalleProducto(almacenDetalle));
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Exemple #8
0
 /// <summary>
 /// Obtiene el valor del folio para ese almacen
 /// </summary>
 /// <param name="filtros"></param>
 /// <returns></returns>
 internal int ObtenerFolioAlmacenConsulta(FiltroCierreDiaInventarioInfo filtros)
 {
     try
     {
         Logger.Info();
         var almacenDal = new AlmacenDAL();
         return(almacenDal.ObtenerFolioAlmacenConsulta(filtros));
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Exemple #9
0
 /// <summary>
 /// Obtiene los almacenes por organizacion y tipo de almacen
 /// </summary>
 /// <param name="datos"></param>
 /// <returns></returns>
 public AlmacenInventarioInfo ObtenerAlmacenInventarioPorOrganizacionTipoAlmacen(ParametrosOrganizacionTipoAlmacenProductoActivo datos)
 {
     try
     {
         Logger.Info();
         var almacenDal = new AlmacenDAL();
         return(almacenDal.ObtenerAlmacenInventarioPorOrganizacionTipoAlmacen(datos));
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Exemple #10
0
 /// <summary>
 /// Obtiene el valor del folio para ese almacen
 /// </summary>
 /// <param name="organizacionID"></param>
 /// <returns></returns>
 internal List <AlmacenesCierreDiaInventarioPAModel> ObtenerAlmacenesOrganizacion(int organizacionID)
 {
     try
     {
         Logger.Info();
         var almacenDal = new AlmacenDAL();
         return(almacenDal.ObtenerAlmacenesOrganizacion(organizacionID));
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Exemple #11
0
 /// <summary>
 /// Metodo que actualiza un registro en AlmacenInventario
 /// </summary>
 /// <param name="almacenInventarioInfo"></param>
 public void ActualizarAlmacenInventario(AlmacenInventarioInfo almacenInventarioInfo)
 {
     try
     {
         Logger.Info();
         var almacenDAL = new AlmacenDAL();
         almacenDAL.ActualizarAlmacenInventario(almacenInventarioInfo);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Exemple #12
0
 /// <summary>
 /// Obtiene un almacen por su clave
 /// </summary>
 /// <param name="almacen"></param>
 /// <returns></returns>
 internal AlmacenInfo ObtenerPorAlmacenPoliza(AlmacenInfo almacen)
 {
     try
     {
         Logger.Info();
         var almacenDal = new AlmacenDAL();
         return(almacenDal.ObtenerPorAlmacenPoliza(almacen));
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Exemple #13
0
 internal decimal GuardarAlmacenMovimientoDetalle(List <AlmacenMovimientoDetalle> almacenDetalleLista, int almacenID)
 {
     try
     {
         Logger.Info();
         var     almacenDAL = new AlmacenDAL();
         decimal resultado  = almacenDAL.GuardarAlmacenMovimientoDetalle(almacenDetalleLista, almacenID);
         return(resultado);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Exemple #14
0
 /// <summary>
 /// Guarda el almacen movimiento
 /// </summary>
 /// <param name="almacenMovimientoNuevo"></param>
 /// <returns></returns>
 internal AlmacenMovimientoInfo GuardarAlmacenMovimiento(AlmacenMovimientoInfo almacenMovimientoNuevo)
 {
     try
     {
         Logger.Info();
         var almacenDAL = new AlmacenDAL();
         AlmacenMovimientoInfo resultado = almacenDAL.GuardarAlmacenMovimiento(almacenMovimientoNuevo);
         return(resultado);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Exemple #15
0
 /// <summary>
 /// Obtiene una lista filtrando por el estatus Activo = 1, Inactivo = 0
 /// </summary>
 /// <returns></returns>
 internal IList <AlmacenInfo> ObtenerTodos(EstatusEnum estatus)
 {
     try
     {
         Logger.Info();
         var almacenDAL             = new AlmacenDAL();
         IList <AlmacenInfo> result = almacenDAL.ObtenerTodos(estatus);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Exemple #16
0
 internal List <AlmacenInventarioInfo> ObtenerProductosAlmacenInventario(AlmacenInfo almacen, OrganizacionInfo organizacion)
 {
     try
     {
         Logger.Info();
         var almacenDAL = new AlmacenDAL();
         List <AlmacenInventarioInfo> resultado = almacenDAL.ObtenerProductosAlmacenInventario(almacen, organizacion);
         return(resultado);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Exemple #17
0
 /// <summary>
 /// Obtener productos almacen
 /// </summary>
 /// <param name="almacenId"></param>
 /// <param name="organizacionId"></param>
 /// <returns></returns>
 public IList <AlmacenCierreDiaInventarioInfo> ObtenerProductosAlamcen(int almacenId, int organizacionId)
 {
     try
     {
         Logger.Info();
         var almacenDAL = new AlmacenDAL();
         IList <AlmacenCierreDiaInventarioInfo> result = almacenDAL.ObtenerProductosAlamcen(almacenId, organizacionId);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Exemple #18
0
 /// <summary>
 /// ObtenerDatosAlmacenInventario
 /// </summary>
 /// <param name="cierreInventarioInfo"></param>
 /// <returns></returns>
 public AlmacenCierreDiaInventarioInfo ObtenerDatosAlmacenInventario(AlmacenCierreDiaInventarioInfo cierreInventarioInfo)
 {
     try
     {
         Logger.Info();
         var almacenDAL = new AlmacenDAL();
         AlmacenCierreDiaInventarioInfo result = almacenDAL.ObtenerDatosAlmacenInventario(cierreInventarioInfo);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Exemple #19
0
 /// <summary>
 /// Obtiene los almacenes por organizacion
 /// </summary>
 /// <param name="organizacionId"></param>
 /// <returns></returns>
 public IList <AlmacenInfo> ObtenerAlmacenPorOrganizacion(int organizacionId)
 {
     try
     {
         Logger.Info();
         var almacenDAL             = new AlmacenDAL();
         IList <AlmacenInfo> result = almacenDAL.ObtenerAlmacenPorOrganizacion(organizacionId);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Exemple #20
0
 /// <summary>
 /// Obtiene una entidad Almacen por su descripción
 /// </summary>
 /// <param name="descripcion"></param>
 /// <returns></returns>
 internal AlmacenInfo ObtenerPorDescripcion(string descripcion)
 {
     try
     {
         Logger.Info();
         var         almacenDAL = new AlmacenDAL();
         AlmacenInfo result     = almacenDAL.ObtenerPorDescripcion(descripcion);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Exemple #21
0
 /// <summary>
 /// Obtiene los movimeintos por contrato
 /// (resc)
 /// </summary>
 /// <param name="contrato"></param>
 /// <returns></returns>
 internal List <AlmacenMovimientoDetalle> ObtenerAlmacenMovimientoPorContrato(ContratoInfo contrato)
 {
     try
     {
         Logger.Info();
         var almacenDAL = new AlmacenDAL();
         List <AlmacenMovimientoDetalle> resultado = almacenDAL.ObtenerAlmacenMovimientoPorContrato(contrato);
         return(resultado);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Exemple #22
0
 internal int GuardarConsumoAlimento(List <AlmacenInventarioInfo> listaActualizadaProductos, OrganizacionInfo organizacion)
 {
     try
     {
         Logger.Info();
         var almacenDAL = new AlmacenDAL();
         int resultado  = almacenDAL.GuardarConsumoAlimento(listaActualizadaProductos, organizacion);
         return(resultado);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Exemple #23
0
 /// <summary>
 /// Obtiene un almacen por id y tipo almacen
 /// </summary>
 /// <param name="filtro"></param>
 /// <returns></returns>
 internal AlmacenInfo ObtenerPorIdFiltroTipoAlmacen(AlmacenInfo filtro)
 {
     try
     {
         Logger.Info();
         var         almacenDAL = new AlmacenDAL();
         AlmacenInfo result     = almacenDAL.ObtenerPorIdFiltroTipoAlmacen(filtro);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Exemple #24
0
 /// <summary>
 /// Obtiene un lista paginada
 /// </summary>
 /// <param name="pagina"></param>
 /// <param name="filtro"></param>
 /// <returns></returns>
 internal ResultadoInfo <AlmacenInfo> ObtenerPorPaginaTipoAlmacen(PaginacionInfo pagina, AlmacenInfo filtro)
 {
     try
     {
         Logger.Info();
         var almacenDAL = new AlmacenDAL();
         ResultadoInfo <AlmacenInfo> result = almacenDAL.ObtenerPorPaginaTipoAlmacen(pagina, filtro);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Exemple #25
0
        /// <summary>
        ///      Obtiene un Almacen por su Id
        /// </summary>
        /// <returns> </returns>
        internal AlmacenInfo ObtenerPorID(int almacenID)
        {
            AlmacenInfo info;

            try
            {
                Logger.Info();
                var almacenDAL = new AlmacenDAL();
                info = almacenDAL.ObtenerPorID(almacenID);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(info);
        }
Exemple #26
0
        /// <summary>
        /// Valida si existe Inventario en el almacen para el producto o medicamento
        /// </summary>
        /// <param name="itemProducto"></param>
        /// <param name="almacenID"></param>
        internal AlmacenInventarioInfo ObtenerCantidadProductoEnInventario(ProductoInfo itemProducto, int almacenID)
        {
            AlmacenInventarioInfo info;

            try
            {
                Logger.Info();
                var almacenDAL = new AlmacenDAL();
                info = almacenDAL.ObtenerCantidadProductoEnInventario(itemProducto, almacenID);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(info);
        }
Exemple #27
0
        /// <summary>
        /// Validar que no queden ajustes pendientes por aplicar para el almacen(Diferencias de inventario)
        /// </summary>
        /// <param name="almacenMovimientoInfo"></param>
        /// <returns></returns>
        internal bool ExistenAjustesPendientesParaAlmacen(AlmacenMovimientoInfo almacenMovimientoInfo)
        {
            bool info;

            try
            {
                Logger.Info();
                var almacenDAL = new AlmacenDAL();
                info = almacenDAL.ExistenAjustesPendientesParaAlmacen(almacenMovimientoInfo);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(info);
        }
Exemple #28
0
        /// <summary>
        ///  Validar si el producto tiene existencias en algun Almacen
        /// </summary>
        /// <param name="productoID"></param>
        /// <returns></returns>
        internal bool ValidarExistenciasProductoEnAlmacen(int productoID)
        {
            bool info;

            try
            {
                Logger.Info();
                var almacenDAL = new AlmacenDAL();
                info = almacenDAL.ValidarExistenciasProductoEnAlmacen(productoID);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(info);
        }
Exemple #29
0
        /// <summary>
        /// Metodo para Guardar/Modificar una entidad Almacen
        /// </summary>
        /// <param name="info"></param>
        internal int Guardar(AlmacenInfo info)
        {
            try
            {
                Logger.Info();
                var  almacenDAL     = new AlmacenDAL();
                int  result         = info.AlmacenID;
                bool esModificacion = result > 0;
                using (var scope = new TransactionScope())
                {
                    if (info.AlmacenID == 0)
                    {
                        result = almacenDAL.Crear(info);
                    }
                    else
                    {
                        almacenDAL.Actualizar(info);
                    }
                    if (info.Proveedor != null && info.Proveedor.ProveedorID > 0)
                    {
                        var proveedorAlmacenDAL = new ProveedorAlmacenDAL();
                        var proveedorAlmacen    = new ProveedorAlmacenInfo
                        {
                            Proveedor = info.Proveedor,
                            Almacen   = new AlmacenInfo
                            {
                                AlmacenID = result
                            }
                        };
                        if (esModificacion)
                        {
                            ProveedorAlmacenInfo proveedorAlmacenExiste =
                                proveedorAlmacenDAL.ObtenerPorAlmacenID(result);
                            if (info.Activo == EstatusEnum.Inactivo)
                            {
                                if (proveedorAlmacenExiste != null)
                                {
                                    proveedorAlmacenExiste.Activo = EstatusEnum.Inactivo;
                                    proveedorAlmacenExiste.UsuarioModificacionID = info.UsuarioModificacionID;
                                    proveedorAlmacenDAL.Actualizar(proveedorAlmacenExiste);
                                    scope.Complete();
                                    return(result);
                                }
                            }

                            if (proveedorAlmacenExiste != null)
                            {
                                proveedorAlmacenExiste.UsuarioModificacionID = info.UsuarioModificacionID.HasValue ? info.UsuarioModificacionID.Value : 0;
                                proveedorAlmacenExiste.Proveedor             = info.Proveedor;
                                proveedorAlmacenDAL.Actualizar(proveedorAlmacenExiste);
                                scope.Complete();
                                return(result);
                            }
                        }
                        else
                        {
                            proveedorAlmacen.UsuarioCreacionID = info.UsuarioCreacionID;
                        }
                        proveedorAlmacenDAL.Crear(proveedorAlmacen);
                    }
                    scope.Complete();
                }
                return(result);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
Exemple #30
0
        /// <summary>
        /// Funcion para guardar los tratamientos en almacen movimiento y descontarlos del inventario
        /// </summary>
        /// <param name="listaTratamientos"></param>
        /// <param name="almacenMovimientoInfo"></param>
        internal int GuardarDescontarTratamientos(List <TratamientoInfo> listaTratamientos,
                                                  AlmacenMovimientoInfo almacenMovimientoInfo)
        {
            var info = 0;

            try
            {
                Logger.Info();
                var almacenDAL = new AlmacenDAL();

                var resp = almacenDAL.GuardarAlmacenMovimiento(almacenMovimientoInfo);
                //Almacenar el MovimientoDetalle
                if (resp != null)
                {
                    almacenMovimientoInfo.AlmacenMovimientoID = resp.AlmacenMovimientoID;
                    almacenMovimientoInfo.FolioMovimiento     = resp.FolioMovimiento;
                    almacenMovimientoInfo.FechaCreacion       = resp.FechaCreacion;
                    almacenMovimientoInfo.FechaMovimiento     = resp.FechaMovimiento;
                    //Se obtiene la lista de productos y tratamientos a insertar
                    var listaAlmacenMovimientoDetalle = (
                        from tratamiento in listaTratamientos
                        from producto in tratamiento.Productos
                        select new AlmacenMovimientoDetalle
                    {
                        TratamientoID = tratamiento.TratamientoID,
                        ProductoID = producto.ProductoId,
                        Precio = 0,
                        Cantidad = producto.Dosis,
                        Importe = 0,
                        AlmacenMovimientoID =
                            almacenMovimientoInfo.AlmacenMovimientoID,
                        UsuarioCreacionID =
                            almacenMovimientoInfo.UsuarioCreacionID
                    }).ToList();

                    var lista = new List <AlmacenMovimientoDetalle>();
                    foreach (var almacenMovimintoDetalle in listaAlmacenMovimientoDetalle)
                    {
                        var existe = true;
                        foreach (var almacenMovimintoDetalleInfo in lista)
                        {
                            if (almacenMovimintoDetalle.ProductoID == almacenMovimintoDetalleInfo.ProductoID)
                            {
                                existe = false;
                            }
                        }
                        if (existe)
                        {
                            lista.Add(almacenMovimintoDetalle);
                        }
                    }

                    //Se almacena el detalle del movimiento
                    var costoTotal = almacenDAL.GuardarAlmacenMovimientoDetalle(lista,
                                                                                almacenMovimientoInfo.AlmacenID);

                    var animalCosto = new AnimalCostoInfo
                    {
                        AnimalID          = almacenMovimientoInfo.AnimalID,
                        CostoID           = almacenMovimientoInfo.CostoID,
                        FolioReferencia   = almacenMovimientoInfo.AlmacenMovimientoID,
                        Importe           = costoTotal,
                        UsuarioCreacionID = almacenMovimientoInfo.UsuarioCreacionID
                    };

                    //Almacenr el costo en Animal Costo
                    var animalBL = new AnimalBL();
                    info = animalBL.GuardarAnimalCosto(animalCosto);
                }
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(info);
        }