using System.ComponentModel.DataAnnotations; using Newtonsoft.Json; namespace Sockeye.Models { public class UserOptions { public long Id { get; set; } public uint Concurrency { get; set; } [Required] public long TranslationId { get; set; } //------------- //[EmailAddress] public string EmailAddress { get; set; } // [Phone] public string Phone1 { get; set; } //[Phone] public string Phone2 { get; set; } //in v7 this was pager address so not attributing it with Phone as not sure what would be in that field public string Phone3 { get; set; } /* Hexadecimal notation: #RGB[A] R (red), G (green), B (blue), and A (alpha) are hexadecimal characters (0–9, A–F). A is optional. The three-digit notation (#RGB) is a shorter version of the six-digit form (#RRGGBB). For example, #f09 is the same color as #ff0099. Likewise, the four-digit RGB notation (#RGBA) is a shorter version of the eight-digit form (#RRGGBBAA). For example, #0f38 is the same color as #00ff3388. */ [MaxLength(12)] public string UiColor { get; set; } //browser forced overrides public string LanguageOverride { get; set; } public string TimeZoneOverride { get; set; } public string CurrencyName { get; set; } public bool Hour12 { get; set; } public string MapUrlTemplate { get; set; } //relations //https://docs.microsoft.com/en-us/ef/core/modeling/relationships#other-relationship-patterns [JsonIgnore]//hide from being returned (as null anyway) in routes public User User { get; set; } [Required] public long UserId { get; set; }//will be auto-set by EF due to relationship defined public UserOptions() { CurrencyName = "USD"; Hour12 = true; UiColor = "#ffffffff";//black is the default } } } /* v7 export record sample { "DefaultLanguage": "Custom English", "DefaultServiceTemplateID": "ca83a7b8-4e5f-4a7b-a02b-9cf78d5f983f", "UserType": 2, "Active": true, "ClientID": "00000000-0000-0000-0000-000000000000", "HeadOfficeID": "00000000-0000-0000-0000-000000000000", "MemberOfGroup": "0f8a80ff-4b03-4114-ae51-2d13b812dd65", "Created": "03/21/2005 07:19 AM", "Modified": "09/15/2015 12:22 PM", "Creator": "2ecc77fc-69e2-4a7e-b88d-bd0ecaf36aed", "Modifier": "1d859264-3f32-462a-9b0c-a67dddfdf4d3", "ID": "1d859264-3f32-462a-9b0c-a67dddfdf4d3", "FirstName": "Hank", "LastName": "Rearden", "Initials": "HR", "EmployeeNumber": "EMP1236", "PageAddress": "", "PageMaxText": 24, "Phone1": "", "Phone2": "", "EmailAddress": "", "UserCertifications": [ { "Created": "12/22/2005 02:07 PM", "Creator": "2ecc77fc-69e2-4a7e-b88d-bd0ecaf36aed", "Modified": "12/22/2005 02:08 PM", "Modifier": "2ecc77fc-69e2-4a7e-b88d-bd0ecaf36aed", "ID": "4492360c-43e4-4209-9f33-30691b0808ed", "UserCertificationID": "b2f26359-7c42-4218-923a-e949f3ef1f85", "UserID": "1d859264-3f32-462a-9b0c-a67dddfdf4d3", "ValidStartDate": "2005-10-11T00:00:00-07:00", "ValidStopDate": "2006-10-11T00:00:00-07:00" } ], "UserSkills": [ { "Created": "12/22/2005 02:06 PM", "Creator": "2ecc77fc-69e2-4a7e-b88d-bd0ecaf36aed", "Modified": "12/22/2005 02:08 PM", "Modifier": "2ecc77fc-69e2-4a7e-b88d-bd0ecaf36aed", "ID": "1dc5ce96-f411-4885-856e-5bdb3ad79728", "UserSkillID": "2e6f8b65-594c-4f6c-9cd6-e14a562daba8", "UserID": "1d859264-3f32-462a-9b0c-a67dddfdf4d3" }, { "Created": "12/22/2005 02:06 PM", "Creator": "2ecc77fc-69e2-4a7e-b88d-bd0ecaf36aed", "Modified": "12/22/2005 02:08 PM", "Modifier": "2ecc77fc-69e2-4a7e-b88d-bd0ecaf36aed", "ID": "88e476d3-7526-45f5-a0dd-706c8053a63f", "UserSkillID": "47a4ee94-b0e9-41b5-afe5-4b4f2c981877", "UserID": "1d859264-3f32-462a-9b0c-a67dddfdf4d3" } ], "Notes": "", "VendorID": "06e502c2-69ba-4e88-8efb-5b53c1687740", "RegionID": "f856423a-d468-4344-b7b8-121e466738c6", "DispatchZoneID": "00000000-0000-0000-0000-000000000000", "SubContractor": false, "DefaultWarehouseID": "d45eab37-b6e6-4ad2-9163-66d7ba83a98c", "Custom1": "", "Custom2": "", "Custom3": "", "Custom4": "", "Custom5": "", "Custom6": "", "Custom7": "", "Custom8": "", "Custom9": "", "Custom0": "", "ScheduleBackColor": -2097216, "TimeZoneOffset": null } */