AfRA.Members/Pages/EditMember.cshtml
2023-02-03 16:00:05 +01:00

200 lines
7.9 KiB
Plaintext

@page "{id}"
@using AFRA.Members.Backend.database
@model AFRA.Members.Pages.EditMember
@{
ViewData["Title"] = "Edit Member";
if (Request.Method == "POST" && Request.Form["action"] == "delete") {
return;
}
var member = new Database.DbConn().Members.First(p => p.MemberId == int.Parse(RouteData.Values["id"]!.ToString()!));
}
<div class="text-center">
<h1 class="display-5">
Edit Member
</h1>
</div>
<form method="POST">
<h3>Personal details</h3>
<div class="mb-3">
<label for="first_name" class="form-label">First name</label>
<input type="text" maxlength="100" class="form-control" id="first_name" name="first_name" value="@member.FirstName" autofocus required>
</div>
<div class="mb-3">
<label for="last_name" class="form-label">Last name</label>
<input type="text" maxlength="100" class="form-control" id="last_name" name="last_name" value="@member.LastName" required>
</div>
<div class="mb-3">
<label for="nick" class="form-label">Nickname</label>
<input type="text" maxlength="100" class="form-control" id="nick" name="nick" value="@member.Nick">
</div>
<div class="mb-3">
<label for="dob" class="form-label">Date of birth</label>
<input type="date" class="form-control" id="dob" name="dob" value="@member.DateOfBirth?.ToString("yyyy-MM-dd")">
</div>
<div class="mb-3">
<label for="language" class="form-label">Language</label>
@if (member.Language?.ToLowerInvariant() == "de") {
<div class="form-check">
<input class="form-check-input" type="radio" name="language" id="language_de" value="de" checked>
<label class="form-check-label" for="language_de">
German
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="language" id="language_en" value="en">
<label class="form-check-label" for="language_en">
English
</label>
</div>
}
else {
<div class="form-check">
<input class="form-check-input" type="radio" name="language" id="language_de" value="de">
<label class="form-check-label" for="language_de">
German
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="language" id="language_en" value="en" checked="">
<label class="form-check-label" for="language_en">
English
</label>
</div>
}
</div>
<h3>Contact details</h3>
<div class="mb-3">
<label for="street" class="form-label">Street</label>
<input type="text" maxlength="100" class="form-control" id="street" name="street" value="@member.Street">
</div>
<div class="mb-3">
<label for="zip" class="form-label">ZIP Code</label>
<input type="text" maxlength="100" class="form-control" id="zip" name="zip" value="@member.Zip">
</div>
<div class="mb-3">
<label for="city" class="form-label">City</label>
<input type="text" maxlength="100" class="form-control" id="city" name="city" value="@member.City">
</div>
<div class="mb-3">
<label for="country" class="form-label">Country</label>
<input type="text" maxlength="100" class="form-control" id="country" name="country" value="@member.Country">
</div>
<div class="mb-3">
<label for="first_address_line" class="form-label">First Address Line (c/o)</label>
<input type="text" maxlength="100" class="form-control" id="first_address_line" name="first_address_line" value="@member.FirstAddressLine">
</div>
<div class="mb-3">
<label for="email" class="form-label">Email</label>
<input type="email" maxlength="100" class="form-control" id="email" name="email" value="@member.Email">
</div>
<div class="mb-3">
<label for="gpg" class="form-label">GPG Key ID</label>
<input type="text" maxlength="100" class="form-control" id="gpg" name="gpg" value="@member.GpgKeyId">
</div>
<div class="mb-3">
<label for="phone" class="form-label">Phone no.</label>
<input type="text" maxlength="100" class="form-control" id="phone" name="phone" value="@member.Phone">
</div>
<h3>Memberhship</h3>
<div class="mb-3">
<label for="membership_start" class="form-label">Membership Start</label>
<input type="date" class="form-control" id="membership_start" name="membership_start" value="@member.MembershipStart?.ToString("yyyy-MM-dd")">
</div>
<div class="mb-3">
<label for="membership_end" class="form-label">Membership End</label>
<input type="date" class="form-control" id="membership_end" name="membership_end" value="@member.MembershipEnd?.ToString("yyyy-MM-dd")">
</div>
<div class="mb-3">
<div class="form-check">
@if (member.Founding.HasValue && member.Founding.Value) {
<input class="form-check-input" type="checkbox" id="founding" name="founding" checked>
}
else {
<input class="form-check-input" type="checkbox" id="founding" name="founding">
}
<label for="founding" class="form-label">Founding member</label>
</div>
<div class="form-check">
@if (member.NonVoting.HasValue && member.NonVoting.Value) {
<input class="form-check-input" type="checkbox" id="non_voting" name="non_voting" checked>
}
else {
<input class="form-check-input" type="checkbox" id="non_voting" name="non_voting">
}
<label for="non_voting" class="form-label">Non voting member (Fördermitglied)</label>
</div>
</div>
<h3>Accounting</h3>
<div class="mb-3">
<label for="accounting_query" class="form-label">Accounting Query</label>
<input type="text" maxlength="100" class="form-control" id="accounting_query" name="accounting_query" value="@member.AccountingQuery">
</div>
<div class="mb-3">
<label for="iban" class="form-label">IBAN</label>
<input type="text" maxlength="100" class="form-control" id="iban" name="iban" value="@member.Iban">
</div>
<div class="mb-3">
<label for="bic" class="form-label">BIC</label>
<input type="text" maxlength="100" class="form-control" id="bic" name="bic" value="@member.Bic">
</div>
<div class="mb-3">
<label for="type_of_payment" class="form-label">Type of payment</label>
@if (member.TypeOfPayment?.ToLowerInvariant() == "cash") {
<div class="form-check">
<input class="form-check-input" type="radio" name="type_of_payment" id="type_of_payment_bar" value="Cash" checked>
<label class="form-check-label" for="type_of_payment_bar">
Cash
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="type_of_payment" id="type_of_payment_bank_transfer" value="Bank transfer">
<label class="form-check-label" for="type_of_payment_bank_transfer">
Bank transfer
</label>
</div>
}
else {
<div class="form-check">
<input class="form-check-input" type="radio" name="type_of_payment" id="type_of_payment_bar" value="Cash">
<label class="form-check-label" for="type_of_payment_bar">
Cash
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="type_of_payment" id="type_of_payment_bank_transfer" value="Bank transfer" checked>
<label class="form-check-label" for="type_of_payment_bank_transfer">
Bank transfer
</label>
</div>
}
</div>
<div class="mb-3">
<div class="form-check">
@if (member.SendDonationReceipt.HasValue && member.SendDonationReceipt.Value) {
<input class="form-check-input" type="checkbox" id="send_donation_receipt" name="send_donation_receipt" checked>
}
else {
<input class="form-check-input" type="checkbox" id="send_donation_receipt" name="send_donation_receipt">
}
<label for="send_donation_receipt" class="form-label">Send donation receipt</label>
</div>
</div>
<div class="mb-3">
<label for="fee" class="form-label">Monthly fee (cents)</label>
<input type="number" min="100" class="form-control" id="fee" name="fee" value="@member.MonthlyFeeCents">
</div>
<h3>Other</h3>
<div class="mb-3">
<label for="notes" class="form-label">Notes</label>
<textarea maxlength="500" class="form-control" id="notes" name="notes">@member.Notes</textarea>
</div>
<button type="submit" class="btn btn-primary" name="action" value="save">Save</button>
<button type="submit" class="btn btn-danger" name="action" value="delete">Delete</button>
</form>