Beispiel #1
0
 private void FixObject(Item obj)
 {
     Semaphore.WaitOne();
     obj.Fix(TimeToFix);
     SemCount = Semaphore.Release();
     IsFree?.Invoke(this);
 }
Beispiel #2
0
 private void PayMoney(Item obj)
 {
     Semaphore.WaitOne();
     obj.RecieveMoneyForInsurance(TimeToGiveMoney);
     SemCount = Semaphore.Release();
     IsFree?.Invoke(this);
 }
Beispiel #3
0
 public override int GetHashCode()
 {
     unchecked {
         const int randomPrime = 397;
         int       hashCode    = Id.GetHashCode();
         hashCode = (hashCode * randomPrime) ^ (FullDocumentFileName != null ? FullDocumentFileName.GetHashCode() : 0);
         hashCode = (hashCode * randomPrime) ^ (FreeSnippetFileName != null ? FreeSnippetFileName.GetHashCode() : 0);
         hashCode = (hashCode * randomPrime) ^ (OriginalFileName != null ? OriginalFileName.GetHashCode() : 0);
         hashCode = (hashCode * randomPrime) ^ (Title != null ? Title.GetHashCode() : 0);
         hashCode = (hashCode * randomPrime) ^ (Description != null ? Description.GetHashCode() : 0);
         hashCode = (hashCode * randomPrime) ^ (Degree != null ? Degree.GetHashCode() : 0);
         hashCode = (hashCode * randomPrime) ^ (CourseName != null ? CourseName.GetHashCode() : 0);
         hashCode = (hashCode * randomPrime) ^ (CourseCode != null ? CourseCode.GetHashCode() : 0);
         hashCode = (hashCode * randomPrime) ^ (Year != null ? Year.GetHashCode() : 0);
         hashCode = (hashCode * randomPrime) ^ UniversityId.GetHashCode();
         hashCode = (hashCode * randomPrime) ^ UploadedBy.GetHashCode();
         hashCode = (hashCode * randomPrime) ^ UploadedAt.GetHashCode();
         hashCode = (hashCode * randomPrime) ^ (DeletedAt != null ? DeletedAt.GetHashCode() : 0);
         hashCode = (hashCode * randomPrime) ^ IsFree.GetHashCode();
         hashCode = (hashCode * randomPrime) ^ (IsApproved != null ? IsApproved.GetHashCode() : 0);
         hashCode = (hashCode * randomPrime) ^ (Hash != null ? Hash.GetHashCode() : 0);
         hashCode = (hashCode * randomPrime) ^ (MinHashSignature != null ? MinHashSignature.GetHashCode() : 0);
         hashCode = (hashCode * randomPrime) ^ CategoryId.GetHashCode();
         return(hashCode);
     }
 }
        /// <summary>
        /// Получение хэша для группировки допуслуг.
        /// Группировка производится относительноп пассажира и данных допуслуги
        /// </summary>
        /// <returns>Хэш группировки</returns>
        public int ComputeGroupingHashCode()
        {
            // Если в клиентском коде не была указана ссылка на пассажира, заваливаем вычесление
            // т.к. без указания ссылки на пассажира хэш не будет валидным
            if (TravellerRef.Count == 0)
            {
                throw new ArgumentException("TravellerRef");
            }

            if (Name == null)
            {
                throw new ArgumentException("Name");
            }

            if (RFIC == null)
            {
                throw new ArgumentException("RFIC");
            }

            if (RFISC == null)
            {
                throw new ArgumentException("RFISC");
            }

            if (CompanyCode == null)
            {
                throw new ArgumentException("CompanyCode");
            }

            unchecked
            {
                var hash =
                    TravellerRef[0] +
                    Name.GetHashCode() +
                    RFIC.GetHashCode() +
                    RFISC.GetHashCode() +
                    IsFree.GetHashCode() +
                    Status.GetHashCode() +
                    CompanyCode.GetHashCode();

                if (SSRCode != null)
                {
                    hash += SSRCode.GetHashCode();
                }

                if (SSRText != null)
                {
                    hash += SSRText.GetHashCode();
                }

                if (TypeCode != null)
                {
                    hash += TypeCode.GetHashCode();
                }

                return(hash);
            }
        }
Beispiel #5
0
 public void removeEvents(IValidationEvents ievents)
 {
     EventPromote      -= new Promote(ievents.Promotion);
     EventIsMated      -= new IsMated(ievents.KingIsMated);
     EventIsStaleMated -= new IsStaleMated(ievents.KingIsStaleMated);
     EventIsInCheck    -= new IsInCheck(ievents.KingIsInCheck);
     EventIsFree       -= new IsFree(ievents.KingIsFree);
     EventMovePiece    -= new movePiece(ievents.updateBoard);
 }
Beispiel #6
0
 public void addEvents(IValidationEvents ievents)
 {
     EventPromote      += new Promote(ievents.Promotion);
     EventIsMated      += new IsMated(ievents.KingIsMated);
     EventIsStaleMated += new IsStaleMated(ievents.KingIsStaleMated);
     EventIsInCheck    += new IsInCheck(ievents.KingIsInCheck);
     EventIsFree       += new IsFree(ievents.KingIsFree);
     EventIsDone       += new IsDone(ievents.finishedMove);
     EventMovePiece    += new movePiece(ievents.updateBoard);
 }