Exemple #1
0
 private QueamQueser(Queam queam, Queser queser, QueamQueserRole role) : this()
 {
     Id     = Guid.NewGuid();
     Queam  = queam;
     Queser = queser;
     Role   = role;
 }
Exemple #2
0
 private Queam(String name, Queser creator) : this()
 {
     Id           = Guid.NewGuid();
     Name         = name;
     QueamQuesers = new List <QueamQueser> {
         QueamQueser.CreateCreator(this, creator)
     };
     Ques = new List <Que>();
 }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
 public QueamQueser FindMember(Queser queser) => QueamQuesers.Find(qq => qq.Queser.Id == queser.Id);
Exemple #6
0
 public static Queam Create(String name, Queser creator)
 {
     return(new Queam(name, creator));
 }
Exemple #7
0
 public static QueamQueser CreateCreator(Queam queam, Queser queser)
 {
     return(new QueamQueser(queam, queser, QueamQueserRole.Creator));
 }
Exemple #8
0
 public static QueamQueser Create(Queam queam, Queser queser, QueamQueserRole role)
 {
     return(new QueamQueser(queam, queser, role));
 }