Exemplo n.º 1
0
        private void UpdateVerificationStatus(Data.OnlineDeposit onlineDeposit, VerificationStatus status, UnverifyReasons?unverifyReason, string remarks)
        {
            if (onlineDeposit == null)
            {
                throw new RegoException(DepositErrors.NotFound.ToString());
            }

            var onlineDepositEntity = new Entities.OnlineDeposit(onlineDeposit);

            var now = _paymentQueries.GetBrandDateTimeOffset(onlineDeposit.BrandId);

            DomainEventBase eventCreated = null;

            if (status == VerificationStatus.Unverified)
            {
                eventCreated = onlineDepositEntity.Unverify(_actorInfoProvider.Actor.UserName, remarks, now, unverifyReason.Value);
            }
            if (status == VerificationStatus.Verified)
            {
                eventCreated = onlineDepositEntity.Verify(_actorInfoProvider.Actor.UserName, remarks, now);
            }

            using (var scope = CustomTransactionScope.GetTransactionScope())
            {
                _repository.SaveChanges();
                _eventBus.Publish(eventCreated);
                scope.Complete();
            }
        }
Exemplo n.º 2
0
 public OnlineDeposit(Guid id,
                      string transactionNumber,
                      OnlineDepositRequest request,
                      OnlineDepositParams depositParams,
                      Guid brandId,
                      DateTimeOffset now)
 {
     if (request.Amount <= 0)
     {
         throw new ArgumentException("Amount must be greater than 0.");
     }
     Data = new Data.OnlineDeposit
     {
         Id                = id,
         BrandId           = brandId,
         PlayerId          = request.PlayerId,
         TransactionNumber = transactionNumber,
         Amount            = request.Amount,
         CreatedBy         = request.RequestedBy,
         Created           = now,
         Status            = OnlineDepositStatus.New,
         Method            = depositParams.Method,
         Channel           = depositParams.Channel,
         MerchantId        = depositParams.MerchantId,
         Currency          = depositParams.Currency,
         Language          = depositParams.Language,
         ReturnUrl         = depositParams.ReturnUrl,
         NotifyUrl         = depositParams.NotifyUrl,
         BonusCode         = request.BonusCode,
         BonusId           = request.BonusId
     };
 }
Exemplo n.º 3
0
 public OnlineDeposit(Data.OnlineDeposit onlineDeposit)
 {
     Data = onlineDeposit;
 }