コード例 #1
0
        /// <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);
        }