using FI.FIC;
using FI.FIC.Contracts.DataObjects.Enumeration;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IronIntel.Contractor
{
    #region - Client Models -

    public class UserInfoItem : FICUserInfo
    {
        public string Source { get; set; }
        public int IsTempPassword { get; set; }
        public DateTime PWDExpiration { get; set; }
        public int UserMode { get; set; }
        public int UserCatalog { get; set; }
        public static UserInfoItem From(FICUserInfo user)
        {
            return new UserInfoItem
            {
                IID = user.IID,
                ID = user.ID,
                DisplayName = user.DisplayName,
                Email = user.Email,
                Enabled = user.Enabled,
                Mobile = user.Mobile,
                UserType = user.UserType,
                BusinessPhone = user.BusinessPhone,
                DefaultMobileWspIID = user.DefaultMobileWspIID,
                DefaultWspIID = user.DefaultWspIID,
                Notes = user.Notes
            };
        }
    }

    public class UserManagementItem
    {
        public string IID { get; set; }
        public string ID { get; set; }
        public string Password { get; set; }
        public string DisplayName { get; set; }
        public string Email { get; set; }
        public string Mobile { get; set; }
        public string BusinessPhone { get; set; }
        public FICUserTypes UserType { get; set; }
        public string UserLevel { get; set; }
        public bool Enabled { get; set; }
        public string Active { get; set; }
        public int UserMode { get; set; }
        public string Groups { get; set; }
        public string DefaultWspIID { get; set; }
        public string DefaultMobileWspIID { get; set; }

        public string[] GroupIIDs { get; set; }
    }

    public class UserGroupManagementItem
    {
        public string IID { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }
        public string[] UserIIDs { get; set; }
    }

    #endregion
}