refactor(web): MudBlazor → Fluent UI Blazor v5 마이그레이션 완료
Quant Engine CI/CD Pipeline / validate-core (push) Failing after 10s
WBS-9.3 - NULL Policy CI Gate / NULL Policy Validation (push) Failing after 8s
Quant Engine CI/CD Pipeline / validate-ui-and-storage (push) Has been skipped
Snapshot Admin Deployment / build-and-deploy (push) Failing after 1m0s
Deploy to Production / Build & Deploy to Production (push) Successful in 1m21s
Quant Engine CI/CD Pipeline / validate-core (push) Failing after 10s
WBS-9.3 - NULL Policy CI Gate / NULL Policy Validation (push) Failing after 8s
Quant Engine CI/CD Pipeline / validate-ui-and-storage (push) Has been skipped
Snapshot Admin Deployment / build-and-deploy (push) Failing after 1m0s
Deploy to Production / Build & Deploy to Production (push) Successful in 1m21s
**주요 변경사항:** - NuGet: MudBlazor 6.10.0 → Microsoft.FluentUI.AspNetCore.Components 5.0.0-rc.4-26177.1 변경 - Program.cs: MudBlazor DI → Fluent UI DI 등록 - App.razor: CSS/JS 라이브러리 및 프로바이더 변경 - MainLayout.razor: MudLayout → FluentStack 기반 재구성 - FluentHeader 헤더 적용 - 네비게이션 사이드바 토글 기능 - Flexbox 레이아웃 - NavMenu.razor: MudNavMenu/MudNavLink → FluentNavMenu/FluentNavLink - Dashboard.razor: MudBlazor 모든 컴포넌트 → Fluent UI v5로 변환 - MudCard → FluentCard - MudGrid → FluentStack (Wrap) - MudText → HTML (h1, p, span) - MudChip → FluentBadge - MudTable → FluentDataGrid - MudAlert → div (커스텀 스타일) - Operations.razor: 동일 패턴 적용 - _Imports.razor: Fluent UI 네임스페이스 추가 **빌드 결과:** ✅ SUCCESS (0 errors, 5 warnings) **다음 단계:** Stage 2 - Python → .NET 마이그레이션 Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -6,10 +6,9 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<base href="/quant/" />
|
||||
<ResourcePreloader />
|
||||
<!-- MudBlazor CSS -->
|
||||
<!-- Fluent UI CSS -->
|
||||
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" rel="stylesheet" />
|
||||
<link href="_content/MudBlazor/MudBlazor.min.css" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="@Assets["lib/bootstrap/dist/css/bootstrap.min.css"]" />
|
||||
<link href="_content/Microsoft.FluentUI.AspNetCore.Components/css/fluent-components.css" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="@Assets["app.css"]" />
|
||||
<link rel="stylesheet" href="@Assets["QuantEngine.Web.styles.css"]" />
|
||||
<ImportMap />
|
||||
@@ -18,15 +17,13 @@
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<MudThemeProvider />
|
||||
<MudDialogProvider />
|
||||
<MudSnackbarProvider />
|
||||
<FluentDesignSystemProvider>
|
||||
<Routes />
|
||||
<ReconnectModal />
|
||||
</FluentDesignSystemProvider>
|
||||
|
||||
<Routes />
|
||||
<ReconnectModal />
|
||||
|
||||
<!-- MudBlazor JS -->
|
||||
<script src="_content/MudBlazor/MudBlazor.min.js"></script>
|
||||
<!-- Fluent UI JS -->
|
||||
<script src="_content/Microsoft.FluentUI.AspNetCore.Components/js/fluent-components.js"></script>
|
||||
<script src="@Assets["_framework/blazor.web.js"]"></script>
|
||||
</body>
|
||||
|
||||
|
||||
@@ -2,37 +2,42 @@
|
||||
@inject Microsoft.AspNetCore.Hosting.IWebHostEnvironment WebHostEnvironment
|
||||
@using System.IO
|
||||
@using System.Text.Json
|
||||
@using Microsoft.FluentUI.AspNetCore.Components
|
||||
|
||||
<MudLayout>
|
||||
<MudAppBar Elevation="1">
|
||||
<MudIconButton Icon="@Icons.Material.Filled.Menu" Color="Color.Inherit" Edge="Edge.Start" OnClick="@((e) => DrawerToggle())" />
|
||||
<MudSpacer />
|
||||
<MudText Typo="Typo.h5" Class="ml-3">Quant Engine</MudText>
|
||||
<MudSpacer />
|
||||
<MudIconButton Icon="@Icons.Material.Filled.Settings" Color="Color.Inherit" />
|
||||
</MudAppBar>
|
||||
<FluentStack Orientation="Orientation.Vertical" Class="h-100 w-100">
|
||||
<!-- Header -->
|
||||
<FluentHeader>
|
||||
<FluentStack Orientation="Orientation.Horizontal" VerticalAlignment="VerticalAlignment.Center"
|
||||
Style="width: 100%; padding: 8px 16px; gap: 16px;">
|
||||
<FluentButton OnClick="@(() => navOpen = !navOpen)"
|
||||
Title="Toggle Navigation"
|
||||
Style="background: transparent; border: none; cursor: pointer;">
|
||||
☰
|
||||
</FluentButton>
|
||||
<h1 style="margin: 0; font-size: 20px; font-weight: 600;">QuantEngine v@appVersion</h1>
|
||||
</FluentStack>
|
||||
</FluentHeader>
|
||||
|
||||
<MudDrawer @bind-Open="@drawerOpen" Elevation="1" Class="d-flex flex-column h-100">
|
||||
<MudDrawerHeader>
|
||||
<MudText Typo="Typo.h6">Menu</MudText>
|
||||
</MudDrawerHeader>
|
||||
|
||||
<NavMenu />
|
||||
|
||||
<MudSpacer />
|
||||
|
||||
<div class="px-4 py-3 mt-auto" style="border-top: 1px solid rgba(0,0,0,0.08); font-size: 11px; color: var(--mud-palette-text-secondary); line-height: 1.5; background-color: rgba(0,0,0,0.01);">
|
||||
<div style="font-weight: 500; margin-bottom: 2px;">QuantEngine v@appVersion</div>
|
||||
<div style="font-size: 10px; opacity: 0.85;">배포: @buildTime</div>
|
||||
</div>
|
||||
</MudDrawer>
|
||||
<!-- Main Content Area -->
|
||||
<FluentStack Orientation="Orientation.Horizontal" Class="flex-1" Style="overflow: hidden;">
|
||||
<!-- Navigation Sidebar -->
|
||||
@if (navOpen)
|
||||
{
|
||||
<nav style="width: 240px; background: var(--neutral-layer-1); border-right: 1px solid var(--neutral-stroke-1); padding: 12px; overflow-y: auto;">
|
||||
<NavMenu />
|
||||
<div style="margin-top: auto; padding-top: 12px; border-top: 1px solid var(--neutral-stroke-1); margin-top: 12px; font-size: 11px; color: var(--neutral-foreground-3); line-height: 1.5;">
|
||||
<div style="font-weight: 500; margin-bottom: 2px;">QuantEngine v@appVersion</div>
|
||||
<div style="font-size: 10px; opacity: 0.85;">배포: @buildTime</div>
|
||||
</div>
|
||||
</nav>
|
||||
}
|
||||
|
||||
<MudMainContent>
|
||||
<MudContainer MaxWidth="MaxWidth.Large" Class="my-4">
|
||||
<!-- Page Content -->
|
||||
<FluentStack Orientation="Orientation.Vertical" Class="flex-1" Style="overflow-y: auto; padding: 24px;">
|
||||
@Body
|
||||
</MudContainer>
|
||||
</MudMainContent>
|
||||
</MudLayout>
|
||||
</FluentStack>
|
||||
</FluentStack>
|
||||
</FluentStack>
|
||||
|
||||
<div id="blazor-error-ui" data-nosnippet>
|
||||
<div class="alert alert-danger" role="alert">
|
||||
@@ -41,16 +46,24 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.h-100 {
|
||||
height: 100%;
|
||||
}
|
||||
.w-100 {
|
||||
width: 100%;
|
||||
}
|
||||
.flex-1 {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
}
|
||||
</style>
|
||||
|
||||
@code {
|
||||
private bool drawerOpen = true;
|
||||
private bool navOpen = true;
|
||||
private string appVersion = "Local Debug";
|
||||
private string buildTime = "N/A";
|
||||
|
||||
private void DrawerToggle()
|
||||
{
|
||||
drawerOpen = !drawerOpen;
|
||||
}
|
||||
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
try
|
||||
@@ -61,7 +74,7 @@
|
||||
var jsonContent = File.ReadAllText(versionFilePath);
|
||||
using var doc = System.Text.Json.JsonDocument.Parse(jsonContent);
|
||||
var root = doc.RootElement;
|
||||
|
||||
|
||||
if (root.TryGetProperty("version", out var versionProp))
|
||||
{
|
||||
appVersion = versionProp.GetString() ?? "Local Debug";
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
<MudNavMenu>
|
||||
<MudNavLink Href="/" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Dashboard">
|
||||
@using Microsoft.FluentUI.AspNetCore.Components
|
||||
|
||||
<FluentNavMenu>
|
||||
<FluentNavLink Href="/" Match="NavLinkMatch.All">
|
||||
Dashboard
|
||||
</MudNavLink>
|
||||
<MudNavLink Href="/operations" Match="NavLinkMatch.Prefix" Icon="@Icons.Material.Filled.Assessment">
|
||||
</FluentNavLink>
|
||||
<FluentNavLink Href="/operations" Match="NavLinkMatch.Prefix">
|
||||
Operations
|
||||
</MudNavLink>
|
||||
</MudNavMenu>
|
||||
</FluentNavLink>
|
||||
</FluentNavMenu>
|
||||
|
||||
@@ -4,117 +4,90 @@
|
||||
|
||||
<PageTitle>Quant Engine - Dashboard</PageTitle>
|
||||
|
||||
<MudText Typo="Typo.h4" Class="mb-2">Quant Engine</MudText>
|
||||
<MudText Typo="Typo.body2" Color="Color.Secondary" Class="mb-4">
|
||||
<h1 style="margin: 0 0 8px 0; font-size: 28px; font-weight: 600;">Quant Engine</h1>
|
||||
<p style="margin: 0 0 16px 0; color: var(--neutral-foreground-2); font-size: 14px;">
|
||||
루트 화면은 운영 진입점입니다. 가짜 성과 수치 없이 현재 스냅샷 상태와 리포트 경로만 보여줍니다.
|
||||
</MudText>
|
||||
</p>
|
||||
|
||||
<MudGrid Class="mb-4">
|
||||
<MudItem xs="12" sm="6" md="4">
|
||||
<MudCard Class="h-100">
|
||||
<MudCardContent>
|
||||
<MudText Typo="Typo.body2" Color="Color.Secondary">Operational Report</MudText>
|
||||
<MudText Typo="Typo.h6" Class="mt-2">@ReportStateLabel</MudText>
|
||||
<MudText Typo="Typo.caption">@ReportPath</MudText>
|
||||
</MudCardContent>
|
||||
</MudCard>
|
||||
</MudItem>
|
||||
<MudItem xs="12" sm="6" md="4">
|
||||
<MudCard Class="h-100">
|
||||
<MudCardContent>
|
||||
<MudText Typo="Typo.body2" Color="Color.Secondary">Sections</MudText>
|
||||
<MudText Typo="Typo.h6" Class="mt-2">@SectionCountLabel</MudText>
|
||||
<MudText Typo="Typo.caption">Temp/operational_report.json</MudText>
|
||||
</MudCardContent>
|
||||
</MudCard>
|
||||
</MudItem>
|
||||
<MudItem xs="12" sm="6" md="4">
|
||||
<MudCard Class="h-100">
|
||||
<MudCardContent>
|
||||
<MudText Typo="Typo.body2" Color="Color.Secondary">Primary Route</MudText>
|
||||
<MudButton Variant="Variant.Filled" Color="Color.Primary" Href="/operations" Class="mt-2">
|
||||
Open Operations
|
||||
</MudButton>
|
||||
</MudCardContent>
|
||||
</MudCard>
|
||||
</MudItem>
|
||||
</MudGrid>
|
||||
<!-- Top 3 Cards -->
|
||||
<FluentStack Orientation="Orientation.Horizontal" HorizontalGap="16" Wrap="true" Style="margin-bottom: 16px;">
|
||||
<FluentCard Style="flex: 1; min-width: 200px;">
|
||||
<div style="padding: 16px;">
|
||||
<p style="margin: 0 0 8px 0; color: var(--neutral-foreground-2); font-size: 12px; font-weight: 500;">Operational Report</p>
|
||||
<h3 style="margin: 0; font-size: 20px; font-weight: 600;">@ReportStateLabel</h3>
|
||||
<p style="margin: 8px 0 0 0; color: var(--neutral-foreground-3); font-size: 12px;">@ReportPath</p>
|
||||
</div>
|
||||
</FluentCard>
|
||||
<FluentCard Style="flex: 1; min-width: 200px;">
|
||||
<div style="padding: 16px;">
|
||||
<p style="margin: 0 0 8px 0; color: var(--neutral-foreground-2); font-size: 12px; font-weight: 500;">Sections</p>
|
||||
<h3 style="margin: 0; font-size: 20px; font-weight: 600;">@SectionCountLabel</h3>
|
||||
<p style="margin: 8px 0 0 0; color: var(--neutral-foreground-3); font-size: 12px;">Temp/operational_report.json</p>
|
||||
</div>
|
||||
</FluentCard>
|
||||
<FluentCard Style="flex: 1; min-width: 200px;">
|
||||
<div style="padding: 16px;">
|
||||
<p style="margin: 0 0 8px 0; color: var(--neutral-foreground-2); font-size: 12px; font-weight: 500;">Primary Route</p>
|
||||
<FluentButton Appearance="ButtonAppearance.Primary" Href="/operations" Style="margin-top: 8px;">
|
||||
Open Operations
|
||||
</FluentButton>
|
||||
</div>
|
||||
</FluentCard>
|
||||
</FluentStack>
|
||||
|
||||
<MudGrid Class="mb-4">
|
||||
<MudItem xs="12" md="7">
|
||||
<MudCard Class="h-100">
|
||||
<MudCardHeader>
|
||||
<CardHeaderContent>
|
||||
<MudText Typo="Typo.h6">Current State</MudText>
|
||||
</CardHeaderContent>
|
||||
</MudCardHeader>
|
||||
<MudCardContent>
|
||||
<MudStack Spacing="2">
|
||||
<MudText Typo="Typo.body2"><strong>Status:</strong> <MudChip Size="Size.Small" Color="@ReportChipColor">@ReportChipLabel</MudChip></MudText>
|
||||
<MudText Typo="Typo.body2"><strong>Generated:</strong> @GeneratedAtLabel</MudText>
|
||||
<MudText Typo="Typo.body2"><strong>Source:</strong> @SourceLabel</MudText>
|
||||
<MudText Typo="Typo.body2"><strong>Decision feed:</strong> @DecisionFeedLabel</MudText>
|
||||
<MudText Typo="Typo.body2"><strong>Factor feed:</strong> @FactorFeedLabel</MudText>
|
||||
<MudText Typo="Typo.body2"><strong>Raw feed:</strong> @RawFeedLabel</MudText>
|
||||
</MudStack>
|
||||
</MudCardContent>
|
||||
</MudCard>
|
||||
</MudItem>
|
||||
<!-- Current State & Routing Notes -->
|
||||
<FluentStack Orientation="Orientation.Horizontal" HorizontalGap="16" Wrap="true" Style="margin-bottom: 16px;">
|
||||
<FluentCard Style="flex: 2; min-width: 300px;">
|
||||
<div style="padding: 16px;">
|
||||
<h3 style="margin: 0 0 12px 0; font-size: 16px; font-weight: 600;">Current State</h3>
|
||||
<FluentStack Orientation="Orientation.Vertical" VerticalGap="8">
|
||||
<p style="margin: 0; font-size: 14px;"><strong>Status:</strong> <FluentBadge Appearance="BadgeAppearance.Filled">@ReportChipLabel</FluentBadge></p>
|
||||
<p style="margin: 0; font-size: 14px;"><strong>Generated:</strong> @GeneratedAtLabel</p>
|
||||
<p style="margin: 0; font-size: 14px;"><strong>Source:</strong> @SourceLabel</p>
|
||||
<p style="margin: 0; font-size: 14px;"><strong>Decision feed:</strong> @DecisionFeedLabel</p>
|
||||
<p style="margin: 0; font-size: 14px;"><strong>Factor feed:</strong> @FactorFeedLabel</p>
|
||||
<p style="margin: 0; font-size: 14px;"><strong>Raw feed:</strong> @RawFeedLabel</p>
|
||||
</FluentStack>
|
||||
</div>
|
||||
</FluentCard>
|
||||
|
||||
<MudItem xs="12" md="5">
|
||||
<MudCard Class="h-100">
|
||||
<MudCardHeader>
|
||||
<CardHeaderContent>
|
||||
<MudText Typo="Typo.h6">Routing Notes</MudText>
|
||||
</CardHeaderContent>
|
||||
</MudCardHeader>
|
||||
<MudCardContent>
|
||||
<MudStack Spacing="2">
|
||||
<MudText Typo="Typo.body2">- 운영 데이터는 snapshot 우선입니다.</MudText>
|
||||
<MudText Typo="Typo.body2">- Excel/GAS 의존 문구는 운영 경로에서 제거 대상입니다.</MudText>
|
||||
<MudText Typo="Typo.body2">- 숫자는 provenance 없으면 표시하지 않습니다.</MudText>
|
||||
</MudStack>
|
||||
</MudCardContent>
|
||||
</MudCard>
|
||||
</MudItem>
|
||||
</MudGrid>
|
||||
<FluentCard Style="flex: 1; min-width: 250px;">
|
||||
<div style="padding: 16px;">
|
||||
<h3 style="margin: 0 0 12px 0; font-size: 16px; font-weight: 600;">Routing Notes</h3>
|
||||
<ul style="margin: 0; padding-left: 16px; font-size: 14px;">
|
||||
<li>운영 데이터는 snapshot 우선입니다.</li>
|
||||
<li>Excel/GAS 의존 문구는 운영 경로에서 제거 대상입니다.</li>
|
||||
<li>숫자는 provenance 없으면 표시하지 않습니다.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</FluentCard>
|
||||
</FluentStack>
|
||||
|
||||
<MudCard>
|
||||
<MudCardHeader>
|
||||
<CardHeaderContent>
|
||||
<MudText Typo="Typo.h6">Coverage Summary</MudText>
|
||||
</CardHeaderContent>
|
||||
</MudCardHeader>
|
||||
<MudCardContent>
|
||||
<!-- Coverage Summary -->
|
||||
<FluentCard>
|
||||
<div style="padding: 16px;">
|
||||
<h3 style="margin: 0 0 12px 0; font-size: 16px; font-weight: 600;">Coverage Summary</h3>
|
||||
@if (Sections.Count == 0)
|
||||
{
|
||||
<MudAlert Severity="Severity.Warning" Variant="Variant.Outlined">
|
||||
<div style="padding: 12px; background: var(--warning-background-1); border: 1px solid var(--warning-stroke-1); border-radius: 4px; color: var(--warning-foreground-1); font-size: 14px;">
|
||||
DATA_MISSING: operational_report.json이 비어 있거나 아직 생성되지 않았습니다.
|
||||
</MudAlert>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<MudTable Items="Sections" Hover="true" Striped="true" Dense="true">
|
||||
<HeaderContent>
|
||||
<MudTh>Name</MudTh>
|
||||
<MudTh>Title</MudTh>
|
||||
<MudTh>Preview</MudTh>
|
||||
</HeaderContent>
|
||||
<RowTemplate>
|
||||
<MudTd>@context.Name</MudTd>
|
||||
<MudTd>@context.Title</MudTd>
|
||||
<MudTd>@context.Preview</MudTd>
|
||||
</RowTemplate>
|
||||
</MudTable>
|
||||
<FluentDataGrid Items="@Sections.AsQueryable()">
|
||||
<PropertyColumn Property="@(x => x.Name)" Title="Name" />
|
||||
<PropertyColumn Property="@(x => x.Title)" Title="Title" />
|
||||
<PropertyColumn Property="@(x => x.Preview)" Title="Preview" />
|
||||
</FluentDataGrid>
|
||||
}
|
||||
</MudCardContent>
|
||||
</MudCard>
|
||||
</div>
|
||||
</FluentCard>
|
||||
|
||||
@code {
|
||||
private readonly List<OperationalReportSection> Sections = new();
|
||||
private string ReportStateLabel = "DATA_MISSING";
|
||||
private string ReportChipLabel = "DATA_MISSING";
|
||||
private Color ReportChipColor = Color.Warning;
|
||||
private string SectionCountLabel = "0";
|
||||
private string GeneratedAtLabel = "n/a";
|
||||
private string SourceLabel = "n/a";
|
||||
@@ -133,6 +106,5 @@
|
||||
SourceLabel = report.SourceJson;
|
||||
ReportStateLabel = Sections.Count > 0 ? "READY" : "DATA_MISSING";
|
||||
ReportChipLabel = Sections.Count > 0 ? "READY" : "DATA_MISSING";
|
||||
ReportChipColor = Sections.Count > 0 ? Color.Success : Color.Warning;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,106 +4,85 @@
|
||||
|
||||
<PageTitle>Quant Engine - Operations</PageTitle>
|
||||
|
||||
<MudText Typo="Typo.h4" Class="mb-2">Operational Report</MudText>
|
||||
<MudText Typo="Typo.body2" Color="Color.Secondary" Class="mb-4">
|
||||
<h1 style="margin: 0 0 8px 0; font-size: 28px; font-weight: 600;">Operational Report</h1>
|
||||
<p style="margin: 0 0 16px 0; color: var(--neutral-foreground-2); font-size: 14px;">
|
||||
이 페이지는 `Temp/operational_report.json`만 읽습니다. DB 연결과 무관하게 동일한 결과를 보여주는 운영 고정 화면입니다.
|
||||
</MudText>
|
||||
</p>
|
||||
|
||||
<MudGrid Class="mb-4">
|
||||
<MudItem xs="12" sm="6" md="3">
|
||||
<MudCard Class="h-100">
|
||||
<MudCardContent>
|
||||
<MudText Typo="Typo.body2" Color="Color.Secondary">Schema</MudText>
|
||||
<MudText Typo="Typo.h6" Class="mt-2">@SchemaVersion</MudText>
|
||||
</MudCardContent>
|
||||
</MudCard>
|
||||
</MudItem>
|
||||
<MudItem xs="12" sm="6" md="3">
|
||||
<MudCard Class="h-100">
|
||||
<MudCardContent>
|
||||
<MudText Typo="Typo.body2" Color="Color.Secondary">Sections</MudText>
|
||||
<MudText Typo="Typo.h6" Class="mt-2">@SectionCountLabel</MudText>
|
||||
</MudCardContent>
|
||||
</MudCard>
|
||||
</MudItem>
|
||||
<MudItem xs="12" sm="6" md="3">
|
||||
<MudCard Class="h-100">
|
||||
<MudCardContent>
|
||||
<MudText Typo="Typo.body2" Color="Color.Secondary">Source</MudText>
|
||||
<MudText Typo="Typo.h6" Class="mt-2">@SourceJson</MudText>
|
||||
</MudCardContent>
|
||||
</MudCard>
|
||||
</MudItem>
|
||||
<MudItem xs="12" sm="6" md="3">
|
||||
<MudCard Class="h-100">
|
||||
<MudCardContent>
|
||||
<MudText Typo="Typo.body2" Color="Color.Secondary">Generated</MudText>
|
||||
<MudText Typo="Typo.h6" Class="mt-2">@GeneratedAt</MudText>
|
||||
</MudCardContent>
|
||||
</MudCard>
|
||||
</MudItem>
|
||||
</MudGrid>
|
||||
<!-- Metadata Cards -->
|
||||
<FluentStack Orientation="Orientation.Horizontal" HorizontalGap="16" Wrap="true" Style="margin-bottom: 16px;">
|
||||
<FluentCard Style="flex: 1; min-width: 150px;">
|
||||
<div style="padding: 16px;">
|
||||
<p style="margin: 0 0 8px 0; color: var(--neutral-foreground-2); font-size: 12px; font-weight: 500;">Schema</p>
|
||||
<h3 style="margin: 0; font-size: 18px; font-weight: 600;">@SchemaVersion</h3>
|
||||
</div>
|
||||
</FluentCard>
|
||||
<FluentCard Style="flex: 1; min-width: 150px;">
|
||||
<div style="padding: 16px;">
|
||||
<p style="margin: 0 0 8px 0; color: var(--neutral-foreground-2); font-size: 12px; font-weight: 500;">Sections</p>
|
||||
<h3 style="margin: 0; font-size: 18px; font-weight: 600;">@SectionCountLabel</h3>
|
||||
</div>
|
||||
</FluentCard>
|
||||
<FluentCard Style="flex: 1; min-width: 150px;">
|
||||
<div style="padding: 16px;">
|
||||
<p style="margin: 0 0 8px 0; color: var(--neutral-foreground-2); font-size: 12px; font-weight: 500;">Source</p>
|
||||
<h3 style="margin: 0; font-size: 18px; font-weight: 600;">@SourceJson</h3>
|
||||
</div>
|
||||
</FluentCard>
|
||||
<FluentCard Style="flex: 1; min-width: 150px;">
|
||||
<div style="padding: 16px;">
|
||||
<p style="margin: 0 0 8px 0; color: var(--neutral-foreground-2); font-size: 12px; font-weight: 500;">Generated</p>
|
||||
<h3 style="margin: 0; font-size: 18px; font-weight: 600;">@GeneratedAt</h3>
|
||||
</div>
|
||||
</FluentCard>
|
||||
</FluentStack>
|
||||
|
||||
<MudGrid Class="mb-4">
|
||||
<!-- Highlight Sections Grid -->
|
||||
<FluentStack Orientation="Orientation.Horizontal" HorizontalGap="16" Wrap="true" Style="margin-bottom: 16px;">
|
||||
@foreach (var section in HighlightSections)
|
||||
{
|
||||
<MudItem xs="12" sm="6" lg="3">
|
||||
<MudCard Class="h-100">
|
||||
<MudCardContent>
|
||||
<MudText Typo="Typo.body2" Color="Color.Secondary">@(section.Name)</MudText>
|
||||
<MudText Typo="Typo.subtitle1" Class="mt-1">@(section.Title)</MudText>
|
||||
<MudText Typo="Typo.caption" Color="Color.Secondary">@(section.Preview)</MudText>
|
||||
</MudCardContent>
|
||||
</MudCard>
|
||||
</MudItem>
|
||||
<FluentCard Style="flex: 1; min-width: 200px;">
|
||||
<div style="padding: 16px;">
|
||||
<p style="margin: 0 0 4px 0; color: var(--neutral-foreground-2); font-size: 12px;">@(section.Name)</p>
|
||||
<h3 style="margin: 4px 0; font-size: 16px; font-weight: 600;">@(section.Title)</h3>
|
||||
<p style="margin: 8px 0 0 0; color: var(--neutral-foreground-3); font-size: 12px;">@(section.Preview)</p>
|
||||
</div>
|
||||
</FluentCard>
|
||||
}
|
||||
</MudGrid>
|
||||
</FluentStack>
|
||||
|
||||
<MudCard Class="mb-4">
|
||||
<MudCardHeader>
|
||||
<CardHeaderContent>
|
||||
<MudText Typo="Typo.h6">Report Health</MudText>
|
||||
</CardHeaderContent>
|
||||
</MudCardHeader>
|
||||
<MudCardContent>
|
||||
<MudStack Spacing="2">
|
||||
<MudText Typo="Typo.body2"><strong>Status:</strong> <MudChip Size="Size.Small" Color="@HealthColor">@HealthLabel</MudChip></MudText>
|
||||
<MudText Typo="Typo.body2"><strong>Path:</strong> @ReportPath</MudText>
|
||||
<MudText Typo="Typo.body2"><strong>Sections rendered:</strong> @RenderedSectionCountLabel</MudText>
|
||||
</MudStack>
|
||||
</MudCardContent>
|
||||
</MudCard>
|
||||
<!-- Report Health -->
|
||||
<FluentCard Style="margin-bottom: 16px;">
|
||||
<div style="padding: 16px;">
|
||||
<h3 style="margin: 0 0 12px 0; font-size: 16px; font-weight: 600;">Report Health</h3>
|
||||
<FluentStack Orientation="Orientation.Vertical" VerticalGap="8">
|
||||
<p style="margin: 0; font-size: 14px;"><strong>Status:</strong> <FluentBadge Appearance="BadgeAppearance.Filled">@HealthLabel</FluentBadge></p>
|
||||
<p style="margin: 0; font-size: 14px;"><strong>Path:</strong> @ReportPath</p>
|
||||
<p style="margin: 0; font-size: 14px;"><strong>Sections rendered:</strong> @RenderedSectionCountLabel</p>
|
||||
</FluentStack>
|
||||
</div>
|
||||
</FluentCard>
|
||||
|
||||
<MudCard>
|
||||
<MudCardHeader>
|
||||
<CardHeaderContent>
|
||||
<MudText Typo="Typo.h6">Sections</MudText>
|
||||
</CardHeaderContent>
|
||||
</MudCardHeader>
|
||||
<MudCardContent>
|
||||
<!-- Sections Table -->
|
||||
<FluentCard>
|
||||
<div style="padding: 16px;">
|
||||
<h3 style="margin: 0 0 12px 0; font-size: 16px; font-weight: 600;">Sections</h3>
|
||||
@if (Sections.Count == 0)
|
||||
{
|
||||
<MudAlert Severity="Severity.Warning" Variant="Variant.Outlined">
|
||||
<div style="padding: 12px; background: var(--warning-background-1); border: 1px solid var(--warning-stroke-1); border-radius: 4px; color: var(--warning-foreground-1); font-size: 14px;">
|
||||
DATA_MISSING: operational_report.json에 표시할 섹션이 없습니다.
|
||||
</MudAlert>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<MudTable Items="Sections" Hover="true" Striped="true" Dense="true">
|
||||
<HeaderContent>
|
||||
<MudTh>Name</MudTh>
|
||||
<MudTh>Title</MudTh>
|
||||
<MudTh>Preview</MudTh>
|
||||
</HeaderContent>
|
||||
<RowTemplate>
|
||||
<MudTd>@context.Name</MudTd>
|
||||
<MudTd>@context.Title</MudTd>
|
||||
<MudTd>@context.Preview</MudTd>
|
||||
</RowTemplate>
|
||||
</MudTable>
|
||||
<FluentDataGrid Items="@Sections.AsQueryable()">
|
||||
<PropertyColumn Property="@(x => x.Name)" Title="Name" />
|
||||
<PropertyColumn Property="@(x => x.Title)" Title="Title" />
|
||||
<PropertyColumn Property="@(x => x.Preview)" Title="Preview" />
|
||||
</FluentDataGrid>
|
||||
}
|
||||
</MudCardContent>
|
||||
</MudCard>
|
||||
</div>
|
||||
</FluentCard>
|
||||
|
||||
@code {
|
||||
private readonly List<OperationalReportSection> Sections = new();
|
||||
@@ -114,7 +93,6 @@
|
||||
private string SectionCountLabel = "0";
|
||||
private string RenderedSectionCountLabel = "0";
|
||||
private string HealthLabel = "DATA_MISSING";
|
||||
private Color HealthColor = Color.Warning;
|
||||
private string ReportPath = "n/a";
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
@@ -133,6 +111,5 @@
|
||||
SectionCountLabel = report.SectionCount.ToString();
|
||||
RenderedSectionCountLabel = Sections.Count.ToString();
|
||||
HealthLabel = Sections.Count > 0 ? "PASS" : "DATA_MISSING";
|
||||
HealthColor = Sections.Count > 0 ? Color.Success : Color.Warning;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
@using static Microsoft.AspNetCore.Components.Web.RenderMode
|
||||
@using Microsoft.AspNetCore.Components.Web.Virtualization
|
||||
@using Microsoft.JSInterop
|
||||
@using MudBlazor
|
||||
@using Microsoft.FluentUI.AspNetCore.Components
|
||||
@using Microsoft.FluentUI.AspNetCore.Components.Icons
|
||||
@using QuantEngine.Web
|
||||
@using QuantEngine.Web.Components
|
||||
@using QuantEngine.Web.Components.Layout
|
||||
|
||||
@@ -4,7 +4,7 @@ using QuantEngine.Infrastructure.Repositories;
|
||||
using QuantEngine.Core.Interfaces;
|
||||
using QuantEngine.Application.Services;
|
||||
using System.Text.Json;
|
||||
using MudBlazor.Services;
|
||||
using Microsoft.FluentUI.AspNetCore.Components;
|
||||
using Serilog;
|
||||
using QuantEngine.Web.Infrastructure;
|
||||
|
||||
@@ -22,8 +22,8 @@ builder.Host.UseSerilog();
|
||||
builder.Services.AddRazorComponents()
|
||||
.AddInteractiveServerComponents();
|
||||
|
||||
// MudBlazor Services
|
||||
builder.Services.AddMudServices();
|
||||
// Fluent UI Services
|
||||
builder.Services.AddFluentUIComponents();
|
||||
|
||||
// PostgreSQL Dapper Setup
|
||||
var connectionString = builder.Configuration.GetConnectionString("DefaultConnection")
|
||||
|
||||
@@ -7,7 +7,8 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MudBlazor" Version="6.10.0" />
|
||||
<PackageReference Include="Microsoft.FluentUI.AspNetCore.Components" Version="5.0.0-rc.4-26177.1" />
|
||||
<PackageReference Include="Microsoft.FluentUI.AspNetCore.Components.Icons" Version="5.0.0-rc.4-26177.1" />
|
||||
<PackageReference Include="Serilog.AspNetCore" Version="10.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -8,10 +8,12 @@
|
||||
".NETCoreApp,Version=v10.0": {
|
||||
"QuantEngine.Web/1.0.0": {
|
||||
"dependencies": {
|
||||
"MudBlazor": "6.10.0",
|
||||
"Microsoft.FluentUI.AspNetCore.Components": "5.0.0-rc.4-26177.1",
|
||||
"Microsoft.FluentUI.AspNetCore.Components.Icons": "5.0.0-rc.4-26177.1",
|
||||
"QuantEngine.Application": "1.0.0",
|
||||
"QuantEngine.Core": "1.0.0",
|
||||
"QuantEngine.Infrastructure": "1.0.0"
|
||||
"QuantEngine.Infrastructure": "1.0.0",
|
||||
"Serilog.AspNetCore": "10.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"QuantEngine.Web.dll": {}
|
||||
@@ -25,11 +27,46 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"MudBlazor/6.10.0": {
|
||||
"Microsoft.Extensions.DependencyModel/10.0.0": {
|
||||
"runtime": {
|
||||
"lib/net7.0/MudBlazor.dll": {
|
||||
"assemblyVersion": "6.10.0.0",
|
||||
"fileVersion": "6.10.0.0"
|
||||
"lib/net10.0/Microsoft.Extensions.DependencyModel.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.25.52411"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.FluentUI.AspNetCore.Components/5.0.0-rc.4-26177.1": {
|
||||
"runtime": {
|
||||
"lib/net10.0/Microsoft.FluentUI.AspNetCore.Components.dll": {
|
||||
"assemblyVersion": "5.0.0.26177",
|
||||
"fileVersion": "5.0.0.26177"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.FluentUI.AspNetCore.Components.Icons/5.0.0-rc.4-26177.1": {
|
||||
"dependencies": {
|
||||
"Microsoft.FluentUI.AspNetCore.Components": "5.0.0-rc.4-26177.1"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.FluentUI.AspNetCore.Components.Icons.Color.dll": {
|
||||
"assemblyVersion": "5.0.0.26177",
|
||||
"fileVersion": "5.0.0.26177"
|
||||
},
|
||||
"lib/net9.0/Microsoft.FluentUI.AspNetCore.Components.Icons.Filled.dll": {
|
||||
"assemblyVersion": "5.0.0.26177",
|
||||
"fileVersion": "5.0.0.26177"
|
||||
},
|
||||
"lib/net9.0/Microsoft.FluentUI.AspNetCore.Components.Icons.Light.dll": {
|
||||
"assemblyVersion": "5.0.0.26177",
|
||||
"fileVersion": "5.0.0.26177"
|
||||
},
|
||||
"lib/net9.0/Microsoft.FluentUI.AspNetCore.Components.Icons.Regular.dll": {
|
||||
"assemblyVersion": "5.0.0.26177",
|
||||
"fileVersion": "5.0.0.26177"
|
||||
},
|
||||
"lib/net9.0/Microsoft.FluentUI.AspNetCore.Components.Icons.dll": {
|
||||
"assemblyVersion": "5.0.0.26177",
|
||||
"fileVersion": "5.0.0.26177"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -41,6 +78,110 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"Serilog/4.3.0": {
|
||||
"runtime": {
|
||||
"lib/net9.0/Serilog.dll": {
|
||||
"assemblyVersion": "4.3.0.0",
|
||||
"fileVersion": "4.3.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Serilog.AspNetCore/10.0.0": {
|
||||
"dependencies": {
|
||||
"Serilog": "4.3.0",
|
||||
"Serilog.Extensions.Hosting": "10.0.0",
|
||||
"Serilog.Formatting.Compact": "3.0.0",
|
||||
"Serilog.Settings.Configuration": "10.0.0",
|
||||
"Serilog.Sinks.Console": "6.1.1",
|
||||
"Serilog.Sinks.Debug": "3.0.0",
|
||||
"Serilog.Sinks.File": "7.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/Serilog.AspNetCore.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Serilog.Extensions.Hosting/10.0.0": {
|
||||
"dependencies": {
|
||||
"Serilog": "4.3.0",
|
||||
"Serilog.Extensions.Logging": "10.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/Serilog.Extensions.Hosting.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Serilog.Extensions.Logging/10.0.0": {
|
||||
"dependencies": {
|
||||
"Serilog": "4.3.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/Serilog.Extensions.Logging.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Serilog.Formatting.Compact/3.0.0": {
|
||||
"dependencies": {
|
||||
"Serilog": "4.3.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/Serilog.Formatting.Compact.dll": {
|
||||
"assemblyVersion": "3.0.0.0",
|
||||
"fileVersion": "3.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Serilog.Settings.Configuration/10.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.DependencyModel": "10.0.0",
|
||||
"Serilog": "4.3.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/Serilog.Settings.Configuration.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Serilog.Sinks.Console/6.1.1": {
|
||||
"dependencies": {
|
||||
"Serilog": "4.3.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/Serilog.Sinks.Console.dll": {
|
||||
"assemblyVersion": "6.1.1.0",
|
||||
"fileVersion": "6.1.1.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Serilog.Sinks.Debug/3.0.0": {
|
||||
"dependencies": {
|
||||
"Serilog": "4.3.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/Serilog.Sinks.Debug.dll": {
|
||||
"assemblyVersion": "3.0.0.0",
|
||||
"fileVersion": "3.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Serilog.Sinks.File/7.0.0": {
|
||||
"dependencies": {
|
||||
"Serilog": "4.3.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Serilog.Sinks.File.dll": {
|
||||
"assemblyVersion": "7.0.0.0",
|
||||
"fileVersion": "7.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"QuantEngine.Application/1.0.0": {
|
||||
"dependencies": {
|
||||
"QuantEngine.Core": "1.0.0"
|
||||
@@ -89,12 +230,26 @@
|
||||
"path": "dapper/2.1.79",
|
||||
"hashPath": "dapper.2.1.79.nupkg.sha512"
|
||||
},
|
||||
"MudBlazor/6.10.0": {
|
||||
"Microsoft.Extensions.DependencyModel/10.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-Dpjouo3MVva4p8Nh2VCzHzvzReWhnzmCBNlrhymeXjn6oBEtT3Oi9z/R2sHOg/jYrW/hIPKMhfZHnptilHScsw==",
|
||||
"path": "mudblazor/6.10.0",
|
||||
"hashPath": "mudblazor.6.10.0.nupkg.sha512"
|
||||
"sha512": "sha512-RFYJR7APio/BiqdQunRq6DB+nDB6nc2qhHr77mlvZ0q0BT8PubMXN7XicmfzCbrDE/dzhBnUKBRXLTcqUiZDGg==",
|
||||
"path": "microsoft.extensions.dependencymodel/10.0.0",
|
||||
"hashPath": "microsoft.extensions.dependencymodel.10.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.FluentUI.AspNetCore.Components/5.0.0-rc.4-26177.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-y7k8ib6ar+1l7Rc8IdBe5aLWzFPF09ruazr+nB/GZw1Zefehddt7qXhbQzCCRyV7GCTBY3HvV7ms08ChRaeUfQ==",
|
||||
"path": "microsoft.fluentui.aspnetcore.components/5.0.0-rc.4-26177.1",
|
||||
"hashPath": "microsoft.fluentui.aspnetcore.components.5.0.0-rc.4-26177.1.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.FluentUI.AspNetCore.Components.Icons/5.0.0-rc.4-26177.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-99ZPWwDcdEL/o6vmtbi7A+TzjpiOE2DxUJD/McesJTIGEZT8Iohh8URJvgpA8SR8W4tB+9wSfqZMXMCuaWi5aA==",
|
||||
"path": "microsoft.fluentui.aspnetcore.components.icons/5.0.0-rc.4-26177.1",
|
||||
"hashPath": "microsoft.fluentui.aspnetcore.components.icons.5.0.0-rc.4-26177.1.nupkg.sha512"
|
||||
},
|
||||
"Npgsql/10.0.3": {
|
||||
"type": "package",
|
||||
@@ -103,6 +258,69 @@
|
||||
"path": "npgsql/10.0.3",
|
||||
"hashPath": "npgsql.10.0.3.nupkg.sha512"
|
||||
},
|
||||
"Serilog/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-+cDryFR0GRhsGOnZSKwaDzRRl4MupvJ42FhCE4zhQRVanX0Jpg6WuCBk59OVhVDPmab1bB+nRykAnykYELA9qQ==",
|
||||
"path": "serilog/4.3.0",
|
||||
"hashPath": "serilog.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"Serilog.AspNetCore/10.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-a/cNa1mY4On1oJlfGG1wAvxjp5g7OEzk/Jf/nm7NF9cWoE7KlZw1GldrifUBWm9oKibHkR7Lg/l5jy3y7ACR8w==",
|
||||
"path": "serilog.aspnetcore/10.0.0",
|
||||
"hashPath": "serilog.aspnetcore.10.0.0.nupkg.sha512"
|
||||
},
|
||||
"Serilog.Extensions.Hosting/10.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-E7juuIc+gzoGxgzFooFgAV8g9BfiSXNKsUok9NmEpyAXg2odkcPsMa/Yo4axkJRlh0se7mkYQ1GXDaBemR+b6w==",
|
||||
"path": "serilog.extensions.hosting/10.0.0",
|
||||
"hashPath": "serilog.extensions.hosting.10.0.0.nupkg.sha512"
|
||||
},
|
||||
"Serilog.Extensions.Logging/10.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-vx0kABKl2dWbBhhqAfTOk53/i8aV/5VaT3a6il9gn72Wqs2pM7EK2OB6No6xdqK2IaY6Zf9gdjLuK9BVa2rT+Q==",
|
||||
"path": "serilog.extensions.logging/10.0.0",
|
||||
"hashPath": "serilog.extensions.logging.10.0.0.nupkg.sha512"
|
||||
},
|
||||
"Serilog.Formatting.Compact/3.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-wQsv14w9cqlfB5FX2MZpNsTawckN4a8dryuNGbebB/3Nh1pXnROHZov3swtu3Nj5oNG7Ba+xdu7Et/ulAUPanQ==",
|
||||
"path": "serilog.formatting.compact/3.0.0",
|
||||
"hashPath": "serilog.formatting.compact.3.0.0.nupkg.sha512"
|
||||
},
|
||||
"Serilog.Settings.Configuration/10.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-LNq+ibS1sbhTqPV1FIE69/9AJJbfaOhnaqkzcjFy95o+4U+STsta9mi97f1smgXsWYKICDeGUf8xUGzd/52/uA==",
|
||||
"path": "serilog.settings.configuration/10.0.0",
|
||||
"hashPath": "serilog.settings.configuration.10.0.0.nupkg.sha512"
|
||||
},
|
||||
"Serilog.Sinks.Console/6.1.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-8jbqgjUyZlfCuSTaJk6lOca465OndqOz3KZP6Cryt/IqZYybyBu7GP0fE/AXBzrrQB3EBmQntBFAvMVz1COvAA==",
|
||||
"path": "serilog.sinks.console/6.1.1",
|
||||
"hashPath": "serilog.sinks.console.6.1.1.nupkg.sha512"
|
||||
},
|
||||
"Serilog.Sinks.Debug/3.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-4BzXcdrgRX7wde9PmHuYd9U6YqycCC28hhpKonK7hx0wb19eiuRj16fPcPSVp0o/Y1ipJuNLYQ00R3q2Zs8FDA==",
|
||||
"path": "serilog.sinks.debug/3.0.0",
|
||||
"hashPath": "serilog.sinks.debug.3.0.0.nupkg.sha512"
|
||||
},
|
||||
"Serilog.Sinks.File/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-fKL7mXv7qaiNBUC71ssvn/dU0k9t0o45+qm2XgKAlSt19xF+ijjxyA3R6HmCgfKEKwfcfkwWjayuQtRueZFkYw==",
|
||||
"path": "serilog.sinks.file/7.0.0",
|
||||
"hashPath": "serilog.sinks.file.7.0.0.nupkg.sha512"
|
||||
},
|
||||
"QuantEngine.Application/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -13,10 +13,10 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("QuantEngine.Web")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+325c6d64e17702c514691d989194bc4dc0d08460")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+aad4788e8430ad7244d0628047aaf40d0590ef95")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("QuantEngine.Web")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("QuantEngine.Web")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
// MSBuild WriteCodeFragment 클래스에서 생성되었습니다.
|
||||
// Generated by the MSBuild WriteCodeFragment class.
|
||||
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
cb8ab21efbcec9c201bb4643c76b5e8873821d21fc9970abd6d2a8b567b63809
|
||||
f65fdbf5ae13b230002b1911966d3803d46022cf6234aa717189fff95ad3d9d1
|
||||
|
||||
+4
-7
@@ -8,13 +8,14 @@ build_property.ProjectTypeGuids =
|
||||
build_property.InvariantGlobalization =
|
||||
build_property.PlatformNeutralAssembly =
|
||||
build_property.EnforceExtendedAnalyzerRules =
|
||||
build_property.EntryPointFilePath =
|
||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||
build_property.RootNamespace = QuantEngine.Web
|
||||
build_property.RootNamespace = QuantEngine.Web
|
||||
build_property.ProjectDir = C:\Temp\data_feed\src\dotnet\QuantEngine.Web\
|
||||
build_property.EnableComHosting =
|
||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
||||
build_property.RazorLangVersion = 9.0
|
||||
build_property.RazorLangVersion = 10.0
|
||||
build_property.SupportLocalizedComponentNames =
|
||||
build_property.GenerateRazorMetadataSourceChecksumAttributes =
|
||||
build_property.MSBuildProjectDirectory = C:\Temp\data_feed\src\dotnet\QuantEngine.Web
|
||||
@@ -26,10 +27,6 @@ build_property.EnableCodeStyleSeverity =
|
||||
build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xBcHAucmF6b3I=
|
||||
build_metadata.AdditionalFiles.CssScope =
|
||||
|
||||
[C:/Temp/data_feed/src/dotnet/QuantEngine.Web/Components/Pages/Counter.razor]
|
||||
build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xQYWdlc1xDb3VudGVyLnJhem9y
|
||||
build_metadata.AdditionalFiles.CssScope =
|
||||
|
||||
[C:/Temp/data_feed/src/dotnet/QuantEngine.Web/Components/Pages/Dashboard.razor]
|
||||
build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xQYWdlc1xEYXNoYm9hcmQucmF6b3I=
|
||||
build_metadata.AdditionalFiles.CssScope =
|
||||
@@ -42,8 +39,8 @@ build_metadata.AdditionalFiles.CssScope =
|
||||
build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xQYWdlc1xOb3RGb3VuZC5yYXpvcg==
|
||||
build_metadata.AdditionalFiles.CssScope =
|
||||
|
||||
[C:/Temp/data_feed/src/dotnet/QuantEngine.Web/Components/Pages/Weather.razor]
|
||||
build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xQYWdlc1xXZWF0aGVyLnJhem9y
|
||||
[C:/Temp/data_feed/src/dotnet/QuantEngine.Web/Components/Pages/Operations.razor]
|
||||
build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xQYWdlc1xPcGVyYXRpb25zLnJhem9y
|
||||
build_metadata.AdditionalFiles.CssScope =
|
||||
|
||||
[C:/Temp/data_feed/src/dotnet/QuantEngine.Web/Components/Routes.razor]
|
||||
|
||||
Binary file not shown.
BIN
Binary file not shown.
+1
-1
@@ -1 +1 @@
|
||||
88d0f7af4412902652f47d047de48cda1a0ecc11278a5659d99a578ea7a960e4
|
||||
0e1d6e7f1c84fdbf2e852a7227f82a6008223f92775fb884340ae9e6fac59f0f
|
||||
|
||||
+36
-51
@@ -30,54 +30,7 @@ C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\scopedcss\Compone
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\scopedcss\Components\Layout\ReconnectModal.razor.rz.scp.css
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\scopedcss\bundle\QuantEngine.Web.styles.css
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\scopedcss\projectbundle\QuantEngine.Web.bundle.scp.css
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\dgr8mv739g-{0}-bqjiyaj88i-bqjiyaj88i.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\l0f1c41wbh-{0}-c2jlpeoesf-c2jlpeoesf.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\ny3xbgedo0-{0}-erw9l3u2r3-erw9l3u2r3.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\yyzux970us-{0}-aexeepp0ev-aexeepp0ev.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\s8tfmvcl6l-{0}-d7shbmvgxk-d7shbmvgxk.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\buy0lgnna4-{0}-ausgxo2sd3-ausgxo2sd3.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\rftpckz71e-{0}-k8d9w2qqmf-k8d9w2qqmf.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\1xufxwh45d-{0}-cosvhxvwiu-cosvhxvwiu.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\110gjqadz3-{0}-ub07r2b239-ub07r2b239.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\moveir2wlt-{0}-fvhpjtyr6v-fvhpjtyr6v.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\i5gc3220r3-{0}-b7pk76d08c-b7pk76d08c.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\xhunqdkvqb-{0}-fsbi9cje9m-fsbi9cje9m.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\gomvvqnjlm-{0}-rzd6atqjts-rzd6atqjts.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\c34v41vs4l-{0}-ee0r1s7dh0-ee0r1s7dh0.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\0p7lrldjgj-{0}-dxx9fxp4il-dxx9fxp4il.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\0auc0xnlsy-{0}-jd9uben2k1-jd9uben2k1.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\pbeu27ik9w-{0}-khv3u5hwcm-khv3u5hwcm.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\79raj0bcrr-{0}-r4e9w2rdcm-r4e9w2rdcm.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\jqrauj2svw-{0}-lcd1t2u6c8-lcd1t2u6c8.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\pj5n2mkkzw-{0}-c2oey78nd0-c2oey78nd0.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\dt9lb9me9i-{0}-tdbxkamptv-tdbxkamptv.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\lwh7ckeki7-{0}-j5mq2jizvt-j5mq2jizvt.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\4cblaxq6jh-{0}-06098lyss8-06098lyss8.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\44s2eqp64d-{0}-nvvlpmu67g-nvvlpmu67g.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\gcxof6xqvd-{0}-s35ty4nyc5-s35ty4nyc5.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\z9wv7fs72k-{0}-pj5nd1wqec-pj5nd1wqec.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\4072jq1i2h-{0}-46ein0sx1k-46ein0sx1k.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\a4eqfiv3ub-{0}-v0zj4ognzu-v0zj4ognzu.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\rg0bjkw6wb-{0}-37tfw0ft22-37tfw0ft22.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\jomvpxly64-{0}-hrwsygsryq-hrwsygsryq.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\u4l44l4mup-{0}-pk9g2wxc8p-pk9g2wxc8p.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\s45yklcy5s-{0}-ft3s53vfgj-ft3s53vfgj.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\ryegp6ubqi-{0}-6cfz1n2cew-6cfz1n2cew.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\gfm26p5c1q-{0}-6pdc2jztkx-6pdc2jztkx.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\wh1z5habmz-{0}-493y06b0oq-493y06b0oq.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\oog3rser0x-{0}-iovd86k7lj-iovd86k7lj.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\dd5v02aqjc-{0}-vr1egmr9el-vr1egmr9el.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\61rmegrlmv-{0}-kbrnm935zg-kbrnm935zg.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\0x3oeluflx-{0}-jj8uyg4cgr-jj8uyg4cgr.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\h7pf8rqo63-{0}-y7v9cxd14o-y7v9cxd14o.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\a1937s5xj1-{0}-notf2xhcfb-notf2xhcfb.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\a7rq2yiqop-{0}-h1s4sie4z3-h1s4sie4z3.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\ykh8zi7pka-{0}-63fj8s7r0e-63fj8s7r0e.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\8q9g0t5yrl-{0}-0j3bgjxly4-0j3bgjxly4.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\t9yb5ynpxl-{0}-13ja33weya-13ja33weya.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\nr5locadir-{0}-j8lzlu28q6-j8lzlu28q6.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\dym80g6kqp-{0}-u1n4jc5v46-u1n4jc5v46.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\b7jn6yc0gz-{0}-yi314np04p-yi314np04p.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\vpvw6nj9ax-{0}-yi314np04p-yi314np04p.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\staticwebassets.build.json
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\staticwebassets.build.json.cache
|
||||
@@ -93,7 +46,39 @@ C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\ref\QuantEngine.W
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Debug\net10.0\Dapper.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Debug\net10.0\Npgsql.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\q2w3mddmwi-{0}-hhus5bms5i-hhus5bms5i.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Debug\net10.0\MudBlazor.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\tzxjg6is5z-{0}-vfkweikjak-vfkweikjak.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\0wz98yz2xy-{0}-zz3vgy03mq-zz3vgy03mq.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Debug\net10.0\Temp\ui_test_results.json
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Debug\net10.0\Microsoft.Extensions.DependencyModel.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Debug\net10.0\Microsoft.FluentUI.AspNetCore.Components.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Debug\net10.0\Microsoft.FluentUI.AspNetCore.Components.Icons.Color.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Debug\net10.0\Microsoft.FluentUI.AspNetCore.Components.Icons.Filled.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Debug\net10.0\Microsoft.FluentUI.AspNetCore.Components.Icons.Light.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Debug\net10.0\Microsoft.FluentUI.AspNetCore.Components.Icons.Regular.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Debug\net10.0\Microsoft.FluentUI.AspNetCore.Components.Icons.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Debug\net10.0\Serilog.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Debug\net10.0\Serilog.AspNetCore.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Debug\net10.0\Serilog.Extensions.Hosting.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Debug\net10.0\Serilog.Extensions.Logging.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Debug\net10.0\Serilog.Formatting.Compact.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Debug\net10.0\Serilog.Settings.Configuration.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Debug\net10.0\Serilog.Sinks.Console.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Debug\net10.0\Serilog.Sinks.Debug.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Debug\net10.0\Serilog.Sinks.File.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\jsmodules\jsmodules.build.manifest.json
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\klh9ieqob8-{0}-iyd2uar0up-iyd2uar0up.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\f3i2l0jv30-{0}-iddw5cjyql-iddw5cjyql.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\6mwvvlkmgj-{0}-s7fspo1leq-s7fspo1leq.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\h0qxm5u0yy-{0}-qpepyjfzgz-qpepyjfzgz.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\win2gt64sq-{0}-x8xhhr7jgv-x8xhhr7jgv.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\ru2nohmkoz-{0}-ghr9dc63gi-ghr9dc63gi.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\4m8jx7ixl4-{0}-nvqi1h5n7i-nvqi1h5n7i.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\mm8wr5jb95-{0}-asn2ffubki-asn2ffubki.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\jq2jihf5fr-{0}-7jrmyk289x-7jrmyk289x.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\is0nail857-{0}-rdaq2hquit-rdaq2hquit.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\ib5axksgx0-{0}-o9w0qkfcrf-o9w0qkfcrf.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\oc0evn85jv-{0}-t1fy3wrmof-t1fy3wrmof.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\6nn42apl8y-{0}-acio4t06fh-acio4t06fh.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\kwrall9b0s-{0}-p1atgyms84-p1atgyms84.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\bnqbmxev8p-{0}-uhfllo7vmv-uhfllo7vmv.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\nr5locadir-{0}-ne14ti1q68-ne14ti1q68.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\dym80g6kqp-{0}-ig5xotzpx5-ig5xotzpx5.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\ctztv6q6p6-{0}-jdfzv2q2bu-jdfzv2q2bu.gz
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\b7jn6yc0gz-{0}-xny4mnot63-xny4mnot63.gz
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user