Ejemplo n.º 1
0
 public Merchant GetMerchant(string emailAddress, string password)
 {
     using (var contex = new CheckoutDBContext(_connectionString))
     {
         return(contex.Merchant.FirstOrDefaultAsync(m => m.Email.ToLower().Equals(emailAddress.ToLower()) && m.Password.Equals(password)).GetAwaiter().GetResult());
     }
 }
Ejemplo n.º 2
0
 public void AddMerchant(Merchant merchant)
 {
     using (var contex = new CheckoutDBContext(_connectionString))
     {
         contex.Merchant.Add(merchant);
         contex.SaveChanges();
     }
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Get a card transaction with transaction code
        /// </summary>
        /// <param name="transactionCode"></param>
        /// <returns></returns>
        public CardTransaction GetCardTransaction(string transactionCode)
        {
            using (var context = new CheckoutDBContext(_connectionString))
            {
                var tr = context.CardTransaction
                         .Include(o => o.TemporaryTransaction)
                         .FirstOrDefault(o => o.TransctionCode == transactionCode);

                return(tr);
            }
        }
Ejemplo n.º 4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="id"></param>
 /// <param name="newStatus"></param>
 public void UpdateTemporaryTransactionPaymentStatus(long id, string newStatus)
 {
     using (var contex = new CheckoutDBContext(_connectionString))
     {
         var temporaryTransaction = contex.TemporaryTransaction.Find(id);
         temporaryTransaction.PaymentStatus       = newStatus;
         temporaryTransaction.ModifyDate          = DateTime.Now;
         contex.Entry(temporaryTransaction).State = EntityState.Modified;
         contex.SaveChanges();
     }
 }
Ejemplo n.º 5
0
 public MerchantProfile GetMerchantProfile(long id)
 {
     using (var contex = new CheckoutDBContext(_connectionString))
     {
         return(contex.MerchantProfile
                .Include(o => o.Merchant)
                .FirstOrDefaultAsync(m => m.Id.Equals(id))
                .GetAwaiter()
                .GetResult());
     }
 }
Ejemplo n.º 6
0
        /// <summary>
        /// Load a temporary transaction with transaction code
        /// </summary>
        /// <param name="transactionCode"></param>
        /// <returns></returns>
        public TemporaryTransaction GetTemporaryTransaction(string transactionCode)
        {
            using (var context = new CheckoutDBContext(_connectionString))
            {
                // contex.Configuration.LazyLoadingEnabled = true;
                var tr = context.TemporaryTransaction
                         .Include(o => o.MerchantProfile)
                         .ThenInclude(o => o.MerchantProfilesPaymentMethods)
                         .ThenInclude(o => o.PaymentMethod)
                         .FirstOrDefault(o => o.TransctionCode == transactionCode);

                return(tr);
            }
        }
Ejemplo n.º 7
0
        public List <TemporaryTransaction> GetPayments(long profileId, int limit = 20)
        {
            using (var context = new CheckoutDBContext(_connectionString))
            {
                var transactions = context.TemporaryTransaction
                                   .Include(o => o.MerchantProfile)
                                   .ThenInclude(o => o.MerchantProfilesPaymentMethods)
                                   .ThenInclude(o => o.PaymentMethod)
                                   .Where(t => t.MerchantProfile.Id == profileId)
                                   .OrderByDescending(t => t.InsertDate);


                return(transactions.Take(limit).ToList());
            }
        }
Ejemplo n.º 8
0
        public PaymentResponse CreatePayment(TemporaryTransaction temporaryTransaction)
        {
            using (var contex = new CheckoutDBContext(_connectionString))
            {
                contex.TemporaryTransaction.Attach(temporaryTransaction);
                contex.Entry(temporaryTransaction).State = EntityState.Added;
                contex.SaveChanges();
            }

            PaymentResponse paymentResponse = temporaryTransaction.ToPaymentResponse();

            paymentResponse.CheckoutUrl = Tools.GetCheckoutUrl(_configuration, temporaryTransaction.TransctionCode);

            return(paymentResponse);
        }
Ejemplo n.º 9
0
        public void AddTransaction(CardTransaction cardTransaction)
        {
            using (var contex = new CheckoutDBContext(_connectionString))
            {
                var temporaryTransaction = cardTransaction.TemporaryTransaction;
                temporaryTransaction.PaymentStatus       = PaymentStatus.Paid;
                temporaryTransaction.ModifyDate          = DateTime.Now;
                contex.Entry(temporaryTransaction).State = EntityState.Modified;
                contex.TemporaryTransaction.Update(temporaryTransaction);

                contex.CardTransaction.Attach(cardTransaction);
                contex.Entry(cardTransaction).State = EntityState.Added;
                contex.SaveChanges();
            }
        }
Ejemplo n.º 10
0
 public EditModel(CheckoutDBContext checkcontext)
 {
     _checkOutdbcontext = checkcontext;
 }
Ejemplo n.º 11
0
 public CheckoutController(CheckoutDBContext context)
 {
     _context = context;
 }
Ejemplo n.º 12
0
 public CustomerModel(CheckoutDBContext checkcontext)
 {
     _checkOutdbcontext = checkcontext;
 }
Ejemplo n.º 13
0
 /// <summary>
 /// EF repository pattern constructor
 /// </summary>
 /// <param name="DB Context"></param>
 public EFRepository(CheckoutDBContext context)
 {
     Context = context ?? throw new ArgumentNullException(nameof(context));
 }