diff --git a/DataCenter_Windows/WindowsDataCenter/Interfaces/IRepository.cs b/DataCenter_Windows/WindowsDataCenter/Interfaces/IRepository.cs
index 804bb04..3551b49 100644
--- a/DataCenter_Windows/WindowsDataCenter/Interfaces/IRepository.cs
+++ b/DataCenter_Windows/WindowsDataCenter/Interfaces/IRepository.cs
@@ -12,7 +12,7 @@ namespace Interfaces
/// Returns with full list of users,
/// plus a total user count. Pagination options are supported.
///
- UserList GetUsers(int pageNumber = -1, int pageSize = -1, int groupId = -1);
+ UserList GetUsers(int pageNumber = -1, int pageSize = -1, int groupId = -1, SortOptions sort = SortOptions.None);
///
/// Search the user list for the following string
///
diff --git a/DataCenter_Windows/WindowsDataCenter/Interfaces/Interfaces.csproj b/DataCenter_Windows/WindowsDataCenter/Interfaces/Interfaces.csproj
index e3b58bc..23a1f0c 100644
--- a/DataCenter_Windows/WindowsDataCenter/Interfaces/Interfaces.csproj
+++ b/DataCenter_Windows/WindowsDataCenter/Interfaces/Interfaces.csproj
@@ -72,6 +72,7 @@
+
diff --git a/DataCenter_Windows/WindowsDataCenter/Interfaces/SortOptions.cs b/DataCenter_Windows/WindowsDataCenter/Interfaces/SortOptions.cs
new file mode 100644
index 0000000..240ae66
--- /dev/null
+++ b/DataCenter_Windows/WindowsDataCenter/Interfaces/SortOptions.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Interfaces
+{
+ public enum SortOptions
+ {
+ None,
+ FirstNameAscending,
+ FirstNameDescending,
+ LastNameAscending,
+ LastNameDescending,
+ }
+}
diff --git a/DataCenter_Windows/WindowsDataCenter/Interfaces/UserList.cs b/DataCenter_Windows/WindowsDataCenter/Interfaces/UserList.cs
index 0cb7171..916e1b0 100644
--- a/DataCenter_Windows/WindowsDataCenter/Interfaces/UserList.cs
+++ b/DataCenter_Windows/WindowsDataCenter/Interfaces/UserList.cs
@@ -1,30 +1,33 @@
-using System.Collections.Generic;
-
-namespace Interfaces
-{
- public class UserList
- {
- public UserList()
- {
- Users = new List();
- PageSize = 10;
- }
- public string Query { get; set; }
- public int UserCount { get { return Users.Count; } }
- public int TotalUserCount { get; set; }
- public List Users { get; set; }
-
- public int PageCount
- {
- get
- {
- if (TotalUserCount < PageSize)
- return 1;
- return (TotalUserCount / PageSize);
- }
- }
- public Group GroupFilter { get; set; }
- public int PageSize { get; set; }
- public int PageNumber { get; set; }
- }
+using System;
+using System.Collections.Generic;
+
+namespace Interfaces
+{
+ public class UserList
+ {
+ public UserList()
+ {
+ Users = new List();
+ PageSize = 10;
+ }
+ public string Query { get; set; }
+ public int UserCount { get { return Users.Count; } }
+ public int TotalUserCount { get; set; }
+ public List Users { get; set; }
+
+ public SortOptions SelectedSortOption { get; set; }
+
+ public int PageCount
+ {
+ get
+ {
+ if (TotalUserCount < PageSize)
+ return 1;
+ return (int)Math.Ceiling(Convert.ToDouble(TotalUserCount) / Convert.ToDouble(PageSize));
+ }
+ }
+ public Group GroupFilter { get; set; }
+ public int PageSize { get; set; }
+ public int PageNumber { get; set; }
+ }
}
\ No newline at end of file
diff --git a/DataCenter_Windows/WindowsDataCenter/SQLiteRepository/SQLiteProcedures.cs b/DataCenter_Windows/WindowsDataCenter/SQLiteRepository/SQLiteProcedures.cs
index b7c9754..db5d8fb 100644
--- a/DataCenter_Windows/WindowsDataCenter/SQLiteRepository/SQLiteProcedures.cs
+++ b/DataCenter_Windows/WindowsDataCenter/SQLiteRepository/SQLiteProcedures.cs
@@ -16,20 +16,18 @@ namespace SQLiteRepository
nameof(TimeLogDb.CalendarWeek) + "=? and " + nameof(TimeLogDb.Year) + "=?)";
public const string GET_ALL_USERS =
- "select * from " + nameof(UserIdentity) + " ut "
+ "select * from " + nameof(UserIdentity) + " ut "
+ "where "
+ "EXISTS( select " + nameof(GroupDb.GroupId)
- + " from " + nameof(GroupDb)
- + " where " + nameof(GroupDb.GroupName) + " = 'Archived') AND "
- + "NOT EXISTS( select * from " + nameof(UserGroupJoinDb) + " ugp where "
- + nameof(UserGroupJoinDb.UserId_FK) + " = ut.Id"
- + " and " + nameof(UserGroupJoinDb.GroupId_FK) + " = ( "
- + "select " + nameof(GroupDb.GroupId)
- + " from " + nameof(GroupDb)
- + " where " + nameof(GroupDb.GroupName) + " = 'Archived') )"
- + "order by "
- + nameof(UserIdentity.LastName) + " collate nocase, "
- + nameof(UserIdentity.FirstName) + " collate nocase";
+ + " from " + nameof(GroupDb)
+ + " where " + nameof(GroupDb.GroupName) + " = 'Archived') AND "
+ + "NOT EXISTS( select * from " + nameof(UserGroupJoinDb) + " ugp where "
+ + nameof(UserGroupJoinDb.UserId_FK) + " = ut.Id"
+ + " and " + nameof(UserGroupJoinDb.GroupId_FK) + " = ( "
+ + "select " + nameof(GroupDb.GroupId)
+ + " from " + nameof(GroupDb)
+ + " where " + nameof(GroupDb.GroupName) + " = 'Archived') )"
+ + "order by ? collate nocase ?, ? collate nocase ?";
public const string GET_ALL_USERS_PAGINATE =
"select * from " + nameof(UserIdentity) + " ut "
@@ -43,18 +41,18 @@ namespace SQLiteRepository
+ "select " + nameof(GroupDb.GroupId)
+ " from " + nameof(GroupDb)
+ " where " + nameof(GroupDb.GroupName) + " = 'Archived') )"
- + "order by "
- + nameof(UserIdentity.LastName) + " collate nocase, "
- + nameof(UserIdentity.FirstName) + " collate nocase "
- + "limit ? offset ?";
+ + " order by "
+ + "{0} collate nocase {1}, "
+ + "{2} collate nocase {3} "
+ + "limit {4} offset {5}";
public const string GET_ALL_USERS_BY_GROUP =
"select u." + nameof(UserIdentity.Id) + ", u." + nameof(UserIdentity.FirstName) + ", u." +
nameof(UserIdentity.LastName) + ", u." + nameof(UserIdentity.HoursPerWeek) + ", u." +
nameof(UserIdentity.IsContractor) + " from " + nameof(UserIdentity) + " u left join " +
nameof(UserGroupJoinDb) + " ugj on ugj." + nameof(UserGroupJoinDb.UserId_FK) + " = u." +
- nameof(UserIdentity.Id) + " where ugj." + nameof(UserGroupJoinDb.GroupId_FK) + "=? order by u." +
- nameof(UserIdentity.LastName) + " collate nocase, u." + nameof(UserIdentity.LastName) + " collate nocase";
+ nameof(UserIdentity.Id) + " where ugj." + nameof(UserGroupJoinDb.GroupId_FK) + "= {0} " +
+ "order by u.{1} collate nocase {2}, u.{3} collate nocase {4}";
public const string GET_USER_BY_ID =
"select * from " + nameof(UserIdentity) + " where " + nameof(UserIdentity.Id) + "=?";
@@ -96,7 +94,18 @@ namespace SQLiteRepository
nameof(TimeLogDb.SwipeEventDateTime) + " desc LIMIT 1";
public const string GET_TOTAL_USER_COUNT =
- "select Max(" + nameof(UserIdentity.Id) + ") from " + nameof(UserIdentity);
+ "select count(1) from " + nameof(UserIdentity) + " ut "
+ + "where "
+ + "EXISTS( select " + nameof(GroupDb.GroupId)
+ + " from " + nameof(GroupDb)
+ + " where " + nameof(GroupDb.GroupName) + " = 'Archived') "
+ + "AND NOT EXISTS( select * from " + nameof(UserGroupJoinDb) + " ugp where "
+ + nameof(UserGroupJoinDb.UserId_FK) + " = ut.Id"
+ + " and " + nameof(UserGroupJoinDb.GroupId_FK) + " = ( "
+ + "select " + nameof(GroupDb.GroupId)
+ + " from " + nameof(GroupDb)
+ + " where " + nameof(GroupDb.GroupName) + " = 'Archived') )";
+ //"select Max(" + nameof(UserIdentity.Id) + ") from " + nameof(UserIdentity);
public const string GET_USER_CONTRACTED_HOURS =
"select " + nameof(UserIdentity.HoursPerWeek) + " From UserIdentity where " + nameof(UserIdentity.Id) + "=?";
diff --git a/DataCenter_Windows/WindowsDataCenter/SQLiteRepository/SQLiteRepository.cs b/DataCenter_Windows/WindowsDataCenter/SQLiteRepository/SQLiteRepository.cs
index 44941ca..d977d37 100644
--- a/DataCenter_Windows/WindowsDataCenter/SQLiteRepository/SQLiteRepository.cs
+++ b/DataCenter_Windows/WindowsDataCenter/SQLiteRepository/SQLiteRepository.cs
@@ -45,10 +45,10 @@ namespace SQLiteRepository
CheckForDbUpgrade();
}
- public UserList GetUsers(int pageNumber = -1, int pageSize = -1, int groupId = -1)
+ public UserList GetUsers(int pageNumber = -1, int pageSize = -1, int groupId = -1, SortOptions sort = SortOptions.None)
{
var ret = new UserList();
- List users = GetUserList(groupId, pageSize, pageNumber);
+ List users = GetUserList(groupId, pageSize, pageNumber, sort);
var userCount = GetUserCount();
@@ -115,7 +115,7 @@ namespace SQLiteRepository
ret.Users.Add(userObj);
}
ret.PageSize = 20;
- ret.PageNumber = (int)Math.Ceiling((double)ret.Users.Count/(double)ret.PageSize);
+ ret.PageNumber = (int)Math.Ceiling((double)ret.Users.Count / (double)ret.PageSize);
return ret;
}
@@ -249,7 +249,7 @@ namespace SQLiteRepository
_connection.Query(SQLiteProcedures.GET_CARDS_BY_USER_ID, user.UserId)
.Select(IdentifierConverter.ConvertToIdentifierDto).ToList();
var cardsToRemove = currentCards.Exclude(user.AssociatedIdentifiers, x => x.Id).Select(x => x.Id).ToList();
-
+
#region Update/Create User
int userId;
@@ -290,7 +290,7 @@ namespace SQLiteRepository
#region Update Card/Unique Id entries/associations
//make sure all identifiers are associated to the right user
- UpdateIdentifierUserId(existingCards.Select(x=>x.Id).ToList(), userId);
+ UpdateIdentifierUserId(existingCards.Select(x => x.Id).ToList(), userId);
//make sure to remove all identifiers that have been deselected in edit are removed from user
UpdateIdentifierUserId(cardsToRemove, Constants.UNASSIGNED_CARD_USER_ID);
@@ -317,7 +317,7 @@ namespace SQLiteRepository
else
{
_logger.Debug("Using supplied log time: {0}", logTime.ToString("o"));
- }
+ }
#endregion
var ret = new LogEventResponse();
@@ -336,7 +336,7 @@ namespace SQLiteRepository
UpdateIdentifierLastUsed(DateTimeOffset.UtcNow, ident.Id);
logId = -1;
//dont try to log any timelogs against this card, as it is unassigned to a user.
- ret.ProcessResponse=OperationResponse.SUCCESS;
+ ret.ProcessResponse = OperationResponse.SUCCESS;
ret.Direction = LogDirection.UNKNOWN;
return ret;
}
@@ -373,11 +373,11 @@ namespace SQLiteRepository
#endregion
#region Get the current time (for swiping). and calendar week/year to help recall the data.
-
+
var calendarWeek = GetIso8601CalendarWeek(logTime);
var year = logTime.Year;
#endregion
-
+
var timeLog = new TimeLogDb
{
SwipeEventDateTime = DateTime.UtcNow,
@@ -397,7 +397,7 @@ namespace SQLiteRepository
ret.ProcessResponse = OperationResponse.SUCCESS;
return ret;
}
-
+
public OperationResponse CreateGroup(Group group, out int groupId)
{
var query = _connection.Query(SQLiteProcedures.GET_GROUP_BY_NAME, group.Name);
@@ -485,8 +485,8 @@ namespace SQLiteRepository
public OperationResponse CreateLog(TimeLog log)
{
log.CalendarWeek = GetIso8601CalendarWeek(log.EventTime.UtcDateTime);
- log.Year= log.EventTime.Year;
-
+ log.Year = log.EventTime.Year;
+
var dbLog = TimeLogConverter.ConvertFromTimeLogDto(log);
dbLog.IdentifierId = ConvertSourceToIdentifierId(log.Source);
@@ -497,13 +497,13 @@ namespace SQLiteRepository
_connection.Insert(dbLog);
return OperationResponse.CREATED;
}
-
+
public OperationResponse UpdateLog(TimeLog log)
{
var query = _connection.Query(
SQLiteProcedures.GET_TIMELOG_ENTRY, log.Id);
- if(!query.Any())
+ if (!query.Any())
return OperationResponse.FAILED;
if (log.CalendarWeek > 52 || log.CalendarWeek < 1)
@@ -516,8 +516,8 @@ namespace SQLiteRepository
}
_connection.ExecuteScalar(
SQLiteProcedures.UPDATE_TIMELOG_ENTRY,
- log.UserId, (LogDirectionDb) (int) log.Direction, log.EventTime, log.CalendarWeek, log.Year,
- (LogSourceDb) (int) log.Source, log.Id);
+ log.UserId, (LogDirectionDb)(int)log.Direction, log.EventTime, log.CalendarWeek, log.Year,
+ (LogSourceDb)(int)log.Source, log.Id);
return OperationResponse.UPDATED;
}
@@ -526,7 +526,7 @@ namespace SQLiteRepository
{
var query = $"select * from {nameof(PolicyDb)}";
var policies = _connection.Query(query);
-
+
return PolicyConverter.ConvertToPolicyDto(policies.OrderByDescending(x => x.Version).FirstOrDefault());
}
@@ -535,7 +535,7 @@ namespace SQLiteRepository
{
if (string.IsNullOrEmpty(policy.Version))
{
- policy.Version = (GetNextPolicyVersion()+1).ToString();
+ policy.Version = (GetNextPolicyVersion() + 1).ToString();
}
var policyDb = PolicyConverter.ConvertFromPolicyDto(policy);
_connection.Insert(policyDb);
@@ -555,24 +555,56 @@ namespace SQLiteRepository
return _connection.ExecuteScalar(SQLiteProcedures.GET_TOTAL_USER_COUNT);
}
- private List GetUserList(int groupId = -1, int pageSize=-1, int pageNumber=-1)
+ private List GetUserList(int groupId = -1, int pageSize = -1, int pageNumber = -1, SortOptions sort = SortOptions.None)
{
List users;
+
+ var orderByFirst = nameof(UserIdentity.LastName);
+ var firstOrderDir = "ASC";
+ var orderBySecond = nameof(UserIdentity.FirstName);
+ var secondOrderDir = "ASC";
+
+ if (sort != SortOptions.None)
+ {
+ switch (sort)
+ {
+ case SortOptions.FirstNameAscending:
+ orderByFirst = nameof(UserIdentity.FirstName);
+ firstOrderDir = "ASC";
+ orderBySecond = nameof(UserIdentity.LastName);
+ secondOrderDir = "ASC";
+ break;
+ case SortOptions.FirstNameDescending:
+ orderByFirst = nameof(UserIdentity.FirstName);
+ firstOrderDir = "DESC";
+ orderBySecond = nameof(UserIdentity.LastName);
+ secondOrderDir = "ASC";
+ break;
+ case SortOptions.LastNameDescending:
+ firstOrderDir = "DESC";
+ break;
+ }
+
+ }
if (pageNumber != -1 && pageSize != -1)
{
- users = _connection.Query(SQLiteProcedures.GET_ALL_USERS_PAGINATE,
- pageSize, (pageNumber - 1) * pageSize);
+ var qString = string.Format(SQLiteProcedures.GET_ALL_USERS_PAGINATE, orderByFirst, firstOrderDir,
+ orderBySecond, secondOrderDir, pageSize, (pageNumber - 1) * pageSize);
+ users = _connection.Query(qString);
}
else if (groupId != -1)
{
+ var qString = string.Format(SQLiteProcedures.GET_ALL_USERS_BY_GROUP, groupId,
+ orderByFirst, firstOrderDir,
+ orderBySecond, secondOrderDir);
users =
- _connection.Query(
- SQLiteProcedures.GET_ALL_USERS_BY_GROUP,
- groupId);
+ _connection.Query(qString);
}
else
{
- users = _connection.Query(SQLiteProcedures.GET_ALL_USERS);
+ users = _connection.Query(SQLiteProcedures.GET_ALL_USERS,
+ orderByFirst, firstOrderDir,
+ orderBySecond, secondOrderDir);
}
return users;
@@ -620,7 +652,7 @@ namespace SQLiteRepository
foreach (var upgradeScript in upgradeScripts)
{
using (var stream = assembly.GetManifestResourceStream(upgradeScript))
- using(var str = new StreamReader(stream))
+ using (var str = new StreamReader(stream))
{
var script = str.ReadToEnd();
_logger.Trace("Executing upgrade script with name: {0}", upgradeScript);
@@ -633,7 +665,7 @@ namespace SQLiteRepository
private void SetDbVersion(string vers)
{
_connection.DeleteAll();
- _connection.Insert(new DbVersion {VersionNumber = vers});
+ _connection.Insert(new DbVersion { VersionNumber = vers });
_logger.Trace("Set Database version to: {0}", vers);
}
@@ -714,7 +746,7 @@ namespace SQLiteRepository
EventTime = x.SwipeEventDateTime,
UserId = x.UserId_FK,
Year = x.Year
- }).OrderBy(x=>x.EventTime.UtcDateTime).ToList();
+ }).OrderBy(x => x.EventTime.UtcDateTime).ToList();
var dict = new Dictionary();
var logList = new List();
@@ -726,7 +758,7 @@ namespace SQLiteRepository
}
//add the logs to the respective day of the week.
- foreach (var log in timeLogs.OrderBy(x=>x.EventTime))
+ foreach (var log in timeLogs.OrderBy(x => x.EventTime))
{
dict[log.EventTime.DayOfWeek].Logs.Add(log);
}
diff --git a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/Controllers/UsersController.cs b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/Controllers/UsersController.cs
index 675c33a..88d73dc 100644
--- a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/Controllers/UsersController.cs
+++ b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/Controllers/UsersController.cs
@@ -30,17 +30,18 @@ namespace WindowsDataCenter
public IHttpActionResult GetUsers([FromUri] string query = ""
, [FromUri] int pageSize = -1
, [FromUri] int pageNumber = -1
- , [FromUri] int groupId = -1)
+ , [FromUri] int groupId = -1
+ , [FromUri] SortOptions sort = SortOptions.None)
{
- _logger.Trace("GetUsers called with arguments >> query: {0}, pageSize: {1}, pageNumber: {2}, groupFilter: {3}", query, pageSize, pageNumber, groupId);
+ _logger.Trace("GetUsers called with arguments >> query: {0}, pageSize: {1}, pageNumber: {2}, groupFilter: {3}, sort: {4}", query, pageSize, pageNumber, groupId, sort);
pageNumber = pageNumber == -1 ? 1 : pageNumber;
pageSize = GetPageSize(pageSize);
var userList = query != string.Empty
? _repo.Search(query)
: groupId != -1
- ? _repo.GetUsers(groupId: groupId)
- : _repo.GetUsers(pageNumber, pageSize);
+ ? _repo.GetUsers(groupId: groupId, sort:sort)
+ : _repo.GetUsers(pageNumber, pageSize, sort:sort);
_logger.Trace("Got UserList from Repository, UserCount: {0}", userList.UserCount);
if (query != string.Empty)
{
@@ -57,6 +58,7 @@ namespace WindowsDataCenter
userList.PageNumber = pageNumber;
userList.PageSize = pageSize;
+ userList.SelectedSortOption = sort;
_logger.Trace("Returning UserList from GetUsers.");
var msg = Request.CreateResponse(HttpStatusCode.OK, userList);
diff --git a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/index.html b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/index.html
index dbea1ce..fd89ac2 100644
--- a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/index.html
+++ b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/index.html
@@ -86,8 +86,23 @@
|
- First Name |
- Last Name |
+
+
+
+ First Name
+ |
+
+
+
+ Last Name |
Contractor |
|
|
diff --git a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/spa.js b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/spa.js
index 1117178..53c13a6 100644
--- a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/spa.js
+++ b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/spa.js
@@ -1,4 +1,10 @@
-function DataVM() {
+const SortOptions = {
+ LastAsc: "LastNameAscending",
+ LastDesc: "LastNameDescending",
+ FirstAsc: "FirstNameAscending",
+ FirstDesc: "FirstNameDescending"
+ };
+function DataVM() {
"use strict";
var self = this;
self.helpers = new Helpers();
@@ -23,6 +29,7 @@
self.policyChangeDate = ko.observable(null);
self.policyChangeAuthor = ko.observable(null);
self.policyVersion = ko.observable(null);
+ self.selectedSort = ko.observable(null);
self.apiEndpoints = {
root: "http://localhost:8800",
getUserList: "/api/users",
@@ -156,7 +163,7 @@
var args = [
{
key: "groupId",
- value: datacreateContextMenu
+ value: data
}
];
var url = self.helpers.createRequestUrl("users", args, false, false);
@@ -221,25 +228,32 @@
});
}
};
- self.getUserList = function (pageSize, pageNumber, groupId) {
- var args = null;
+ self.getUserList = function (pageSize, pageNumber, groupId, sort) {
+ var args = [];
if (pageSize && pageNumber) {
- args = [
+ args.push(
{
key: "pageSize",
value: pageSize
- },
+ });
+ args.push(
{
key: "pageNumber",
value: pageNumber
- }
- ];
- } else if(groupId) {
- args = [
+ });
+ }
+ if (groupId) {
+ args.push(
{
key: "groupId",
value: groupId
- }];
+ });
+ }
+ if (sort) {
+ args.push({
+ key: "sort",
+ value: sort
+ });
}
var url = self.helpers.createRequestUrl(self.apiEndpoints.getUserList, args, false);
$.getJSON(url, function (res) {
@@ -261,9 +275,9 @@
self.assignErrorObject(errObj.errorCode, errObj.errorMessage, "getUserList");
});
};
- self.searchUsers = function(query) {
+ self.searchUsers = function(query, sort) {
var url = self.helpers.createRequestUrl(self.apiEndpoints.getUserList,
- [{ key: "query", value: query }], false, false);
+ [{ key: "query", value: query }, {key:"sort",value:sort}], false, false);
$.getJSON(url,
function(res) {
self.userList(res);
@@ -426,12 +440,46 @@
maxDate: moment(date).endOf("week")
});
};
+ function convertSortOption(opt) {
+ if (!opt) {
+ return SortOptions.LastAsc;
+ }
+ if (opt === "firstAsc") {
+ return SortOptions.FirstAsc;
+ }
+ if (opt === "firstDesc") {
+ return SortOptions.FirstDesc;
+ }
+ if (opt === "lastAsc") {
+ return SortOptions.LastAsc;
+ }
+ if (opt === "lastDesc") {
+ return SortOptions.LastDesc;
+ }
+ };
+ self.sortIsActive = function (option) {
+ if (option === "firstAsc" && self.userList().SelectedSortOption === SortOptions.FirstAsc) {
+ return true;
+ }
+ if (option === "firstDesc" && self.selectedSort() === SortOptions.FirstDesc) {
+ return true;
+ }
+ if (option === "lastAsc" && self.selectedSort() === SortOptions.LastAsc) {
+ return true;
+ }
+ if (option === "lastDesc" && self.selectedSort() === SortOptions.LastDesc) {
+ return true;
+ }
+ return false;
+ };
Sammy(function () {
this.get("#users", function () {
var query = this.params.query;
var pageSize = this.params.pageSize;
var pageNumber = this.params.pageNumber;
var groupId = this.params.groupId;
+ var sort = convertSortOption(this.params.sort);
+ console.log(sort);
self.chosenMenuItemId("Home");
self.groupsList(null);
self.chosenUserDetails(null);
@@ -444,11 +492,11 @@
}
self.getGroups(function (data) { self.groupsList(data); });
if (query)
- self.searchUsers(query);
+ self.searchUsers(query, sort);
else if (groupId && groupId > 0)
- self.getUserList(null, null, groupId);
+ self.getUserList(null, null, groupId, sort);
else
- self.getUserList(pageSize, pageNumber);
+ self.getUserList(pageSize, pageNumber, null,sort);
});
this.get("#userData/:userId", function () {
self.chosenMenuItemId("Data");
@@ -528,7 +576,6 @@
this.post("#manualLog",
function() {
self.createManualLog(self.manualLog());
-
$('#manualLogDialog').modal("hide");
//self.goToTimeLogs(self.chosenTimeLogUserId, null, [{ key: "selectedDate", value: self.selectedTimeLogDate() }]);
});