Exemple #1
0
        public void Handle(DepositSubmitted submittedEvent)
        {
            var repository = _container.Resolve <IReportRepository>();
            var record     = repository.DepositRecords.SingleOrDefault(r => r.DepositId == submittedEvent.DepositId);

            if (record != null)
            {
                throw new RegoException(string.Format("deposit record '{0}' already exists", submittedEvent.DepositId));
            }

            var player = _container.Resolve <PlayerQueries>().GetPlayer(submittedEvent.PlayerId);
            var brand  = _container.Resolve <BrandQueries>().GetBrandOrNull(player.BrandId);

            record = new DepositRecord
            {
                Licensee          = brand != null ? brand.Licensee.Name : null,
                Brand             = brand != null ? brand.Name : null,
                Username          = player != null ? player.Username : null,
                IsInternalAccount = player != null ? player.InternalAccount : true,
                VipLevel          = player != null && player.VipLevel != null ? player.VipLevel.Code : null,
                TransactionId     = submittedEvent.TransactionNumber,
                DepositId         = submittedEvent.DepositId,
                PaymentMethod     = submittedEvent.PaymentMethod,
                Currency          = submittedEvent.CurrencyCode,
                Amount            = submittedEvent.Amount,
                Status            = submittedEvent.DepositType == DepositType.Offline ? OfflineDepositStatus.New.ToString() : OnlineDepositStatus.Processing.ToString(),
                Submitted         = submittedEvent.Submitted,
                SubmittedBy       = submittedEvent.SubmittedBy,
                DepositType       = submittedEvent.DepositType.ToString(),
                BankAccountName   = submittedEvent.BankAccountName,
                BankAccountId     = submittedEvent.BankAccountId,
                BankName          = submittedEvent.BankName,
                BankProvince      = submittedEvent.BankProvince,
                BankBranch        = submittedEvent.BankBranch,
                BankAccountNumber = submittedEvent.BankAccountNumber
            };
            repository.DepositRecords.Add(record);
            repository.SaveChanges();
        }
 public ActionResult ExportDepositReport(DepositRecord filters, string sortColumnName, string sortOrder, string hiddenColumns = null)
 {
     return(ExportReport(_queries.GetDepositRecordsForExport(), filters, sortColumnName, sortOrder, hiddenColumns));
 }