Files
Disco/Disco.Models/Services/Searching/UserSearchResultItem.cs
Gary Sharp 4c3a68da30 Feature #26: User Flags
Flags can be associated with Users. Includes minor updates to Job Queues
and improved visibility of user information.
2014-06-10 17:16:24 +10:00

47 lines
1.4 KiB
C#

using Disco.Models.Repository;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Disco.Models.Services.Searching
{
public class UserSearchResultItem : ISearchResultItem
{
private const string type = "User";
private Lazy<string[]> LazyScoreValue;
public UserSearchResultItem()
{
this.LazyScoreValue = new Lazy<string[]>(BuildScoreValues, false);
}
public string Id { get; set; }
public string FriendlyId { get; set; }
public string Type { get { return type; } }
public string Description { get { return string.Format("{0} ({1})", this.DisplayName, this.Id); } }
public string[] ScoreValues { get { return LazyScoreValue.Value; } }
public string DisplayName { get; set; }
public string GivenName { get; set; }
public string Surname { get; set; }
public int AssignedDevicesCount { get; set; }
public int JobCount { get; set; }
public int JobCountOpen { get; set; }
public IList<UserFlagAssignment> UserFlagAssignments { get; set; }
private string[] BuildScoreValues()
{
return new string[] {
this.Id.Substring(this.Id.IndexOf('\\') + 1),
this.Id,
this.DisplayName
};
}
}
}