예제 #1
0
 // 1 opproved -1 disapproved
 public void approveOrDisapprovedOwnership(int decition, Member member)
 {
     lock (OwnersLock)
     {
         foreach (Decision d in owners)
         {
             if (d.username == member.username)
             {
                 d.setDecition(decition);
                 break;
             }
         }
     }
     lock (CounterLock)
     {
         counter--;
     }
     if (isFullfielld())
     {
         lock (doneLock)
         {
             if (!done && checkIfApproved())
             {
                 done = true;
                 makeOwner();
             }
             else
             {
                 //needs to decide if somthing happens in case of
                 //unapproval
                 lock (OwnersLock)
                 {
                     ConnectionStubTemp.UpdateOwnershipRequest(this);
                 }
             }
         }
     }
 }