94 lines
2.4 KiB
C#
94 lines
2.4 KiB
C#
using Blazored.Modal;
|
|
using Blazored.Modal.Services;
|
|
using Blazored.Toast.Services;
|
|
using Microsoft.AspNetCore.Components;
|
|
using ReserveManagementSystemLib.Models;
|
|
using ReserveManagementSystemUI.Services;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace ReserveManagementSystemUI.Shared.Components
|
|
{
|
|
public partial class ImportBanner: ComponentBase
|
|
{
|
|
[Inject]
|
|
ReserveService ReserveService { get; set; }
|
|
|
|
[Inject]
|
|
IToastService ToastService { get; set; }
|
|
|
|
[Inject]
|
|
IModalService Modal { get; set; }
|
|
|
|
public Import Import = new Import();
|
|
|
|
public bool Loaded = false;
|
|
|
|
public string ResultClass => Import.Success ? "alert-success" : "alert-danger";
|
|
|
|
[Parameter]
|
|
public bool Refresh { get; set; }
|
|
|
|
protected override async Task OnParametersSetAsync()
|
|
{
|
|
if (Refresh) {
|
|
await GetImport();
|
|
}
|
|
}
|
|
|
|
protected override async Task OnAfterRenderAsync(bool firstRender)
|
|
{
|
|
if (firstRender)
|
|
{
|
|
await GetImport();
|
|
}
|
|
|
|
await base.OnAfterRenderAsync(firstRender);
|
|
}
|
|
|
|
public async Task<bool> GetImport()
|
|
{
|
|
var result = true;
|
|
|
|
Import = (await ReserveService.GetRecentImports(1)).FirstOrDefault();
|
|
|
|
if (Import == null)
|
|
{
|
|
ToastService.ShowError("There was an issue retrieving import data.");
|
|
Import = new Import();
|
|
result = false;
|
|
}
|
|
|
|
Loaded = true;
|
|
|
|
StateHasChanged();
|
|
|
|
return result;
|
|
}
|
|
|
|
public string GetCompletedText()
|
|
{
|
|
if (Import.EndDate.HasValue)
|
|
{
|
|
return $"Completed {Import.EndDate?.ToString("M/d/yyyy h:mm tt")}, ";
|
|
}
|
|
return string.Empty;
|
|
}
|
|
|
|
public string GetResultText()
|
|
{
|
|
if (Import.Success)
|
|
{
|
|
return $"Processed {Import.RecordCount} records";
|
|
}
|
|
if (!Import.Success && Import.RecordCount > 0)
|
|
{
|
|
return $"Processed {Import.RecordCount} records, but only saved {Import.RecordsSaved}";
|
|
}
|
|
return $"Failed to process";
|
|
}
|
|
}
|
|
}
|