1
0
mirror of https://github.com/SirLecram/HospitalServerManager synced 2024-07-17 10:25:30 +02:00
admissionManager/ViewModel/RosterViewModel.cs

48 lines
2.0 KiB
C#
Raw Normal View History

2018-11-18 18:49:40 +01:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using HospitalServerManager.InterfacesAndEnums;
using HospitalServerManager.Model;
using HospitalServerManager.Model.Controllers;
2018-11-18 18:49:40 +01:00
namespace HospitalServerManager.ViewModel
{
class RosterViewModel
{
private ModelRoster _Roster { get; set; }
private IProvideDBInfo databaseInfoProvider;
2018-11-18 18:49:40 +01:00
private Controllers.DatabaseReader DbReader { get; set; }
private List<ISqlTableModelable> ModelsList => _Roster.ModelsEnumerable.ToList();
public RangeObservableCollection<ISqlTableModelable> ModelsCollection = new RangeObservableCollection<ISqlTableModelable>();
public IEnumerable<string> ColumnNames { get => _Roster.ColumnNames; }
public IDictionary<int, string> ColumnTypes { get => _Roster.ColumnTypes; }
public Dictionary<string, Type> EnumTypes { get => _Roster.EnumTypes; }
2018-11-18 18:49:40 +01:00
public RosterViewModel()
2018-11-18 18:49:40 +01:00
{
DbReader = new Controllers.DatabaseReader();
_Roster = new ModelRoster();
//Read(typeof(PatientViewModel));
2018-11-18 18:49:40 +01:00
}
public async Task Read(Type viewModel, string tableName)
2018-11-18 18:49:40 +01:00
{
ModelsCollection.Clear();
/*await DbReader.ReadDataFromDatabase(@"Data Source=MARCELPC;Initial Catalog = DB_s439397; Integrated Security = true;",
"SELECT * FROM Pacjenci", typeof(Model.Basic.Patient));*/
List<ISqlTableModelable> lista = new List<ISqlTableModelable>();
// DbReader.LastReadedModels.ToList().ForEach(model => lista.Add(new PatientViewModel(model as HospitalServerManager.Model.Basic.Patient)));
await _Roster.ReadModels(tableName);
ModelsList.ToList().ForEach(model => lista.Add((ISqlTableModelable)Activator.CreateInstance(viewModel, model)));
//_Roster.AddRange(lista);
ModelsCollection.AddRange(lista);
return;
2018-11-18 18:49:40 +01:00
}
public void CreateRecord(string tableName, IEnumerable<string> valuesList)
{
_Roster.CreateRecord(tableName, valuesList);
}
2018-11-18 18:49:40 +01:00
}
}