using System; using System.Collections.Generic; using AvaloniaApplication14_autoTest_190326.Models; using AvaloniaApplication14_Di_test_1125.Models; using AvaloniaApplication14_Inventory_300326.Models.Models; using Microsoft.Extensions.Options; using MySqlConnector; namespace AvaloniaApplication14_Inventory_300326.Models.DataBase; public class PositionRepository : BaseRepository, IDisposable { public PositionRepository(IOptions ConnectionString) : base(ConnectionString) { OpenConnection(); } public override List? GetAll() { List result = new List(); string sql = "SELECT * FROM Positions"; using (var mc = new MySqlCommand(sql, connection)) { using (var reader = mc.ExecuteReader()) { while (reader.Read()) { Position position = new Position() { Id = reader.GetInt32("Id"), Name = reader.GetString("Name"), }; result.Add(position); } } } return result; } public override Position? GetById(int id) { string sql = "SELECT * FROM Positions WHERE Id = @Id"; Position result = null; using (var mc = new MySqlCommand(sql, connection)) { mc.Parameters.AddWithValue("@Id", id); using (var reader = mc.ExecuteReader()) { while (reader.Read()) { result = new Position() { Id = reader.GetInt32("Id"), Name = reader.GetString("Name") }; } } } return result; } public override bool Delete(int id) { throw new NotImplementedException(); } public override bool Update(Position item) { throw new NotImplementedException(); } public override bool Add(Position item) { throw new NotImplementedException(); } public void Dispose() { base.Dispose(); } }