104 lines
No EOL
5 KiB
Text
104 lines
No EOL
5 KiB
Text
@page "/turrets/create"
|
|
@using System.Runtime.InteropServices.JavaScript
|
|
@using Microsoft.EntityFrameworkCore
|
|
@using ZenithInfo.Models
|
|
@inject IDbContextFactory<ZenithInfo.Data.ZenithInfoContext> DbFactory
|
|
@inject NavigationManager NavigationManager
|
|
|
|
<PageTitle>Create</PageTitle>
|
|
|
|
<h1>Create</h1>
|
|
|
|
<h2>Turret</h2>
|
|
<hr />
|
|
<div class="row">
|
|
<div class="col-md-4">
|
|
<EditForm method="post" Model="Turret" OnValidSubmit="AddTurret" FormName="create" Enhance>
|
|
<DataAnnotationsValidator />
|
|
<ValidationSummary class="text-danger" role="alert"/>
|
|
<div class="mb-3">
|
|
<label for="name" class="form-label">Name:</label>
|
|
<InputText id="name" @bind-Value="Turret.Name" class="form-control" />
|
|
<ValidationMessage For="() => Turret.Name" class="text-danger" />
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="description" class="form-label">Description:</label>
|
|
<InputText id="description" @bind-Value="Turret.Description" class="form-control" />
|
|
<ValidationMessage For="() => Turret.Description" class="text-danger" />
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="damage" class="form-label">Damage:</label>
|
|
<InputNumber id="damage" @bind-Value="Turret.Damage" class="form-control" />
|
|
<ValidationMessage For="() => Turret.Damage" class="text-danger" />
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="reload" class="form-label">Reload:</label>
|
|
<InputNumber id="reload" @bind-Value="Turret.Reload" class="form-control" />
|
|
<ValidationMessage For="() => Turret.Reload" class="text-danger" />
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="range" class="form-label">Range:</label>
|
|
<InputNumber id="range" @bind-Value="Turret.Range" class="form-control" />
|
|
<ValidationMessage For="() => Turret.Range" class="text-danger" />
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="optimal range" class="form-label">Optimal Range:</label>
|
|
<InputNumber id="optimal range" @bind-Value="Turret.OptimalRange" class="form-control" />
|
|
<ValidationMessage For="() => Turret.OptimalRange" class="text-danger" />
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="accuracy falloff range" class="form-label">Accuracy Falloff Range:</label>
|
|
<InputNumber id="accuracy falloff range" @bind-Value="Turret.AccuracyFalloffRange" class="form-control" />
|
|
<ValidationMessage For="() => Turret.AccuracyFalloffRange" class="text-danger" />
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="size" class="form-label">Size:</label>
|
|
<InputSelect id="size" @bind-Value="Turret.Size" class="form-control" />
|
|
<ValidationMessage For="() => Turret.Size" class="text-danger" />
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="rating" class="form-label">Type:</label>
|
|
<InputSelect id="rating" @bind-Value="Turret.Type" class="form-control" />
|
|
<ValidationMessage For="() => Turret.Type" class="text-danger" />
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="icon" class="form-label">Icon:</label>
|
|
<InputNumber id="icon" @bind-Value="Turret.Icon" class="form-control" />
|
|
<ValidationMessage For="() => Turret.Icon" class="text-danger" />
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="beam size" class="form-label">Beam Size:</label>
|
|
<InputNumber id="beam size" @bind-Value="Turret.BeamSize" class="form-control" />
|
|
<ValidationMessage For="() => Turret.BeamSize" class="text-danger" />
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="base cost" class="form-label">Base Cost:</label>
|
|
<InputNumber id="base cost" @bind-Value="Turret.BaseCost" class="form-control" />
|
|
<ValidationMessage For="() => Turret.BaseCost" class="text-danger" />
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="rarity" class="form-label">Rarity:</label>
|
|
<InputSelect id="rarity" @bind-Value="Turret.Rarity" class="form-control" />
|
|
<ValidationMessage For="() => Turret.Rarity" class="text-danger" />
|
|
</div>
|
|
<button type="submit" class="btn btn-primary">Create</button>
|
|
</EditForm>
|
|
</div>
|
|
</div>
|
|
|
|
<div>
|
|
<a href="/turrets">Back to List</a>
|
|
</div>
|
|
|
|
@code {
|
|
[SupplyParameterFromForm]
|
|
private Turret Turret { get; set; } = new();
|
|
|
|
private async Task AddTurret()
|
|
{
|
|
using var context = DbFactory.CreateDbContext();
|
|
context.Turret.Add(Turret);
|
|
await context.SaveChangesAsync();
|
|
NavigationManager.NavigateTo("/turrets");
|
|
}
|
|
} |