/// <summary> /// Obtiene un listado de productos por almacen y obtiene los datos del producto /// </summary> /// <param name="almacenInfo"></param> /// <returns></returns> internal List <AlmacenInventarioInfo> ObtienePorAlmacenIdLlenaProductoInfo(AlmacenInfo almacenInfo) { List <AlmacenInventarioInfo> almacen = null; try { var productoBl = new ProductoBL(); var almacenDal = new AlmacenInventarioDAL(); almacen = almacenDal.ObtenerPorAlmacenId(almacenInfo); if (almacen != null) { foreach (var almacenInventarioInfo in almacen) { var productoInfo = new ProductoInfo() { ProductoId = almacenInventarioInfo.ProductoID }; almacenInventarioInfo.Producto = productoBl.ObtenerPorID(productoInfo); } } } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(almacen); }
/// <summary> /// Obtiene una premezcla por producto y organizacion id /// </summary> /// <param name="premezclaInfo"></param> /// <returns></returns> internal PremezclaInfo ObtenerPorProductoIdOrganizacionId(PremezclaInfo premezclaInfo) { try { var productoBl = new ProductoBL(); var premezclaDal = new PremezclaDAL(); var premezclaDetalleBl = new PremezclaDetalleBL(); premezclaInfo = premezclaDal.ObtenerPorProductoIdOrganizacionId(premezclaInfo); //Obtener detalle de premezcla if (premezclaInfo != null) { premezclaInfo.ListaPremezclaDetalleInfos = premezclaDetalleBl.ObtenerPremezclaDetallePorPremezclaId(premezclaInfo); if (premezclaInfo.ListaPremezclaDetalleInfos != null) { foreach (var premezclaInfoP in premezclaInfo.ListaPremezclaDetalleInfos) { premezclaInfo.Producto.Activo = EstatusEnum.Activo; premezclaInfoP.Producto = productoBl.ObtenerPorID(premezclaInfoP.Producto); } } } } catch (Exception ex) { Logger.Error(ex); } return(premezclaInfo); }
/// <summary> /// Obtiene un registro de vigilancia /// </summary> /// <param name="registroVigilanciaInfo"></param> /// <returns>RegistroVigilanciaInfo</returns> internal RegistroVigilanciaInfo ObtenerRegistroVigilanciaPorId(RegistroVigilanciaInfo registroVigilanciaInfo) { RegistroVigilanciaInfo registroVigilancia; try { Logger.Info(); var registroVigilanciaDAL = new RegistroVigilanciaDAL(); registroVigilancia = registroVigilanciaDAL.ObtenerPorId(registroVigilanciaInfo); if (registroVigilancia != null) { var camionBl = new CamionBL(); registroVigilancia.Camion = camionBl.ObtenerPorID(registroVigilancia.Camion.CamionID); var productoBL = new ProductoBL(); registroVigilancia.Producto = productoBL.ObtenerPorID(registroVigilancia.Producto); var proveedorBL = new ProveedorBL(); registroVigilancia.ProveedorMateriasPrimas = proveedorBL.ObtenerPorID(registroVigilancia.ProveedorMateriasPrimas.ProveedorID); var proveedorChoferBl = new ProveedorChoferBL(); registroVigilancia.ProveedorChofer = proveedorChoferBl.ObtenerProveedorChoferPorId(registroVigilancia.ProveedorChofer.ProveedorChoferID); var contratoBl = new ContratoBL(); registroVigilancia.Contrato.Organizacion = new OrganizacionInfo() { OrganizacionID = registroVigilancia.Organizacion.OrganizacionID }; registroVigilancia.Contrato = contratoBl.ObtenerPorId(registroVigilancia.Contrato); } }catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(registroVigilancia); }
/// <summary> /// Obtiene los pedidos Programados y parciales /// </summary> /// <param name="pedido"></param> /// <returns></returns> internal List <PedidoDetalleInfo> ObtenerDetallePedido(PedidoInfo pedido) { try { Logger.Info(); var pedidoDal = new PedidoDetalleDAL(); var pedidoDetalle = pedidoDal.ObtenerDetallePedido(pedido); if (pedidoDetalle != null) { var almacenInventarioLoteBl = new AlmacenInventarioLoteBL(); var programacionMateriaPrimaBl = new ProgramacionMateriaPrimaBL(); var productoBl = new ProductoBL(); foreach (PedidoDetalleInfo pedidoDetalleInfo in pedidoDetalle) { pedidoDetalleInfo.InventarioLoteDestino = almacenInventarioLoteBl.ObtenerAlmacenInventarioLotePorId( pedidoDetalleInfo.InventarioLoteDestino.AlmacenInventarioLoteId); pedidoDetalleInfo.ProgramacionMateriaPrima = programacionMateriaPrimaBl.ObtenerProgramacionMateriaPrima(pedidoDetalleInfo); pedidoDetalleInfo.Producto = productoBl.ObtenerPorID(pedidoDetalleInfo.Producto); } } return(pedidoDetalle); } catch (ExcepcionGenerica exg) { Logger.Error(exg); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), exg); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene un ingrediente con su detalle /// Activo - Solo activos /// Inactivo - Solo inactivos /// Todos - Ambos /// </summary> /// <returns>IngredienteInfo</returns> internal IngredienteInfo ObtenerPorId(IngredienteInfo ingrediente, EstatusEnum estatus) { try { var ingredienteDal = new IngredienteDAL(); ingrediente = ingredienteDal.ObtenerPorId(ingrediente, estatus); if (ingrediente != null) { if (ingrediente.Organizacion.OrganizacionID > 0) { var organizacionBl = new OrganizacionBL(); ingrediente.Organizacion = organizacionBl.ObtenerPorID(ingrediente.Organizacion.OrganizacionID); } if (ingrediente.Formula.FormulaId > 0) { var formulaBl = new FormulaBL(); ingrediente.Formula = formulaBl.ObtenerPorID(ingrediente.Formula.FormulaId); } if (ingrediente.Producto.ProductoId > 0) { var productoBl = new ProductoBL(); ingrediente.Producto = productoBl.ObtenerPorID(ingrediente.Producto); } } } catch (ExcepcionDesconocida) { throw; } catch (Exception ex) { Logger.Error(ex); } return(ingrediente); }
/// <summary> /// Asigna los costos de los subproductos al costo /// ya generado /// </summary> /// <param name="lista"></param> /// <param name="productoId"></param> /// <param name="organizacionID"> </param> private void AsignarCostosSubProductos(List <ReporteInventarioMateriaPrimaInfo> lista, int productoId, int organizacionID) { var productoBL = new ProductoBL(); var producto = new ProductoInfo { ProductoId = productoId }; producto = productoBL.ObtenerPorID(producto); if (producto != null) { switch ((FamiliasEnum)producto.Familia.FamiliaID) { case FamiliasEnum.Premezclas: var organizacion = new OrganizacionInfo { OrganizacionID = organizacionID, Activo = EstatusEnum.Activo }; var almacenBL = new AlmacenBL(); var tiposAlmacen = new List <TipoAlmacenEnum> { TipoAlmacenEnum.MateriasPrimas }; List <AlmacenInfo> almacenes = almacenBL.ObtenerAlmacenPorTiposAlmacen(tiposAlmacen, organizacion); var almacenMovimientoBL = new AlmacenMovimientoBL(); IEnumerable <AlmacenMovimientoSubProductosModel> productosPremezcla = lista.Select(x => new AlmacenMovimientoSubProductosModel { FechaMovimiento = x.FechaMovimiento, ProductoID = productoId }); productosPremezcla = almacenMovimientoBL.ObtenerMovimientosSubProductos(productosPremezcla); if (productosPremezcla != null) { var premezclaDetalleBL = new PremezclaBL(); List <PremezclaInfo> premezclas = premezclaDetalleBL.ObtenerPorOrganizacionDetalle(organizacion); PremezclaInfo premezcla; List <ReporteInventarioMateriaPrimaInfo> entradasMateriaPrima = lista.Where(entrada => entrada.CostoId > 0).ToList(); if (entradasMateriaPrima != null) { ReporteInventarioMateriaPrimaInfo entradaMateriaPrima; for (var index = 0; index < entradasMateriaPrima.Count; index++) { premezcla = premezclas.FirstOrDefault( id => id.Producto.ProductoId == productoId); if (premezcla != null) { entradaMateriaPrima = entradasMateriaPrima[index]; int almacenID = productosPremezcla.Where( almMov => almMov.AlmacenMovimientoID == entradaMateriaPrima.AlmacenMovimientoID). Select(id => id.AlmacenID).FirstOrDefault(); if (almacenes.Any(id => id.AlmacenID == almacenID)) { AlmacenMovimientoSubProductosModel almacenMovimientoSubProductosModel = productosPremezcla.FirstOrDefault( prod => prod.ProductoID == premezcla.Producto.ProductoId && prod.FechaMovimiento.ToShortDateString().Equals( entradaMateriaPrima.FechaMovimiento.ToShortDateString())); if (almacenMovimientoSubProductosModel != null) { IEnumerable <AlmacenMovimientoSubProductosModel> subProductos = productosPremezcla .Join(premezcla.ListaPremezclaDetalleInfos, pp => pp.ProductoID, pd => pd.Producto.ProductoId, (pp, pd) => pp).Where( fechaInicio => fechaInicio.AlmacenMovimientoID == (almacenMovimientoSubProductosModel.AlmacenMovimientoID + 1) && fechaInicio.FechaMovimiento.ToShortDateString().Equals( entradaMateriaPrima.FechaMovimiento.ToShortDateString())); if (subProductos != null && subProductos.Any()) { entradaMateriaPrima.ImporteSubProductos = subProductos.Sum(imp => imp.Importe); } } } } } } } break; } } }
/// <summary> /// Metrodo para obtener un listado de contratos por estado /// </summary> internal List <ContratoInfo> ObtenerPorEstado(EstatusEnum estatus) { List <ContratoInfo> result; try { Logger.Info(); var contratoDAL = new ContratoDAL(); result = contratoDAL.ObtenerPorEstado(estatus); if (result != null) { foreach (var contratoInfo in result) { if (contratoInfo.Organizacion.OrganizacionID > 0) { var organizacionBl = new OrganizacionBL(); contratoInfo.Organizacion = organizacionBl.ObtenerPorID(contratoInfo.Organizacion.OrganizacionID); } if (contratoInfo.Producto.ProductoId > 0) { var productoBl = new ProductoBL(); contratoInfo.Producto = productoBl.ObtenerPorID(contratoInfo.Producto); } if (contratoInfo.Proveedor.ProveedorID > 0) { var proveedorBl = new ProveedorBL(); contratoInfo.Proveedor = proveedorBl.ObtenerPorID(contratoInfo.Proveedor.ProveedorID); } if (contratoInfo.TipoContrato.TipoContratoId > 0) { var tipoContratoBl = new TipoContratoBL(); contratoInfo.TipoContrato = tipoContratoBl.ObtenerPorId(contratoInfo.TipoContrato.TipoContratoId); } if (contratoInfo.TipoFlete.TipoFleteId > 0) { var tipoFleteBl = new TipoFleteBL(); contratoInfo.TipoFlete = tipoFleteBl.ObtenerPorId(contratoInfo.TipoFlete.TipoFleteId); } if (contratoInfo.ContratoId <= 0) { continue; } var contratoDetalleBl = new ContratoDetalleBL(); contratoInfo.ListaContratoDetalleInfo = contratoDetalleBl.ObtenerPorContratoId(contratoInfo); } } } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(result); }
/// <summary> /// Obtiene un contrato por id /// </summary> /// <param name="contratoInfo"></param> /// <returns>ContratoInfo</returns> internal ContratoInfo ObtenerPorId(ContratoInfo contratoInfo) { ContratoInfo contrato; try { Logger.Info(); var contratoDAL = new ContratoDAL(); contrato = contratoDAL.ObtenerPorId(contratoInfo); if (contrato != null) { if (contrato.Organizacion.OrganizacionID > 0) { var organizacionBl = new OrganizacionBL(); contrato.Organizacion = organizacionBl.ObtenerPorID(contrato.Organizacion.OrganizacionID); } if (contrato.Producto.ProductoId > 0) { var productoBl = new ProductoBL(); contrato.Producto = productoBl.ObtenerPorID(contrato.Producto); } if (contrato.Proveedor.ProveedorID > 0) { var proveedorBl = new ProveedorBL(); contrato.Proveedor = proveedorBl.ObtenerPorID(contrato.Proveedor.ProveedorID); } if (contrato.TipoContrato.TipoContratoId > 0) { var tipoContratoBl = new TipoContratoBL(); contrato.TipoContrato = tipoContratoBl.ObtenerPorId(contrato.TipoContrato.TipoContratoId); contrato.tipocontratodescripcion = contrato.TipoContrato.Descripcion.ToString(); } if (contrato.TipoFlete != null && contrato.TipoFlete.TipoFleteId > 0) { var tipoFleteBl = new TipoFleteBL(); contrato.TipoFlete = tipoFleteBl.ObtenerPorId(contrato.TipoFlete.TipoFleteId); } if (contrato.TipoCambio != null && contrato.TipoCambio.TipoCambioId > 0) { var tipoCambioBl = new TipoCambioBL(); contrato.TipoCambio = tipoCambioBl.ObtenerPorId(contrato.TipoCambio.TipoCambioId); } if (contrato.ContratoId > 0) { var contratoDetalleBl = new ContratoDetalleBL(); contrato.ListaContratoDetalleInfo = contratoDetalleBl.ObtenerPorContratoId(contrato); } //Obtener precio y cantidad por tonelada contrato.CantidadToneladas = (int)(contrato.Cantidad / 1000); if (contrato.TipoCambio != null) { if (contrato.TipoCambio.Descripcion == Properties.ResourceServices.ContratoBL_DescripcionMonedaDolarMayuscula) { contrato.PrecioToneladas = (contrato.Precio * 1000) / contrato.TipoCambio.Cambio; } else { contrato.PrecioToneladas = contrato.Precio * 1000; } } if (contrato.Cuenta != null) { if (contrato.Cuenta.CuentaSAPID > 0) { CuentaSAPBL cuentaSapBl = new CuentaSAPBL(); contrato.Cuenta.Activo = EstatusEnum.Activo; contrato.Cuenta = cuentaSapBl.ObtenerPorFiltroSinTipo(contrato.Cuenta); } } // } } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(contrato); }
/// <summary> /// Metodo para Guardar/Modificar una entidad TraspasoMateriaPrima /// </summary> /// <param name="info"></param> public Dictionary <long, MemoryStream> GuardarTraspaso(TraspasoMpPaMedInfo info) { try { var resultado = new Dictionary <long, MemoryStream>(); Logger.Info(); var traspasoMateriaPrimaDAL = new TraspasoMateriaPrimaDAL(); using (var transaction = new TransactionScope()) { long almacenMovimientoOrigenID = GenerarMovimientoSalida(info); long almacenMovimientoDestinoID = GenerarMovimientoEntrada(info); var traspasoMateriaPrimaGuardar = new TraspasoMateriaPrimaInfo { ContratoOrigen = info.ContratoOrigen, ContratoDestino = info.ContratoDestino, Organizacion = info.Usuario.Organizacion, AlmacenOrigen = info.AlmacenOrigen, AlmacenDestino = info.AlmacenDestino, AlmacenInventarioLoteOrigen = info.LoteMpOrigen, AlmacenInventarioLoteDestino = info.LoteMpDestino, CuentaSAP = info.CuentaContable, Justificacion = info.JustificacionDestino, AlmacenMovimientoOrigen = new AlmacenMovimientoInfo { AlmacenMovimientoID = almacenMovimientoOrigenID }, AlmacenMovimientoDestino = new AlmacenMovimientoInfo { AlmacenMovimientoID = almacenMovimientoDestinoID }, Activo = EstatusEnum.Activo, UsuarioCreacionID = info.Usuario.UsuarioID }; traspasoMateriaPrimaGuardar = traspasoMateriaPrimaDAL.Crear(traspasoMateriaPrimaGuardar); info.FolioTraspaso = traspasoMateriaPrimaGuardar.FolioTraspaso; info.FechaTraspaso = traspasoMateriaPrimaGuardar.FechaMovimiento; info.AlmacenMovimientoID = almacenMovimientoDestinoID; MemoryStream pdfPoliza = null; if (info.AlmacenOrigen.AlmacenID != info.AlmacenDestino.AlmacenID) { var productoBL = new ProductoBL(); info.ProductoOrigen = productoBL.ObtenerPorID(info.ProductoOrigen); info.ProductoDestino = info.ProductoOrigen; PolizaAbstract poliza = FabricaPoliza.ObtenerInstancia().ObtenerTipoPoliza(TipoPoliza.EntradaTraspaso); IList <PolizaInfo> listaPolizas = poliza.GeneraPoliza(info); pdfPoliza = poliza.ImprimePoliza(info, listaPolizas); if (listaPolizas != null && listaPolizas.Any()) { listaPolizas.ToList().ForEach(datos => { datos.OrganizacionID = info.Usuario.Organizacion.OrganizacionID; datos.UsuarioCreacionID = info.Usuario.UsuarioID; datos.Activo = EstatusEnum.Activo; datos.ArchivoEnviadoServidor = 1; }); var polizaDAL = new PolizaDAL(); polizaDAL.CrearServicioPI(listaPolizas, TipoPoliza.EntradaTraspaso); } } transaction.Complete(); resultado.Add(info.FolioTraspaso, pdfPoliza); return(resultado); } } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Metodo para Cancelar un traspaso de MP /// </summary> /// <param name="info"></param> public Dictionary <long, MemoryStream> CancelarTraspaso(TraspasoMpPaMedInfo info) { try { var resultado = new Dictionary <long, MemoryStream>(); Logger.Info(); var traspasoMateriaPrimaDAL = new TraspasoMateriaPrimaDAL(); var almacenMovimientoBL = new AlmacenMovimientoBL(); var cancelacionMovimientoBL = new CancelacionMovimientoBL(); TraspasoMateriaPrimaInfo traspasoCancelar = traspasoMateriaPrimaDAL.ObtenerPorID(info.TraspasoMateriaPrimaID); if (traspasoCancelar == null) { return(null); } AlmacenMovimientoInfo movimientoOrigen = almacenMovimientoBL.ObtenerPorIDCompleto( traspasoCancelar.AlmacenMovimientoOrigen.AlmacenMovimientoID); AlmacenMovimientoInfo movimientoDestino = almacenMovimientoBL.ObtenerPorIDCompleto( traspasoCancelar.AlmacenMovimientoDestino.AlmacenMovimientoID); AlmacenInfo almacenOrigenAux = info.AlmacenOrigen; AlmacenInfo almacenDestinoAux = info.AlmacenDestino; AlmacenMovimientoDetalle detalleOrigen = movimientoOrigen.ListaAlmacenMovimientoDetalle.FirstOrDefault(); AlmacenMovimientoDetalle detalleDestino = movimientoDestino.ListaAlmacenMovimientoDetalle.FirstOrDefault(); if (detalleOrigen == null || detalleDestino == null) { return(null); } info.CantidadTraspasarOrigen = detalleOrigen.Cantidad; info.CantidadTraspasarDestino = detalleDestino.Cantidad; info.PrecioTraspasoOrigen = detalleOrigen.Precio; info.PrecioTraspasoDestino = detalleDestino.Precio; info.ImporteTraspaso = detalleDestino.Importe; info.AlmacenDestino = almacenOrigenAux; info.AlmacenOrigen = almacenDestinoAux; using (var transaction = new TransactionScope()) { long almacenMovimientoEntradaID = 0; long almacenMovimientoSalidaID = 0; if (movimientoDestino != null) { almacenMovimientoEntradaID = GenerarMovimientoEntradaCancelacion(movimientoDestino, info.Usuario); almacenMovimientoSalidaID = GenerarMovimientoSalidaCancelacion(movimientoOrigen, info.Usuario); } var cancelacionMovimientoEntrada = new CancelacionMovimientoInfo { TipoCancelacion = new TipoCancelacionInfo { TipoCancelacionId = TipoCancelacionEnum.TraspasoMpPaMed.GetHashCode() }, Pedido = new PedidoInfo(), AlmacenMovimientoOrigen = new AlmacenMovimientoInfo { AlmacenMovimientoID = almacenMovimientoEntradaID }, AlmacenMovimientoCancelado = new AlmacenMovimientoInfo { AlmacenMovimientoID = movimientoOrigen.AlmacenMovimientoID }, Activo = EstatusEnum.Activo, Justificacion = traspasoCancelar.Justificacion, UsuarioCreacionID = info.Usuario.UsuarioID }; CancelacionMovimientoInfo movimientoCancelado = cancelacionMovimientoBL.Guardar(cancelacionMovimientoEntrada); if (movimientoDestino != null) { var cancelacionMovimientoSalida = new CancelacionMovimientoInfo { TipoCancelacion = new TipoCancelacionInfo { TipoCancelacionId = TipoCancelacionEnum.TraspasoMpPaMed.GetHashCode() }, Pedido = new PedidoInfo(), AlmacenMovimientoOrigen = new AlmacenMovimientoInfo { AlmacenMovimientoID = almacenMovimientoSalidaID }, AlmacenMovimientoCancelado = new AlmacenMovimientoInfo { AlmacenMovimientoID = movimientoDestino.AlmacenMovimientoID }, Activo = EstatusEnum.Activo, Justificacion = traspasoCancelar.Justificacion, UsuarioCreacionID = info.Usuario.UsuarioID }; cancelacionMovimientoBL.Guardar(cancelacionMovimientoSalida); } traspasoCancelar.Activo = EstatusEnum.Inactivo; traspasoCancelar.UsuarioModificacionID = info.Usuario.UsuarioID; traspasoMateriaPrimaDAL.Actualizar(traspasoCancelar); movimientoOrigen.UsuarioModificacionID = info.Usuario.UsuarioID; if (movimientoDestino != null) { movimientoDestino.UsuarioModificacionID = info.Usuario.UsuarioID; } movimientoOrigen.Status = Estatus.CanceladoInv.GetHashCode(); if (movimientoDestino != null) { movimientoDestino.Status = Estatus.CanceladoInv.GetHashCode(); } almacenMovimientoBL.ActualizarEstatus(movimientoOrigen); almacenMovimientoBL.ActualizarEstatus(movimientoDestino); AlmacenMovimientoInfo movimientoCancelacion = almacenMovimientoBL.ObtenerPorIDCompleto(almacenMovimientoEntradaID); if (movimientoCancelacion == null) { return(null); } info.FolioTraspaso = traspasoCancelar.FolioTraspaso; info.FechaTraspaso = movimientoCancelado.FechaCancelacion; info.AlmacenMovimientoID = movimientoDestino.AlmacenMovimientoID; MemoryStream pdfPoliza = null; if (info.AlmacenOrigen.AlmacenID != info.AlmacenDestino.AlmacenID) { info.EsCancelacion = true; var productoBL = new ProductoBL(); info.ProductoOrigen = productoBL.ObtenerPorID(info.ProductoOrigen); info.ProductoDestino = info.ProductoOrigen; PolizaAbstract poliza = FabricaPoliza.ObtenerInstancia().ObtenerTipoPoliza(TipoPoliza.EntradaTraspaso); IList <PolizaInfo> listaPolizas = poliza.GeneraPoliza(info); pdfPoliza = poliza.ImprimePoliza(info, listaPolizas); if (listaPolizas != null && listaPolizas.Any()) { listaPolizas.ToList().ForEach(datos => { datos.OrganizacionID = info.Usuario.Organizacion.OrganizacionID; datos.UsuarioCreacionID = info.Usuario.UsuarioID; datos.Activo = EstatusEnum.Activo; datos.ArchivoEnviadoServidor = 1; }); var polizaDAL = new PolizaDAL(); polizaDAL.CrearServicioPI(listaPolizas, TipoPoliza.EntradaTraspaso); } } transaction.Complete(); resultado.Add(info.FolioTraspaso, pdfPoliza); return(resultado); } } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }