Exemplo n.º 1
0
        public void AcquireLock(Guid serviceInstanceId, int pinId, int taskId)
        {
            if (pinId == 0)
            {
                return;
            }

            var dateTime = DateTime.Now;

            RetryableOperation.Invoke(ExceptionPolicies.General,
                                      () =>
            {
                // Check whether lock already exists
                var timerLock = _timerLockRepository.FirstOrDefault(x => x.LockedInstance == serviceInstanceId && x.LockedPin == pinId);

                if (timerLock == null)
                {
                    // Create new lock
                    var newLock = new TimerLock
                    {
                        LockedInstance = serviceInstanceId,
                        LockedPin      = pinId,
                        TaskId         = taskId,
                        InsertedBy     = _userIdentity.Name,
                        InsertedDate   = dateTime,
                        UpdatedBy      = _userIdentity.Name,
                        UpdatedDate    = dateTime
                    };

                    _timerLockRepository.Insert(newLock);
                    _unitOfWork.Save();
                }
            });
        }
Exemplo n.º 2
0
        public void TimerLockService_Update_CallsUpdateAndUnitOfWorkSave()
        {
            #region Arrange

            var timerLock = new TimerLock
            {
                Id        = 1,
                LockedPin = 23456,
            };

            #endregion

            #region Act

            _timerLockService.Update(timerLock);

            #endregion

            #region Assert

            _mockTimerLockRepository.Verify(x => x.Update(It.IsAny <TimerLock>()), Times.Once);
            _mockUnitOfWork.Verify(x => x.Save(), Times.Once);

            #endregion
        }
Exemplo n.º 3
0
        public void TimerLockService_Create_CallsInsertAndUnitOfWorkSave()
        {
            #region Arrange

            var timerLock = new TimerLock
            {
                Id             = 1,
                LockedInstance = new Guid(),
                LockedPin      = 12345,
                TaskId         = 1,
                InsertedBy     = UserName,
                InsertedDate   = _dateTime,
                UpdatedBy      = UserName,
                UpdatedDate    = _dateTime
            };

            #endregion

            #region Act

            var response = _timerLockService.Create(timerLock);

            #endregion

            #region Assert

            _mockTimerLockRepository.Verify(x => x.Insert(It.IsAny <TimerLock>()), Times.Once());
            _mockUnitOfWork.Verify(x => x.Save(), Times.Once);

            #endregion
        }
Exemplo n.º 4
0
 public void Delete(TimerLock entity)
 {
     RetryableOperation.Invoke(ExceptionPolicies.General,
                               () =>
     {
         _timerLockRepository.Delete(entity);
         _unitOfWork.Save();
     });
 }
Exemplo n.º 5
0
 public int Create(TimerLock entity)
 {
     RetryableOperation.Invoke(ExceptionPolicies.General,
                               () =>
     {
         _timerLockRepository.Insert(entity);
         _unitOfWork.Save();
     });
     return(entity.Id);
 }
Exemplo n.º 6
0
        public TimerLock GetById(int id)
        {
            TimerLock result = null;

            RetryableOperation.Invoke(ExceptionPolicies.General,
                                      () =>
            {
                result = _timerLockRepository.GetById(id);
            });
            return(result);
        }
Exemplo n.º 7
0
        public void TimerLockService_Delete_ByEntity_CallsDeleteAndUnitOfWorkSave()
        {
            #region Arrange

            var timerLock = new TimerLock
            {
                Id = 1
            };

            #endregion

            #region Act

            _timerLockService.Delete(timerLock);

            #endregion

            #region Assert

            _mockTimerLockRepository.Verify(x => x.Delete(It.IsAny <TimerLock>()), Times.Once());
            _mockUnitOfWork.Verify(x => x.Save(), Times.Once);

            #endregion
        }