42 Profil modellerini yapısal olarak düzenleme

Bazı modellerde ortak olan yapıları bir yapıda oluşturmak için aşağıdaki gibi bir temel model oluşturuyoruz. Diğer modelleri bu modelden üreterek oluşturacağız

Models\ProfilTemel.cs

using System.ComponentModel.DataAnnotations;

public class ProfilTemel
{
    [Required(ErrorMessage = "Ad Boş bırakılamaz")]
[MinLength(2,ErrorMessage ="En az 2 karakter giriniz")]
    [MaxLength(20,ErrorMessage ="En fazla 20 karakter giriniz")]
    [Display(Name = "Adınız")]
    public string Ad { get; set; }

    [Required(ErrorMessage = "Soyad Boş bırakılamaz")]
[MinLength(2,ErrorMessage ="En az 2 karakter giriniz")]
    [MaxLength(20,ErrorMessage ="En fazla 20 karakter giriniz")]
    [Display(Name = "Soyadınız")]
    public string Soyad { get; set; }

    [Required(ErrorMessage = "Okul Numarası Boş bırakılamaz")]
    [Display(Name = "Okul Numarası")]
    [StringLength(5)]
    public string OkulNumarasi { get; set; }
}

Daha önce oluşturduğumuz Models\Kayit.cs dosyasınının içeriğini aşağıdaki gibi değiştiriyoruz. Bu sayede Kayit modelimin ProfilTemel modelinden türetilmesini, ProfilTemel modelini Kayit modelinin üstüne inşaa edilmesini sağlayacağız.

Models\Kayit.cs

using System.ComponentModel.DataAnnotations;

public class Kayit:ProfilTemel
{
   

    [Required(ErrorMessage = "Email Boş bırakılamaz")]
    [EmailAddress]
    public string Email { get; set; }

    [DataType(DataType.Password)]
    [Required(ErrorMessage = "Şifre Boş bırakılamaz")]
    public string Sifre { get; set; }

    [DataType(DataType.Password)]
    [Required(ErrorMessage = "Şifre Tekrarı Boş bırakılamaz")]
    [Compare("Sifre")]
    [Display(Name = "Şifre Takrarı")]
    public string SifreTekrari { get; set; }
}