GGMM/GrossesMitaines/GrossesMitainesAPI/Models/AddressModel.cs
2022-11-05 07:55:09 -07:00

34 lines
1.2 KiB
C#

using System.ComponentModel.DataAnnotations;
namespace GrossesMitainesAPI.Models;
public class AddressModel {
[Key]
public int Id { get; set; } = 0;
[Required, Range(1, int.MaxValue)]
public int CivicNumber { get; set; }
public string? Appartment { get; set; }
[Required, MinLength(3), MaxLength(50)]
public string Street { get; set; }
[Required, MinLength(4), MaxLength(50)]
public string City { get; set; }
[Required, MaxLength(3)]
public string Province { get; set; }
[Required, MinLength(4), MaxLength(30)]
public string Country { get; set; }
// Source pour regex: https://stackoverflow.com/questions/15774555/efficient-regex-for-canadian-postal-code-function
//[Required, RegularExpression(@"/^[ABCEGHJ-NPRSTVXY]\d[ABCEGHJ-NPRSTV-Z][ -]?\d[ABCEGHJ-NPRSTV-Z]\d$/i")] TODO: REGEX
public string PostalCode { get; set; }
public AddressModel() { }
public AddressModel(SendInvoiceModel sinv) {
CivicNumber = sinv.CivicNumber;
Appartment = sinv.Appartment;
Street = sinv.Street;
City = sinv.City;
Province = sinv.Province;
Country = sinv.Country;
PostalCode = sinv.PostalCode;
}
}