You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

101 lines
2.2 KiB

using Modèle;
using Persistance;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Business
{
public class ManagerUsers
{
public List<Utilisateur> Utilisateurs { get; private set; }
public List<Expert> Experts { get; private set; }
public Personne SelectedUser { get; set; }
/// <summary>
/// DéPENDANCE
/// </summary>
public IPersistanceManager Pers { get; set; }
/// <summary>
/// constructeur avec INJECTION DE LA DéPENDANCE
/// </summary>
public ManagerUsers(IPersistanceManager pers)
{
Utilisateurs = new List<Utilisateur>();
Experts = new List<Expert>();
Pers = pers;
}
public void LoadUsers()
{
var data = Pers.LoadUsers();
Utilisateurs.Clear();
foreach (var u in data.users)
{
Utilisateurs.Add(u);
}
Experts.Clear();
foreach (var e in data.experts)
{
Experts.Add(e);
}
SelectedUser = null;
}
public void SaveUsers()
{
Pers.SaveUsers(Utilisateurs, Experts);
}
public bool AjouterUtilisateur(Utilisateur user)
{
if (Utilisateurs.Contains(user))
{
return false;
}
Utilisateurs.Add(user);
return true;
}
public bool SupprimerUtilisateur(Utilisateur user)
{
if (!Utilisateurs.Contains(user))
{
return false;
}
Utilisateurs.Remove(user);
return true;
}
public Personne GetUtilisateur(Personne user)
{
return Utilisateurs.SingleOrDefault(r => r.Equals(user));
}
public bool ModifieUtilisateur(Utilisateur oldU, Utilisateur newU)
{
if (!oldU.Equals(newU))
{
return false;
}
Utilisateurs.Remove(oldU);
Utilisateurs.Add(newU);
return true;
}
}
}