mirror of
https://github.com/SoDOff-Project/sodoff.git
synced 2026-01-13 05:31:51 -08:00
groups: fix string comparison
StringComparison is not supported by all db providers This uses manual comparisons instead, which is not ideal performance wise, but works on all providers
This commit is contained in:
parent
6d027df825
commit
6648385ab3
@ -110,7 +110,7 @@ public class GroupController : Controller {
|
|||||||
return Ok(new CreateGroupResult { Success = false, Status = CreateGroupStatus.GroupNameIsEmpty });
|
return Ok(new CreateGroupResult { Success = false, Status = CreateGroupStatus.GroupNameIsEmpty });
|
||||||
if (request.Description.Length == 0)
|
if (request.Description.Length == 0)
|
||||||
return Ok(new CreateGroupResult { Success = false, Status = CreateGroupStatus.GroupDescriptionIsEmpty });
|
return Ok(new CreateGroupResult { Success = false, Status = CreateGroupStatus.GroupDescriptionIsEmpty });
|
||||||
if (ctx.Groups.Any(g => g.Name.Equals(request.Name, StringComparison.InvariantCultureIgnoreCase)))
|
if (ctx.Groups.Any(g => g.Name.ToLower() == request.Name.ToLower()))
|
||||||
return Ok(new CreateGroupResult { Success = false, Status = CreateGroupStatus.GroupNameIsDuplicate });
|
return Ok(new CreateGroupResult { Success = false, Status = CreateGroupStatus.GroupNameIsDuplicate });
|
||||||
|
|
||||||
Model.Group group = new Model.Group {
|
Model.Group group = new Model.Group {
|
||||||
@ -177,7 +177,7 @@ public class GroupController : Controller {
|
|||||||
request.Name = vikingRole.Group.Name;
|
request.Name = vikingRole.Group.Name;
|
||||||
if (string.IsNullOrEmpty(request.Description))
|
if (string.IsNullOrEmpty(request.Description))
|
||||||
request.Description = vikingRole.Group.Description;
|
request.Description = vikingRole.Group.Description;
|
||||||
if (request.Name != vikingRole.Group.Name && ctx.Groups.Any(g => g.Name.Equals(request.Name, StringComparison.InvariantCultureIgnoreCase)))
|
if (request.Name != vikingRole.Group.Name && ctx.Groups.Any(g => g.Name.ToLower() == request.Name.ToLower()))
|
||||||
return Ok(new EditGroupResult { Success = false, Status = EditGroupStatus.GroupNameIsDuplicate });
|
return Ok(new EditGroupResult { Success = false, Status = EditGroupStatus.GroupNameIsDuplicate });
|
||||||
|
|
||||||
vikingRole.Group.Name = request.Name;
|
vikingRole.Group.Name = request.Name;
|
||||||
@ -285,7 +285,7 @@ public class GroupController : Controller {
|
|||||||
if (vikingRole == null || vikingRole.Group.GroupID.ToString() != request.GroupID)
|
if (vikingRole == null || vikingRole.Group.GroupID.ToString() != request.GroupID)
|
||||||
return Ok(new LeaveGroupResult { Success = false, Status = LeaveGroupStatus.Error });
|
return Ok(new LeaveGroupResult { Success = false, Status = LeaveGroupStatus.Error });
|
||||||
GroupMember? targetRole;
|
GroupMember? targetRole;
|
||||||
if (viking.Uid.ToString().Equals(request.UserID, StringComparison.CurrentCultureIgnoreCase)) {
|
if (viking.Uid == Guid.Parse(request.UserID)) {
|
||||||
targetRole = vikingRole.Group.Vikings.FirstOrDefault(gv => gv.Viking == viking);
|
targetRole = vikingRole.Group.Vikings.FirstOrDefault(gv => gv.Viking == viking);
|
||||||
} else if (vikingRole.UserRole >= UserRole.Elder) {
|
} else if (vikingRole.UserRole >= UserRole.Elder) {
|
||||||
targetRole = vikingRole.Group.Vikings.FirstOrDefault(gv => gv.Viking.Uid.ToString() == request.UserID);
|
targetRole = vikingRole.Group.Vikings.FirstOrDefault(gv => gv.Viking.Uid.ToString() == request.UserID);
|
||||||
@ -317,7 +317,7 @@ public class GroupController : Controller {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (request.Name != null)
|
if (request.Name != null)
|
||||||
groupsQuery = groupsQuery.Where(g => g.Name.Contains(request.Name, StringComparison.InvariantCultureIgnoreCase));
|
groupsQuery = groupsQuery.Where(g => g.Name.ToLower().Contains(request.Name.ToLower()));
|
||||||
|
|
||||||
groupsQuery = groupsQuery.OrderByDescending(g => g.Points);
|
groupsQuery = groupsQuery.OrderByDescending(g => g.Points);
|
||||||
int skip = 0;
|
int skip = 0;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user