using FI.FIC; using FI.FIC.Contracts.DataObjects.BaseObject; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace IronIntel.Contractor.Users { public class UserInfo { private static string[] ContactTypeNames = { "Foreman", "Driver", "Inventory Manager", "Rental Manager", "Service Manager", "Fleet Manager", "Technician", "Other" }; public string IID { get; set; } public string ID { get; set; } public string DisplayName { get; set; } public string TextAddress { get; set; } public bool IsUser { get; set; } public ContactTypes ContactType { get; set; } public string Mobile { get; set; } public string BusinessPhone { get; set; } public string Notes { get; set; } public bool Active { get; set; } public UserTypes UserType { get; set; } public string TransPass { get; set; } public string ManagerIID { get; set; } public string ManagerName { get; set; } public bool EmailOptOut { get; set; } public bool InspectEmailList { get; set; } public bool TeamIntelligenceUser { get; set; } public string FOB { get; set; } public decimal HourlyRate { get; set; } public string[] GroupIDs { get; set; } public string[] GroupNames { get; set; } public bool AllowLoginIntoPC { get; set; } public bool AllowLoginIntoInspectMobile { get; set; } public bool AllowLoginIntoFleetMobile { get; set; } public string GroupNamesStr { get { return (GroupNames == null || GroupNames.Length == 0) ? "" : string.Join(",", GroupNames); } } public string ContactTypeName { get { int cType = (int)ContactType; if (cType > 7) cType = 7; return ContactTypeNames[cType]; } } } public class UserObject { public UserInfo UserInfo { get; set; } public SubscribeMessageByEmail Subscribe { get; set; } public KeyValuePair[] Features { get; set; } public EmailSchedule Schedule { get; set; } } public enum UserTypes { Readonly = 0, Common = 1, Admin = 2, SupperAdmin = 3 } public enum ContactTypes { Foreman = 0, Driver = 1, InventoryManager = 2, RentalManager = 3, ServiceManager = 4, FleetManager = 5, Technician = 6, Other = 100 } public class UserNameInfoItem { public string IID { get; set; } public string ID { get; set; } public string Name { get; set; } } }