Ejemplo n.º 1
0
        private static void Main(string[] args)
        {
            using (var dbContext = new AtmEntities())
            {
                var userRepo = new CardHolderRepository(dbContext);
                var cardAccountRepo = new CardAccountRepository(dbContext);
                var transactionHystoryRepo = new TransactionHistoryRepository(dbContext);
                var consoleHandler = ConsoleHandler.Instance;
                FakeDataFiller.FillCardHoldersWithFakeData(dbContext, userRepo);
                dbContext.SaveChanges();
                consoleHandler.PrintLine("Card holders faking finished.");
                var cardHoldersIds = userRepo.GetAll().Select(u => u.Id).ToList();
                FakeDataFiller.FillCardAccountsWithFakeData(dbContext, cardAccountRepo, cardHoldersIds);
                dbContext.SaveChanges();
                consoleHandler.PrintLine("Card accounts faking finished.");

                var card = GetCredentials(cardAccountRepo);
                if (card != null)
                {
                    if(WithdrawSum(dbContext, cardAccountRepo, transactionHystoryRepo, card))
                    {
                        consoleHandler.PrintLine("Withdraw successful.");
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private static void Main(string[] args)
        {
            using (var dbContext = new AtmEntities())
            {
                var userRepo               = new CardHolderRepository(dbContext);
                var cardAccountRepo        = new CardAccountRepository(dbContext);
                var transactionHystoryRepo = new TransactionHistoryRepository(dbContext);
                var consoleHandler         = ConsoleHandler.Instance;
                FakeDataFiller.FillCardHoldersWithFakeData(dbContext, userRepo);
                dbContext.SaveChanges();
                consoleHandler.PrintLine("Card holders faking finished.");
                var cardHoldersIds = userRepo.GetAll().Select(u => u.Id).ToList();
                FakeDataFiller.FillCardAccountsWithFakeData(dbContext, cardAccountRepo, cardHoldersIds);
                dbContext.SaveChanges();
                consoleHandler.PrintLine("Card accounts faking finished.");

                var card = GetCredentials(cardAccountRepo);
                if (card != null)
                {
                    if (WithdrawSum(dbContext, cardAccountRepo, transactionHystoryRepo, card))
                    {
                        consoleHandler.PrintLine("Withdraw successful.");
                    }
                }
            }
        }
Ejemplo n.º 3
0
 public void DeleteTransaction(int id)
 {
     //unitOfWork.StartTransaction();
     TransactionHistoryRepository repo = new TransactionHistoryRepository(unitOfWork);
     repo.Delete(x => x.CartId == id);
     //unitOfWork.Commit();
 }
Ejemplo n.º 4
0
        public TransactionResponse RecordTransaction(int bookingId,
                                                     int accountId)
        {
            //this method allows the closed booking to be recorded as a
            //transaction using the users payment method

            //bring in the users account, payment method and booking
            var closedBooking = BookingRepository.Find(bookingId);
            var paymentMethod =
                PaymentMethodRepository.Find(closedBooking.AccountID);
            var userAccount = UserRepository.Find(closedBooking.AccountID);

            //error check to make sure a payment method has been supplied
            if (paymentMethod == null)
            {
                return new TransactionResponse
                       {
                           Message =
                               "Payment method for account " +
                               $"{closedBooking.AccountID} does not exist.",
                           Success = false
                       }
            }
            ;

            //error check to make sure user does exist
            if (userAccount == null)
            {
                return new TransactionResponse
                       {
                           Message =
                               $"The user with ID " +
                               $"{closedBooking.AccountID} does not exist.",
                           Success = false
                       }
            }
            ;

            //bundle a new transaction with neccessary values and add tsx
            var tsx = new TransactionHistory
            {
                BookingID         = bookingId,
                TransactionDate   = DateTime.Now,
                TransactionStatus = Constants.TransactionClearedStatus,
                PaymentMethod     = paymentMethod.CardType,
                PaymentAmount     = closedBooking.AmountBilled
            };

            TransactionHistoryRepository.Add(tsx);

            //return a successful transaction
            return(new TransactionResponse
            {
                Success = true,
                Message =
                    "Transaction history has been " +
                    $"recorded for booking {bookingId}"
            });
        }
Ejemplo n.º 5
0
        private async Task <bool> ProcessPayment(CheckoutViewModel viewModel, User user, decimal transactionAmount, List <Team> teams)
        {
            bool success = true;

            var connectionInfo = new ConnectionInformation
            {
                AppKey    = AppSettings.Payment.ClientId,
                AppSecret = AppSettings.Payment.ClientSecret,
                Url       = AppSettings.Payment.BaseUrl
            };

            var paymentInfo = new PaymentInformation
            {
                FirstName        = viewModel.CcInfo.FirstName,
                LastName         = viewModel.CcInfo.LastName,
                Address1         = viewModel.CcInfo.Address,
                City             = viewModel.CcInfo.City,
                State            = viewModel.CcInfo.State,
                PostalCode       = viewModel.CcInfo.PostalCode,
                Country          = viewModel.CcInfo.CountryCode,
                PhoneNumber      = user.PhoneNumber,
                EmailAddress     = user.Email,
                CreditCardNumber = viewModel.CcInfo.CardNumber,
                ExpirationDate   = new DateTime(viewModel.CcInfo.Year, viewModel.CcInfo.Month, 1),
                Csc = viewModel.CcInfo.Cvv,
                TransactionAmount = transactionAmount,
            };

            ITransactionResponse response = await PaymentService.ProcessPaymentAsync(connectionInfo, paymentInfo);

            if (response != null && response.IsSuccess)
            {
                foreach (Team team in teams)
                {
                    team.PaymentTransactionId = response.TransactionId;
                }
                var transaction = new TransactionHistory()
                {
                    ManagerId       = Convert.ToInt32(User.FindFirstValue(ClaimTypes.NameIdentifier)),
                    Amount          = transactionAmount,
                    PaymentStatus   = response.PaymentStatus,
                    TransactionDate = response.TransactionDate,
                    TransactionId   = response.TransactionId
                };

                await TeamRepository.SaveAsync();

                TransactionHistoryRepository.InsertOrUpdate(transaction);
                await TransactionHistoryRepository.SaveAsync();
            }
            else
            {
                success = false;
                // need to log full response that came back
            }

            return(success);
        }
Ejemplo n.º 6
0
 public void Dispose()
 {
     BookingRepository?.Dispose();
     CarRepository?.Dispose();
     CarCategoryRepository?.Dispose();
     UserRepository?.Dispose();
     CityRepository?.Dispose();
     TransactionHistoryRepository?.Dispose();
 }
Ejemplo n.º 7
0
 public AccountService()
 {
     repository             = new AccountRepository();
     userService            = new UserService();
     settingsRepository     = new SettingsRepository();
     planRepository         = new PlanRepository();
     virtualCardRepository  = new VirtualCardRepository();
     transactionsRepository = new TransactionHistoryRepository();
 }
Ejemplo n.º 8
0
 public List<TransactionHistoryModel> GetAllTransactionHistory()
 {
     //unitOfWork.StartTransaction();
     TransactionHistoryRepository repo = new TransactionHistoryRepository(unitOfWork);
     List<TransactionHistoryModel> transactionHistoryModelList = new List<TransactionHistoryModel>();
     List<TransactionHistory> transactionHistoryList = new List<TransactionHistory>();
     AutoMapper.Mapper.Map(transactionHistoryModelList, transactionHistoryList);
     transactionHistoryList = repo.GetAll().OrderByDescending(x=>x.CartId).ToList();
     //unitOfWork.Commit();
     AutoMapper.Mapper.Map(transactionHistoryList, transactionHistoryModelList);
     return transactionHistoryModelList;
 }
Ejemplo n.º 9
0
 public TransactionHistoryModel GetTransactionHistoryByJobId(int jobid)
 {
     //unitOfWork.StartTransaction();
     TransactionHistoryRepository repo = new TransactionHistoryRepository(unitOfWork);
     TransactionHistoryModel transactionHistoryModel = new TransactionHistoryModel();
     //UserLocationModel userLocationModel = new UserLocationModel();
     TransactionHistory transactionHistory = new TransactionHistory();
     AutoMapper.Mapper.Map(transactionHistoryModel, transactionHistory);
     transactionHistory = repo.GetAll().Where(x => x.JobId == jobid && !string.IsNullOrEmpty(x.CustomerEmail)).FirstOrDefault();
     //unitOfWork.Commit();
     AutoMapper.Mapper.Map(transactionHistory, transactionHistoryModel);
     return transactionHistoryModel;
 }
Ejemplo n.º 10
0
 public TransactionHistoryModel GetTransactionHistoryByCartId(int id)
 {
     //unitOfWork.StartTransaction();
     TransactionHistoryRepository repo = new TransactionHistoryRepository(unitOfWork);
     TransactionHistoryModel transactionHistoryModel = new TransactionHistoryModel();
     //UserLocationModel userLocationModel = new UserLocationModel();
     TransactionHistory transactionHistory = new TransactionHistory();
     AutoMapper.Mapper.Map(transactionHistoryModel, transactionHistory);
     transactionHistory = repo.GetAll().Where(x => x.CartId == id).FirstOrDefault();
     //unitOfWork.Commit();
     AutoMapper.Mapper.Map(transactionHistory, transactionHistoryModel);
     return transactionHistoryModel;
 }
Ejemplo n.º 11
0
 public TransactionHistoryModel FindTransactionHistoryByMerchantRegrence(string merchantRegrence)
 {
     //unitOfWork.StartTransaction();
     TransactionHistoryRepository repo = new TransactionHistoryRepository(unitOfWork);
     TransactionHistoryModel transactionHistoryModel = new TransactionHistoryModel();
     //UserLocationModel userLocationModel = new UserLocationModel();
     TransactionHistory transactionHistory = new TransactionHistory();
      AutoMapper.Mapper.Map(transactionHistoryModel, transactionHistory);
     transactionHistory = repo.GetAll().Where(x => x.MerchantReference == merchantRegrence).SingleOrDefault();
     //unitOfWork.Commit();
     AutoMapper.Mapper.Map(transactionHistory, transactionHistoryModel);
     return transactionHistoryModel;
 }
Ejemplo n.º 12
0
        private static bool WithdrawSum(
            AtmEntities dbContext, 
            CardAccountRepository cardAcountRepo,
            TransactionHistoryRepository tarnsactionHystoryRepo, 
            ICardAccount cardAccount)
        {
            var transactionsHandler = new TransactionsHandler(dbContext, cardAcountRepo, tarnsactionHystoryRepo);
            var consoleHandler = ConsoleHandler.Instance;
            consoleHandler.Print("Enter value to withdraw: ");
            var withdrawValueInput = consoleHandler.GetStringInput();
            decimal withdrawValue = new decimal();
            if(!decimal.TryParse(withdrawValueInput, out withdrawValue))
            {
                return false;
            }

            return transactionsHandler.WithdrawTransaction(cardAccount.CardNumber, cardAccount.CardPin, withdrawValue);
        }
Ejemplo n.º 13
0
        private void RecordTransactionHistory(DeleteMultiRoleViewModel model)
        {
            var    _transactionHistoryRepository = new TransactionHistoryRepository();
            string jsonData = JsonConvert.SerializeObject(model);

            var transactionHistory = new TransactionHistory()
            {
                ObjectType  = "ACTIVITY_ROLE",
                ObjectName  = "[BPMDATA].[DEPT_APPROVAL_ROLE]",
                ObjectId    = model.EmpId,
                JsonData    = jsonData,
                CreatedDate = DateTime.Now,
                CreatedBy   = RequestContext.Principal.Identity.Name
            };

            _transactionHistoryRepository.Add(transactionHistory);
            _transactionHistoryRepository.Commit();
        }
Ejemplo n.º 14
0
        /* Record employee change log */
        private void RecordTransactionHistory(ServiceResponseMsg message)
        {
            var    _transactionHistoryRepository = new TransactionHistoryRepository();
            string jsonData = JsonConvert.SerializeObject(message);
            var    employee = (Employee)message.obj;

            var transactionHistory = new TransactionHistory()
            {
                ObjectType  = "EMPLOYEE",
                ObjectName  = "[HR].[EMPLOYEE]",
                ObjectId    = (employee != null) ? employee.Id : 0,
                JsonData    = jsonData,
                CreatedDate = DateTime.Now,
                CreatedBy   = RequestContext.Principal.Identity.Name
            };

            _transactionHistoryRepository.Add(transactionHistory);
            _transactionHistoryRepository.Commit();
        }
Ejemplo n.º 15
0
        private static bool WithdrawSum(
            AtmEntities dbContext,
            CardAccountRepository cardAcountRepo,
            TransactionHistoryRepository tarnsactionHystoryRepo,
            ICardAccount cardAccount)
        {
            var transactionsHandler = new TransactionsHandler(dbContext, cardAcountRepo, tarnsactionHystoryRepo);
            var consoleHandler      = ConsoleHandler.Instance;

            consoleHandler.Print("Enter value to withdraw: ");
            var     withdrawValueInput = consoleHandler.GetStringInput();
            decimal withdrawValue      = new decimal();

            if (!decimal.TryParse(withdrawValueInput, out withdrawValue))
            {
                return(false);
            }

            return(transactionsHandler.WithdrawTransaction(cardAccount.CardNumber, cardAccount.CardPin, withdrawValue));
        }
Ejemplo n.º 16
0
        private async Task UpdateFreeTransaction(List <Team> teams)
        {
            DateTime transactionId       = DateTime.Now;
            string   transactionIdString = transactionId.ToString("yyyyMMddHHmmssfff");

            foreach (var team in teams)
            {
                team.PaymentTransactionId = transactionIdString;
            }
            var transaction = new TransactionHistory()
            {
                ManagerId       = Convert.ToInt32(User.FindFirstValue(ClaimTypes.NameIdentifier)),
                Amount          = 0,
                PaymentStatus   = "Processed",
                TransactionDate = transactionId,
                TransactionId   = transactionIdString
            };

            await TeamRepository.SaveAsync();

            TransactionHistoryRepository.InsertOrUpdate(transaction);
            await TransactionHistoryRepository.SaveAsync();
        }
Ejemplo n.º 17
0
 public static Object getAllTransactionHistoryById(int userId)
 {
     return(TransactionHistoryRepository.getAllTransactionHistoryById(userId));
 }
Ejemplo n.º 18
0
 public TransactionHistoryModel InsertTransactionHistory(TransactionHistoryModel transactionHistoryModel)
 {
     //unitOfWork.StartTransaction();
     TransactionHistoryRepository repo = new TransactionHistoryRepository(unitOfWork);
     //UserLocationModel userLocationModel = new UserLocationModel();
     TransactionHistory transactionHistory = new TransactionHistory();
     AutoMapper.Mapper.Map(transactionHistoryModel, transactionHistory);
     transactionHistory = repo.Insert(transactionHistory);
     //unitOfWork.Commit();
     AutoMapper.Mapper.Map(transactionHistory, transactionHistoryModel);
     return transactionHistoryModel;
 }
Ejemplo n.º 19
0
 public List<TransactionHistoryModel> Paging(PagingModel model)
 {
     //unitOfWork.StartTransaction();
     TransactionHistoryRepository repo = new TransactionHistoryRepository(unitOfWork);
     List<TransactionHistoryModel> transactionHistoryModelList = new List<TransactionHistoryModel>();
     List<TransactionHistory> transactionHistoryList = new List<TransactionHistory>();
     //ResponseMessage responseMessage = new ResponseMessage();
     //PagingInfo Info = new PagingInfo();
     string searchparam = model.SearchText == null ? "" : model.SearchText;
     transactionHistoryList = repo.GetAll().Where(x => !string.IsNullOrEmpty(x.CustomerEmail) && x.CustomerEmail.ToLower().Contains(searchparam.ToLower())).OrderByDescending(x=>x.CartId).ToList();
     //unitOfWork.Commit();
     AutoMapper.Mapper.Map(transactionHistoryList, transactionHistoryModelList);
     return transactionHistoryModelList;
 }
Ejemplo n.º 20
0
        public TransactionHistoryModel UpdateTransactionHistory(TransactionHistoryModel transactionHistoryModel)
        {
            //unitOfWork.StartTransaction();
            TransactionHistoryRepository repo = new TransactionHistoryRepository(unitOfWork);
            //UserLocationModel userLocationModel = new UserLocationModel();
            TransactionHistory transactionHistory = new TransactionHistory();

            transactionHistory = repo.GetAll().Where(x => x.CartId == transactionHistoryModel.CartId).SingleOrDefault();

            transactionHistoryModel.CartId = transactionHistory.CartId;
            AutoMapper.Mapper.Map(transactionHistoryModel, transactionHistory);
            repo.Update(transactionHistory);
            //unitOfWork.Commit();
            AutoMapper.Mapper.Map(transactionHistory, transactionHistoryModel);
            return transactionHistoryModel;
        }
 public TransactionHistoryService()
 {
     historyRepository = new TransactionHistoryRepository();
     accountService    = new AccountService();
 }
Ejemplo n.º 22
0
 public static Object getAllTransactionHistory()
 {
     return(TransactionHistoryRepository.getAllTransactionHistory());
 }