public async Task <List <OrdenProveedor> > ObtenerTodosAsync()
        {
            var ordenesProveedor = await _unitOfWork.OrdenProveedorDal.GetAsync();

            foreach (var x in ordenesProveedor)
            {
                x.Proveedor = await _proveedorBl.ObtenerPorIdAsync(x.IdProveedor);

                x.Usuario = await _usuarioBl.ObtenerPorIdAsync(x.IdUsuario);

                var estados = await _unitOfWork.EstadoOrdenProveedorDal.GetByOrdenProveedorAsync(x.Id);

                x.EstadosOrdenProveedor = (List <EstadoOrdenProveedor>)estados;
            }

            return((List <OrdenProveedor>)ordenesProveedor);
        }
예제 #2
0
        public async Task <string> ObtenerReporteAsync(ReporteDto reporte)
        {
            var usuario = await _usuarioBl.ObtenerPorIdAsync(reporte.IdUsuario);

            if (usuario == null)
            {
                throw new Exception($"No existe el usuario con ID {reporte.IdUsuario}");
            }

            string html;

            switch (reporte.IdReporte)
            {
            case 1:
                html = await GetHtmlReporteDiario(usuario, reporte);

                break;

            case 2:
                html = await GetHtmlReporteMensual(usuario, reporte);

                break;

            case 3:
                html = await GetHtmlReporteClientes(usuario, reporte);

                break;

            case 4:
                html = await GetHtmlReportePlatos(usuario, reporte);

                break;

            case 5:
                html = await GetHtmlReporteTiempos(usuario, reporte);

                break;

            default:
                throw new Exception("Id reporte debe ser 1 o 2");
            }

            return(_itextSharpClient.CreatePdfBase64(html));
        }