示例#1
0
        public IHttpActionResult DepositHGSCard(DepositCard req)
        {
            try
            {
                if (!CacheManager.HGSCardList.Any(x => x.CardNo == req.CardNo))
                {
                    response.IsSuccess = false;
                    response.Message   = "Kart bilgisi bulunamadı.";
                    return(Json(response));
                }
                if (req.PaymentPrice < 0)
                {
                    response.IsSuccess = false;
                    response.Message   = "Geçersiz bir işlem yürütüldü.";
                    return(Json(response));
                }

                HGSCard card = CacheManager.HGSCardList.Find(x => x.CardNo == req.CardNo);
                card.Balance += req.PaymentPrice;

                CacheManager.PaymentList.Add(new Payment()
                {
                    Card        = card,
                    PaymentDate = DateTime.Now,
                    PaymentType = req.PaymentType
                });

                response.IsSuccess = true;
                response.Message   = $"Yükleme başarıyla gerçekleştirildi. Hesabınıza {req.PaymentPrice} TL bakiye yüklendi.";
                return(Json(response));
            }
            catch (Exception)
            {
                response.IsSuccess = false;
                response.Message   = "Girdiğiniz bilgilerin doğruluğunu kontrol ediniz.";
                return(Json(response));
            }
        }
示例#2
0
        private static Card GetCard(User user, BankServerContext context)
        {
            try
            {
                Console.Write("New card number: ");
                string cardNum = Console.ReadLine();
                if (!cardNum.All(char.IsDigit) || cardNum.Length < 4)
                {
                    Console.WriteLine("Invalid card number. Must be only numbers and no less than 4 digits.");
                    return(null);
                }
                if (context.Card.FirstOrDefault(card => card.CardNum == cardNum) != null)
                {
                    Console.WriteLine("Card already exists.");
                    return(null);
                }
                Console.Write("Enter balance: ");
                int balance = Int32.Parse(Console.ReadLine());

                Console.Write("Enter pin: ");
                string pin = Console.ReadLine();
                if (!pin.All(char.IsDigit) || pin.Length != 4)
                {
                    Console.WriteLine("Invalid pin. Must be only numbers and 4 digits.");
                    return(null);
                }

                Console.Write("Enter card type (checking, credit, deposit): ");
                string type = Console.ReadLine();
                switch (type)
                {
                case "checking":
                    CheckingCard card = new CheckingCard();
                    card.CardNum     = cardNum;
                    card.CardUser    = user;
                    card.UserId      = user.UserId;
                    card.DateCreated = DateTime.Now;
                    card.Balance     = balance;
                    card.Pin         = ComputeSha256Hash(pin);
                    return(card);

                case "credit":
                    CreditCard crCard = new CreditCard();
                    crCard.CardNum     = cardNum;
                    crCard.CardUser    = user;
                    crCard.UserId      = user.UserId;
                    crCard.DateCreated = DateTime.Now;
                    crCard.OwnMoney    = balance;
                    Console.Write("Enter credit limit: ");
                    int limit = Int32.Parse(Console.ReadLine());
                    crCard.Limit = limit;
                    crCard.Pin   = ComputeSha256Hash(pin);
                    return(crCard);

                case "deposit":
                    DepositCard dpCard = new DepositCard();
                    dpCard.CardNum     = cardNum;
                    dpCard.CardUser    = user;
                    dpCard.UserId      = user.UserId;
                    dpCard.DateCreated = DateTime.Now;
                    dpCard.Balance     = balance;
                    dpCard.Pin         = ComputeSha256Hash(pin);
                    return(dpCard);

                default:
                    Console.Write("Not found");
                    return(null);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Error.");
                return(null);
            }
        }