Ejemplo n.º 1
0
 void ProcessContestRight(ContestRights contestAllow, ContestRights contestDeny, SystemRights systemAllow, SystemRights baseRights,
                          ContestRights concreteRights, ref ContestRights cr)
 {
     if ((baseRights & systemAllow) != 0)
     {
         if ((concreteRights & contestDeny) != 0)
         {
             cr |= contestDeny;
         }
         else
         {
             cr |= contestAllow;
         }
     }
     else
     {
         if ((concreteRights & contestAllow) != 0)
         {
             cr |= contestAllow;
         }
         else
         {
             cr |= contestDeny;
         }
     }
 }
Ejemplo n.º 2
0
        public ContestRights GetContestRights(int contestID)
        {
            ContestRights cr             = ContestRights.None;
            ContestRights concreteRights = DataProvider.Provider.UserManager.GetRegistration(id, contestID).Rights;

            for (int i = 1; i <= 16384; i *= 4)
            {
                ProcessContestRight((ContestRights)i, (ContestRights)(i * 2), (SystemRights)i, systemRights, concreteRights, ref cr);
            }
            return(cr);
        }
Ejemplo n.º 3
0
        public ProblemRights GetProblemRights(int problemID)
        {
            ProblemRights pr             = ProblemRights.None;
            ContestRights baseRights     = GetContestRights(Problem.GetProblem(problemID).ContestID);
            ProblemRights concreteRights = DataProvider.Provider.UserManager.GetProblemRights(id, problemID);

            for (int i = 1; i <= 1024; i *= 4)
            {
                ProceeProblemRight((ProblemRights)i, (ProblemRights)(i * 2), (ContestRights)i, baseRights, concreteRights, ref pr);
            }
            return(pr);
        }
 public ContestRegistration(ContestRights rights, bool isInvisible)
 {
     Rights      = rights;
     IsInvisible = isInvisible;
 }
Ejemplo n.º 5
0
 void ProceeProblemRight(ProblemRights problemAllow, ProblemRights problemDeny, ContestRights contestAllow, ContestRights baseRights,
                         ProblemRights concreteRights, ref ProblemRights pr)
 {
     if ((baseRights & contestAllow) != 0)
     {
         if ((concreteRights & problemDeny) != 0)
         {
             pr |= problemDeny;
         }
         else
         {
             pr |= problemAllow;
         }
     }
     else
     {
         if ((concreteRights & problemAllow) != 0)
         {
             pr |= problemAllow;
         }
         else
         {
             pr |= problemDeny;
         }
     }
 }