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
}
 */
