// Copyright (C) 2022 FCS Frede's Computer Services. // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as // published by the Free Software Foundation, either version 3 of the // License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html] // using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; namespace Wonky.Entity.DTO; public class CompanyDto { [MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string Account { get; set; } = ""; [MaxLength(100, ErrorMessage = "Du kan højst bruge 100 tegn")] public string Address1 { get; set; } = ""; [MaxLength(50, ErrorMessage = "Du kan højst bruge 50 tegn")] public string Address2 { get; set; } = ""; [MaxLength(100, ErrorMessage = "Du kan højst bruge 100 tegn")] public string Attention { get; set; } = ""; public string BcId { get; set; } = ""; public string Blocked { get; set; } = ""; [Required(ErrorMessage = "Bynavn skal udfyldes")] [MaxLength(30, ErrorMessage = "Du kan højst bruge 30 tegn")] public string City { get; set; } = ""; public string CompanyId { get; set; } = ""; public string CountryCode { get; set; } = ""; public string CrmNotes { get; set; } = ""; public string EanNumber { get; set; } = ""; [MaxLength(80, ErrorMessage = "Du kan højst bruge 80 tegn")] public string Email { get; set; } = ""; [MaxLength(30, ErrorMessage = "Du kan højst bruge 30 tegn")] public string Fax { get; set; } = ""; public int HasFolded { get; set; } public string HistorySync { get; set; } = ""; [Range(1, 52, ErrorMessage = "Angiv interval mellem 1 og 52 uger")] public int Interval { get; set; } = 8; public int IsHidden { get; set; } public string LastVisit { get; set; } = "2010-01-01"; [MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string Mobile { get; set; } = ""; [Required(ErrorMessage = "Navn skal udfyldes")] [MaxLength(100, ErrorMessage = "Du kan højst bruge 100 tegn")] public string Name { get; set; } = ""; public string NextVisit { get; set; } = "2010-01-01"; [MaxLength(100, ErrorMessage = "Du kan højst bruge 100 tegn")] public string Note { get; set; } = ""; [MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string Phone { get; set; } = ""; public string SalesRep { get; set; } = ""; public string SalesRepId { get; set; } = ""; public string Segment { get; set; } = ""; public int ValidVat { get; set; } [MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string VatNumber { get; set; } = ""; [Required(ErrorMessage = "Postnummer skal udfyldes")] [MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string ZipCode { get; set; } = ""; public virtual bool ValidDateSpan() { var notAllowed = new List { "2010-01-01", "1970-01-01", "0001-01-01" }; if (notAllowed.Contains(LastVisit) || notAllowed.Contains(NextVisit)) return false; return DateTime.Parse(LastVisit) < DateTime.Parse(NextVisit); } }