Files
LeaJobTrackerWebApp/Desktop/hallo/LEA/ViewModels/ApplicationFormViewModel.cs
younes elhaddoury bb13759af4 hallo
2025-09-17 10:28:02 +02:00

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;
}