53 lines
1.8 KiB
C#
53 lines
1.8 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
using LEA.Models;
|
|
using Microsoft.AspNetCore.Mvc.Rendering;
|
|
|
|
namespace LEA.ViewModels;
|
|
|
|
public class ApplicationFormViewModel
|
|
{
|
|
public int? Id { get; set; }
|
|
|
|
[Required(ErrorMessage = "Bitte geben Sie eine Rolle oder Position an.")]
|
|
[StringLength(150, ErrorMessage = "Der Titel darf maximal {1} Zeichen lang sein.")]
|
|
[Display(Name = "Rolle / Position")]
|
|
public string Role { get; set; } = string.Empty;
|
|
|
|
[Required(ErrorMessage = "Bitte geben Sie ein Unternehmen an.")]
|
|
[StringLength(150, ErrorMessage = "Der Firmenname darf maximal {1} Zeichen lang sein.")]
|
|
[Display(Name = "Unternehmen")]
|
|
public string Company { get; set; } = string.Empty;
|
|
|
|
[StringLength(200, ErrorMessage = "Die Quelle darf maximal {1} Zeichen lang sein.")]
|
|
[Display(Name = "Quelle")]
|
|
public string? Source { get; set; }
|
|
|
|
[Display(Name = "Status")]
|
|
public ApplicationStatus Status { get; set; } = ApplicationStatus.Applied;
|
|
|
|
[DataType(DataType.Date)]
|
|
[Display(Name = "Beworben am")]
|
|
public DateTime AppliedOn { get; set; } = DateTime.Today;
|
|
|
|
[Display(Name = "Notizen")]
|
|
[DataType(DataType.MultilineText)]
|
|
public string? Notes { get; set; }
|
|
|
|
[Display(Name = "Name")]
|
|
public string? ContactName { get; set; }
|
|
|
|
[EmailAddress(ErrorMessage = "Bitte eine gültige E-Mail-Adresse eingeben.")]
|
|
[Display(Name = "E-Mail")]
|
|
public string? ContactEmail { get; set; }
|
|
|
|
[Phone(ErrorMessage = "Bitte eine gültige Telefonnummer eingeben.")]
|
|
[Display(Name = "Telefon")]
|
|
public string? ContactPhone { get; set; }
|
|
|
|
public IEnumerable<SelectListItem> StatusOptions { get; set; } = Enumerable.Empty<SelectListItem>();
|
|
|
|
public string Heading { get; set; } = string.Empty;
|
|
|
|
public string SubmitText { get; set; } = string.Empty;
|
|
}
|