// 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.ComponentModel.DataAnnotations; namespace Wonky.Entity.DTO; public class ActivityModel { /// /// Activity entity id /// public string SalesHeadId { get; set; } = ""; /// /// Sales representative identification /// [Required] public string SalesRep { get; set; } = ""; /// /// Sales representative entity Id /// [Required] public string SalesRepId { get; set; } = ""; /// /// Company countryCode (ensure correct code when office create ordre) /// [Required] public string CountryCode { get; set; } = ""; /// /// Company entity Id /// [Required] public string CompanyId { get; set; } = ""; /// /// Business Central entity Id /// public string BcId { get; set; } = ""; /// /// Customer account /// public string Account { get; set; } = ""; /// /// VAT number /// [MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string VatNumber { get; set; } = ""; /// /// Customer name /// [Required(ErrorMessage = "Navn skal udfyldes")] [MaxLength(100, ErrorMessage = "Du kan højst bruge 100 tegn")] public string Name { get; set; } = ""; /// /// Customer address city name /// [Required(ErrorMessage = "Byanvn skal udfyldes")] [MaxLength(30, ErrorMessage = "Du kan højst bruge 30 tegn")] public string City { get; set; }= ""; /// /// Customer address postal code /// [Required(ErrorMessage = "Postnr. skal udfyldes")] [MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string ZipCode { get; set; } = ""; /// /// Customer address line 1 /// [MaxLength(100, ErrorMessage = "Du kan højst bruge 100 tegn")] public string Address1 { get; set; } = ""; /// /// Customer address line 2 /// [MaxLength(50, ErrorMessage = "Du kan højst bruge 50 tegn")] public string Address2 { get; set; } = ""; /// /// Customer office phone /// [MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string Phone { get; set; } = ""; /// /// Customer mobile phone /// [MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string Mobile { get; set; } = ""; /// /// Customer office email /// [MaxLength(80, ErrorMessage = "Du kan højst bruge 80 tegn")] public string Email { get; set; } = ""; /// /// Customer attention description /// [MaxLength(100, ErrorMessage = "Du kan højst bruge 100 tegn")] public string Attention { get; set; } = ""; // Form entries /// /// Activity type enum as string /// [Required(ErrorMessage = "Vælg aktivitetstype")] public string ActivityTypeEnum { get; set; } = ""; /// /// Flag express order /// public bool Express { get; set; } /// /// Activity status enum as string /// [Required(ErrorMessage = "Vælg status for besøg ")] public string ActivityStatusEnum { get; set; } = ""; /// /// Visit type enum as string /// public string VisitTypeEnum { get; set; } = "recall"; /// /// Activity date /// [Required(ErrorMessage = "Dato skal angives")] public string ActivityDate { get; set; } = ""; /// /// Product demonstration /// [MaxLength(50, ErrorMessage = "Du kan højst bruge 50 tegn")] public string Demo { get; set; } = ""; /// /// Our reference - system generated /// [MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string OurRef { get; set; } = ""; /// /// Customer reference number /// [MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string ReferenceNumber { get; set; } = ""; /// /// Customer reference description /// [MaxLength(35, ErrorMessage = "Du kan højst bruge 35 tegn")] public string YourRef { get; set; } = ""; /// /// Processing note to office /// [MaxLength(255, ErrorMessage = "Du kan højst bruge 255 tegn")] public string OrderMessage { get; set; } = ""; /// /// CRM note for future reference /// [MaxLength(255, ErrorMessage = "Du kan højst bruge 255 tegn")] public string CrmNote { get; set; } = ""; // Delivery address form entries /// /// Customer delivery name /// [MaxLength(100, ErrorMessage = "Du kan højst bruge 100 tegn")] public string DlvName { get; set; } = ""; /// /// Customer delivery address line 1 /// [MaxLength(100, ErrorMessage = "Du kan højst bruge 100 tegn")] public string DlvAddress1 { get; set; } = ""; /// /// Customer delivery address line 2 /// [MaxLength(50, ErrorMessage = "Du kan højst bruge 50 tegn")] public string DlvAddress2 { get; set; } = ""; /// /// Customer delivery postal code /// [MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string DlvZipCode { get; set; } = ""; /// /// Customer delivery city name /// [MaxLength(30, ErrorMessage = "Du kan højst bruge 30 tegn")] public string DlvCity { get; set; } = ""; // Lines /// /// Order lines /// public List Lines { get; set; } = new(); }