37 lines
1.4 KiB
Plaintext
37 lines
1.4 KiB
Plaintext
@{
|
|
ViewData["Title"] = "Home";
|
|
}
|
|
|
|
<div class="card">
|
|
<h1>📅 Calendar Sync</h1>
|
|
<p>
|
|
This application synchronizes your Microsoft 365 Calendar changes into an
|
|
Excel Online file (<strong>CalendarSync.xlsx</strong>) in your OneDrive root folder every hour.
|
|
</p>
|
|
|
|
@if (User.Identity?.IsAuthenticated == true)
|
|
{
|
|
<p>You're signed in. Click <strong>Enroll</strong> to opt into calendar synchronization.</p>
|
|
<a asp-action="Enroll" class="btn btn-primary">Enroll for Sync</a>
|
|
}
|
|
else
|
|
{
|
|
<p>Sign in with your Microsoft 365 account to get started.</p>
|
|
<a asp-area="MicrosoftIdentity" asp-controller="Account" asp-action="SignIn" class="btn btn-primary">
|
|
Sign In with Microsoft
|
|
</a>
|
|
}
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h2>How it works</h2>
|
|
<ol>
|
|
<li><strong>Sign In</strong> — Authenticate with your Microsoft 365 account.</li>
|
|
<li><strong>Enroll</strong> — Register for calendar sync (stores your user ID securely).</li>
|
|
<li><strong>Auto-Sync</strong> — Every 60 minutes, the background worker pulls calendar changes
|
|
using Microsoft Graph delta queries and appends them to <code>CalendarSync.xlsx</code>.</li>
|
|
<li><strong>Resume</strong> — Delta links are saved per user, so syncs resume exactly where they
|
|
left off — even after a server restart.</li>
|
|
</ol>
|
|
</div>
|