This commit is contained in:
2023-07-20 21:38:05 +03:00
parent 4bac59f322
commit 2f108bef4f
35 changed files with 1863 additions and 909 deletions
@@ -90,4 +90,12 @@ public class AccountRepository : AppRepository<Account>, IAccountRepository
{
return RemoveBase(account) > 0;
}
public List<Account> FindAccounts(Guid userId, string term)
{
return _context.Accounts
.Where(x => x.AccessRights.Any(a => a.UserId == userId))
.Where(x => x.Name.Contains(term))
.ToList();
}
}
@@ -12,4 +12,5 @@ public interface IAccountRepository
Account? Get(Guid userId, Guid id);
bool Update(Account account);
bool Remove(Account account);
List<Account> FindAccounts(Guid userId, string term);
}
@@ -10,4 +10,5 @@ public interface IItemRepository
Item? GetByGlobal(Guid userId, Guid globalMotionId);
bool Add(Item item);
bool Update(Item item);
List<Item> Find(Guid userId, string term, int limit);
}
@@ -31,7 +31,7 @@ public class ItemRepository : AppRepository<Item>, IItemRepository
.Include(x => x.Motions)
.Include(x => x.Category)
.Include(x => x.ItemGlobal)
.FirstOrDefault(x => x.Category.UserId == userId && x.ItemGlobalId == globalMotionId);
.FirstOrDefault(x => x.Category!.UserId == userId && x.ItemGlobalId == globalMotionId);
}
public bool Update(Item item)
@@ -43,4 +43,15 @@ public class ItemRepository : AppRepository<Item>, IItemRepository
{
return base.AddBase(item) > 0;
}
public List<Item> Find(Guid userId, string term, int limit)
{
return _context
.Items
.Include(x => x.ItemGlobal)
.Where(x => x.Category!.UserId == userId && x.ItemGlobal.Name.Contains(term))
.OrderByDescending(x => x.Motions.Count())
.Take(limit)
.ToList();
}
}