public Projet CreerProjet([NotNull] string nom) { var projet = new Projet(nom); RecevoirProjet(projet, Modeles.Acces.Droit.Possession); return(projet); }
public Acces(Projet projet, Utilisateur utilisateur) { Projet = projet; Utilisateur = utilisateur; }
/// <param name="utilisateur">L'utilisateur pouvant accéder au projet.</param> /// <param name="projet">Le projet auquel l'utilisateur peut accéder.</param> /// <param name="droit">Le droit d'accès.</param> public Acces([NotNull] Projet projet, [NotNull] Utilisateur utilisateur, Droit droit) { Projet = projet; Utilisateur = utilisateur; DroitDAcces = droit; }
public bool PeutModifier([NotNull] Projet projet) => throw new System.NotImplementedException();
public bool EstPropietaireDe([NotNull] Projet projet) { var acces = Acces.FirstOrDefault(_acces => _acces.Projet.Id == projet.Id); return(acces is Acces && acces.EstPropriétaire); }
/// <summary></summary> /// <param name="projet"></param> /// <remarks>Si l'utilisateur n'est pas track par <see cref="DatabaseContext"/>, il est impossible de supprimer ses acces. De plus, si le projet est possédé par l'utilisateur et qu'une suppression du projet est désirée, il faut /// indiqué au <see cref="DatabaseContext"/> de le retirer explicitement. Sinon, l'utilisateur perdra l'accès au /// projet, mais les autres utilisateurs en auront toujours une copie.</remarks> public void RetirerProjet([NotNull] Projet projet) { var acces = Acces.SingleOrDefault(a => a.Projet == projet); _Acces.Remove(acces); }
/// <summary></summary> /// <param name="projet"></param> public void RecevoirProjet([NotNull] Projet projet, Acces.Droit droit) => _Acces.Add(new Acces(projet, this, droit));