34 lines
1.2 KiB
C#
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;
|
|
}
|
|
}
|
|
|