/// <summary> /// Create a new transaction in repository. /// </summary> /// <param name="transaction"></param> /// <returns></returns> public async Task <TransactionDb> AddAsync(TransactionDb transaction) { _videoDbContext.Transactions.Add(transaction); await _videoDbContext.SaveChangesAsync().ConfigureAwait(false); return(await Task.FromResult(transaction)); }
/// <summary> /// Update transaction in repository. /// </summary> /// <param name="transaction"></param> /// <returns></returns> public void Update(TransactionDb transaction) { if (transaction == null) { throw new ArgumentNullException("transaction"); } _videoDbContext.Entry(transaction).State = EntityState.Modified; _videoDbContext.SaveChanges(); }
/// <summary> /// Remove transaction in repository. /// </summary> /// <param name="transaction"></param> /// <returns></returns> public async Task RemoveAsync(TransactionDb transaction) { if (transaction == null) { throw new ArgumentNullException("transaction"); } _videoDbContext.Transactions.Remove(transaction); await _videoDbContext.SaveChangesAsync().ConfigureAwait(false); }
/// <summary> /// Update transaction in repository. /// </summary> /// <param name="transaction"></param> /// <returns></returns> public async Task <TransactionDb> UpdateAsync(TransactionDb transaction) { if (transaction == null) { throw new ArgumentNullException("transaction"); } _videoDbContext.Entry(transaction).State = EntityState.Modified; await _videoDbContext.SaveChangesAsync().ConfigureAwait(false); return(await Task.FromResult(transaction)); }
/// <summary> /// Add Subscription to user. /// </summary> /// <param name="user"></param> /// <param name="subscription"></param> /// <returns></returns> public Task <Result> BuySubscription(UserInfo user, Subscription subscription) { double price = 0; switch (subscription) { case (Subscription.Normal): { price = 3.50; break; } case (Subscription.Premium): { price = 5.50; break; } } if (price > 0) { var userDb = _mapper.Map <UserInfo, UserDb>(user); var transaction = new TransactionDb() { TransactionId = Guid.NewGuid().ToString(), TransactionDate = DateTime.Now, TransactionAmount = price, User = userDb }; bool pay = PaiPal(user, price); if (pay == true) { _userRepository.AddTransaction(transaction); } return(Task.FromResult(Result.Ok())); } else { return(Task.FromResult(Result.Fail("you need to pay for subscription"))); } }
/// <summary> /// Add purchased courses to user. /// </summary> /// <param name="user"></param> /// <param name="course"></param> /// <returns></returns> public Task <Result> BuySingleCourse(UserInfo user, CourseInfo course) { double price = course.Price; var userDb = _mapper.Map <UserInfo, UserDb>(user); var courseDb = _mapper.Map <CourseInfo, CourseDb>(course); var transaction = new TransactionDb() { TransactionId = Guid.NewGuid().ToString(), TransactionDate = DateTime.Now, TransactionAmount = price, User = userDb }; bool pay = PaiPal(user, price); if (pay == true) { _userRepository.AddTransaction(transaction); } return(Task.FromResult(Result.Ok())); }
/// <summary> /// Remove transaction in repository. /// </summary> /// <param name="transaction"></param> /// <returns></returns> public void Remove(TransactionDb transaction) { _videoDbContext.Transactions.Remove(transaction); _videoDbContext.SaveChanges(); }
/// <summary> /// Create a new transaction in repository. /// </summary> /// <param name="transaction"></param> /// <returns></returns> public void Add(TransactionDb transaction) { _videoDbContext.Transactions.Add(transaction); _videoDbContext.SaveChanges(); }
public TransactionsController(TransactionDb transactionDb) { db = transactionDb; }
public UploadFileController(TransactionDb transactionDb) { db = transactionDb; }
public void Dispose() { ConnectionDb?.Dispose(); TransactionDb?.Dispose(); }
public ChainManager() { blockDb = new BlockDb(); transactionDb = new TransactionDb(blockDb); }