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