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 StatusOptions { get; set; } = Enumerable.Empty(); public string Heading { get; set; } = string.Empty; public string SubmitText { get; set; } = string.Empty; }