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;
|
2018-12-29 11:58:25 +01:00
|
|
|
|
using HospitalServerManager.Model.Controllers;
|
2018-11-18 18:49:40 +01:00
|
|
|
|
|
|
|
|
|
namespace HospitalServerManager.ViewModel
|
|
|
|
|
{
|
|
|
|
|
class RosterViewModel
|
|
|
|
|
{
|
|
|
|
|
private ModelRoster _Roster { get; set; }
|
2018-12-29 11:58:25 +01:00
|
|
|
|
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>();
|
2018-12-29 11:58:25 +01:00
|
|
|
|
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
|
|
|
|
|
2018-12-29 11:58:25 +01:00
|
|
|
|
public RosterViewModel()
|
2018-11-18 18:49:40 +01:00
|
|
|
|
{
|
|
|
|
|
DbReader = new Controllers.DatabaseReader();
|
|
|
|
|
_Roster = new ModelRoster();
|
2018-12-29 11:58:25 +01:00
|
|
|
|
//Read(typeof(PatientViewModel));
|
2018-11-18 18:49:40 +01:00
|
|
|
|
}
|
2018-12-29 11:58:25 +01:00
|
|
|
|
public async Task Read(Type viewModel, string tableName)
|
2018-11-18 18:49:40 +01:00
|
|
|
|
{
|
2018-12-29 11:58:25 +01:00
|
|
|
|
ModelsCollection.Clear();
|
|
|
|
|
/*await DbReader.ReadDataFromDatabase(@"Data Source=MARCELPC;Initial Catalog = DB_s439397; Integrated Security = true;",
|
|
|
|
|
"SELECT * FROM Pacjenci", typeof(Model.Basic.Patient));*/
|
2018-12-22 15:52:17 +01:00
|
|
|
|
List<ISqlTableModelable> lista = new List<ISqlTableModelable>();
|
2018-12-29 11:58:25 +01:00
|
|
|
|
// 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
|
|
|
|
}
|
2018-12-29 11:58:25 +01:00
|
|
|
|
public void CreateRecord(string tableName, IEnumerable<string> valuesList)
|
|
|
|
|
{
|
|
|
|
|
_Roster.CreateRecord(tableName, valuesList);
|
|
|
|
|
}
|
2018-11-18 18:49:40 +01:00
|
|
|
|
}
|
|
|
|
|
}
|