143 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			143 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using FI.FIC;
 | |
| using FI.FIC.Contracts.DataObjects.BaseObject;
 | |
| using Foresight.Fleet.Services;
 | |
| using Foresight.Fleet.Services.Asset;
 | |
| using Foresight.Fleet.Services.JobSite;
 | |
| using Foresight.Fleet.Services.User;
 | |
| using Foresight.Standard;
 | |
| using IronIntel.Contractor.Machines;
 | |
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.Linq;
 | |
| using System.Text;
 | |
| using System.Threading.Tasks;
 | |
| 
 | |
| namespace IronIntel.Contractor.Users
 | |
| {
 | |
|     public class UserInfo
 | |
|     {
 | |
|         public string IID { get; set; }
 | |
|         public string ID { get; set; }
 | |
|         public string DisplayName { get; set; }
 | |
|         public string TextAddress { get; set; }
 | |
|         public string TextAddressDisplayText { get; set; }
 | |
|         public bool IsUser { get; set; }
 | |
|         public ContactTypes ContactType { get; set; }
 | |
|         public string Mobile { get; set; }
 | |
|         public string MobilePhoneDisplayText { get; set; }
 | |
|         public string BusinessPhone { get; set; }
 | |
|         public string BusinessPhoneDisplayText { 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 AssignedWorkOrders { 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 bool AllowMobileBarcodeScanning { get; set; }
 | |
|         public string PreferredLanguage { get; set; }
 | |
|         public string TimeZone { get; set; }
 | |
|         public string LandingPage { get; set; }
 | |
|         public string GroupNamesStr { get { return (GroupNames == null || GroupNames.Length == 0) ? "" : string.Join(",", GroupNames); } }
 | |
| 
 | |
|         public long[] AssetIDs { get; set; }
 | |
|         public string[] AssetGroupIDs { get; set; }
 | |
|         public string[] JobsiteIDs { get; set; }
 | |
|         public string[] AssetTypeIDs { get; set; }
 | |
|         public int[] LocationIds { get; set; }
 | |
|         public int[] DepartmentIds { get; set; }
 | |
|         public bool WorkOrderFollower { get; set; }
 | |
|         public bool ExcelExports { get; set; }
 | |
|         public LoginVerifyTypes LoginVerifyType { get; set; } = LoginVerifyTypes.OrganizationSetting;
 | |
|         public UserInfo[] Managers { get; set; }
 | |
|         public string ContactTypeName { get; private set; }
 | |
|         public void SetContactTypeName(string lang)
 | |
|         {
 | |
|             string cname = "";
 | |
|             int cType = (int)ContactType;
 | |
|             if (cType == 0)
 | |
|                 cname = SystemParams.GetTextByKey(lang, "P_UM_FOREMAN", "Foreman");
 | |
|             else if (cType == 1)
 | |
|                 cname = SystemParams.GetTextByKey(lang, "P_UM_DRIVER", "Driver");
 | |
|             else if (cType == 2)
 | |
|                 cname = SystemParams.GetTextByKey(lang, "P_UM_INVENTORYMANAGER", "Inventory Manager");
 | |
|             else if (cType ==3)
 | |
|                 cname = SystemParams.GetTextByKey(lang, "P_UM_RENTALMANAGER", "Rental Manager");
 | |
|             else if (cType == 4)
 | |
|                 cname = SystemParams.GetTextByKey(lang, "P_UM_SERVICEMANAGER", "Service Manager");
 | |
|             else if (cType == 5)
 | |
|                 cname = SystemParams.GetTextByKey(lang, "P_UM_FLEETMANAGER", "Fleet Manager");
 | |
|             else if (cType == 6)
 | |
|                 cname = SystemParams.GetTextByKey(lang, "P_UM_TECHNICIAN", "Technician");
 | |
|             else if (cType == 7)
 | |
|                 cname = SystemParams.GetTextByKey(lang, "P_UM_ADVISOR", "Advisor");
 | |
|             else if (cType > 8)
 | |
|                 cname = SystemParams.GetTextByKey(lang, "P_UM_OTHER", "Other");
 | |
| 
 | |
|             ContactTypeName = cname;
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     public class UserObject
 | |
|     {
 | |
|         public UserInfo UserInfo { get; set; }
 | |
|         public SubscribeMessageByEmail Subscribe { get; set; }
 | |
|         public KeyValuePair<int, Foresight.Fleet.Services.User.Permissions[]>[] Features { get; set; }
 | |
| 
 | |
|         public string UserAlertFilter { get; set; }
 | |
| 
 | |
|         public EmailSchedule Schedule { get; set; }
 | |
|         public MessageRestrictInfo[] MessageTypes { get; set; }
 | |
|         public UserFilterTemplateItem[] FilterTemplates { get; set; }
 | |
|         public int[] DeleteFilterTemplates { 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,
 | |
|         Advisor = 7,
 | |
|         Other = 100
 | |
|     }
 | |
| 
 | |
|     public class UserNameInfoItem
 | |
|     {
 | |
|         public string IID { get; set; }
 | |
|         public string ID { get; set; }
 | |
|         public string Name { get; set; }
 | |
|     }
 | |
| 
 | |
|     public class UserFilterTemplateItem
 | |
|     {
 | |
|         public int Id { get; set; }
 | |
|         public string Name { get; set; }
 | |
|         public AssetListItemInfo[] Assets { get; set; }
 | |
|         public MachineGroup[] AssetGroups { get; set; }
 | |
|         public AssetType[] AssetTypes { get; set; }
 | |
|         public JobSiteItem[] Jobsites { get; set; }
 | |
|     }
 | |
| 
 | |
| }
 |