Simplified Repository, Logic handles more by itself

This commit is contained in:
2025-09-30 10:41:12 +02:00
parent 7ac87ea568
commit c8c24cb7cc
3 changed files with 9 additions and 65 deletions

View File

@@ -9,12 +9,12 @@ public class PasswordStoreService : IPasswordStoreService
public void Create(PasswordStore item) public void Create(PasswordStore item)
{ {
Create(item); repository.Create(item);
} }
public void Delete(uint ID) public void Delete(uint ID)
{ {
throw new NotImplementedException(); repository.Delete(ID);
} }
public void Delete(PasswordStore item) public void Delete(PasswordStore item)
@@ -24,16 +24,18 @@ public class PasswordStoreService : IPasswordStoreService
public void Edit(uint ID, PasswordStore newItem) public void Edit(uint ID, PasswordStore newItem)
{ {
throw new NotImplementedException(); repository.Delete(ID);
newItem.ID = ID;
repository.Create(newItem);
} }
public PasswordStore Get(uint ID) public PasswordStore Get(uint ID)
{ {
return repository.Get(ID); return repository.GetAll().FirstOrDefault(i => i.ID == ID) ?? throw new Exception("Item not found");
} }
public IEnumerable<PasswordStore> GetAll() public IEnumerable<PasswordStore> GetAll()
{ {
return (IEnumerable<PasswordStore>)repository.GetAll(); return repository.GetAll();
} }
} }

View File

@@ -6,9 +6,6 @@ namespace Repository;
public interface IRepository public interface IRepository
{ {
List<PasswordStore> GetAll(); List<PasswordStore> GetAll();
PasswordStore? Get(uint id);
void Edit(uint ID, PasswordStore newItem);
void Create(PasswordStore item); void Create(PasswordStore item);
void Delete(uint ID); void Delete(uint ID);
void Delete(PasswordStore item);
} }

View File

@@ -69,24 +69,6 @@ public class JsonRepository : IRepository, IDisposable
return _cache; return _cache;
} }
public PasswordStore? Get(uint id)
{
try
{
return _cache.First(item => item.ID.Equals(id));
}
catch (InvalidOperationException)
{
// Not found
return null;
}
catch (Exception e)
{
WriteToStdErr($"Unexpected error: {e.Message}");
return null;
}
}
public void Dispose() public void Dispose()
{ {
if (_cacheAhead) if (_cacheAhead)
@@ -114,26 +96,6 @@ public class JsonRepository : IRepository, IDisposable
} }
} }
public void Edit(uint ID, PasswordStore newItem)
{
try
{
PasswordStore item = _cache.First(item => item.ID.Equals(ID));
item.DisplayName = newItem.DisplayName;
item.IconName = newItem.IconName;
item.Path = newItem.Path;
_cacheAhead = true;
}
catch (InvalidOperationException)
{
WriteToStdErr($"Edit error: Item with ID {ID} not found.");
}
catch (Exception e)
{
WriteToStdErr($"Unexpected error: {e.Message}");
}
}
public void Create(PasswordStore item) public void Create(PasswordStore item)
{ {
item.ID = ++_autoIncrementedId; item.ID = ++_autoIncrementedId;
@@ -141,28 +103,11 @@ public class JsonRepository : IRepository, IDisposable
_cacheAhead = true; _cacheAhead = true;
} }
public void Delete(PasswordStore item)
{
Delete(item.ID);
}
public void Delete(uint id) public void Delete(uint id)
{ {
try _cache.RemoveAll(i => i.ID == id);
{
var item = _cache.First(item => item.ID.Equals(id));
_cache.Remove(item);
_cacheAhead = true; _cacheAhead = true;
} }
catch (InvalidOperationException)
{
WriteToStdErr($"Delete error: Item with ID {id} not found.");
}
catch (Exception e)
{
WriteToStdErr($"Unexpected error: {e.Message}");
}
}
private void WriteToStdErr(string message) private void WriteToStdErr(string message)
{ {