private QueamQueser(Queam queam, Queser queser, QueamQueserRole role) : this() { Id = Guid.NewGuid(); Queam = queam; Queser = queser; Role = role; }
private Queam(String name, Queser creator) : this() { Id = Guid.NewGuid(); Name = name; QueamQuesers = new List <QueamQueser> { QueamQueser.CreateCreator(this, creator) }; Ques = new List <Que>(); }
public Que CreateNewQue(Queser queser, string title, bool allowMoreThanOnePush = false) { QueamQueser queamQueser = FindMember(queser) ?? throw QuewerException.IsNotQueamMember(); if (queamQueser.Role != QueamQueserRole.Admin && queamQueser.Role != QueamQueserRole.Creator) { throw new QuewerException("Not enough permission"); } var que = new Que(this, title, allowMoreThanOnePush); Ques.Add(que); return(que); }
public QueQueamQueser Push(Queser queser, string comment) { QueamQueser queamQueser = Queam.FindMember(queser) ?? throw QuewerException.IsNotQueamMember(); if (!AllowMoreThanOneActivePush && QueQueamQuesers.Any(qqq => qqq.QueamQueser.Id == queamQueser.Id)) { throw QuewerException.MemberAlreadyInQue(); } var queQueamQueser = QueQueamQueser.Create(this, queamQueser, comment); QueQueamQuesers.Add(queQueamQueser); return(queQueamQueser); }
public QueamQueser FindMember(Queser queser) => QueamQuesers.Find(qq => qq.Queser.Id == queser.Id);
public static Queam Create(String name, Queser creator) { return(new Queam(name, creator)); }
public static QueamQueser CreateCreator(Queam queam, Queser queser) { return(new QueamQueser(queam, queser, QueamQueserRole.Creator)); }
public static QueamQueser Create(Queam queam, Queser queser, QueamQueserRole role) { return(new QueamQueser(queam, queser, role)); }