using System.Runtime.CompilerServices;
using Quadarax.Application.QLiberace.Common.Dtos;
using Quadarax.Application.QLiberace.Customer.Enums;
using Quadarax.Foundation.Core.Data.Interface.Entity;
#if DEBUG
[assembly: InternalsVisibleTo("qdr.app.qlbrc.base.Tests")]
[assembly: InternalsVisibleTo("qdr.app.qlbrc.common.Tests")]
#endif
namespace Quadarax.Application.QLiberace.Customer.Dtos
{
public class ContactRDto : QlbrcDtoTrackedWithId, IReadDto
{
///
/// Reference to customer that contact belongs
///
public long CustomerId { get; set; }
///
/// Contact type (0-Email, 1-Address, 2-Phone, 3-SMS)
///
public ContactTypeEnum Type { get; set; }
///
/// Contact heading caption.
///
public string Caption { get; set; } = null!;
///
/// Main address value. If phone, email, sms stores email address or telephone number.
///
public string Address { get; set; } = null!;
///
/// Secondary address value.
///
public string? Address1 { get; set; }
///
/// Contact city.
///
public string? City { get; set; }
///
/// Contact ZIP code.
///
public string? Zip { get; set; }
///
/// Contact country code.
///
public string? CountryCode { get; set; }
///
/// Flag if Contact is preffered.
///
public bool IsPreffered { get; set; }
}
public class ContactWDto : QlbrcDtoWithoutId, IUpdateDto, ICreateDto
{
///
/// Contact type (0-Email, 1-Address, 2-Phone, 3-SMS)
///
public ContactTypeEnum Type { get; set; }
///
/// Contact heading caption.
///
public string Caption { get; set; } = null!;
///
/// Main address value. If phone, email, sms stores email address or telephone number.
///
public string Address { get; set; } = null!;
///
/// Secondary address value.
///
public string? Address1 { get; set; }
///
/// Contact city.
///
public string? City { get; set; }
///
/// Contact ZIP code.
///
public string? Zip { get; set; }
///
/// Contact country code.
///
public string? CountryCode { get; set; }
///
/// Flag if Contact is preffered.
///
public bool IsPreferred { get; set; }
}
public class ContactDDto : QlbrcDtoWithId, IDeleteDto
{
}
}