Пример #1
0
 public CardViewModel(BankCard card)
 {
     CardId         = card.Id;
     MaskedNumber   = (card.CardNumber.Substring(12)).PadLeft(12, '*');
     MoneyAdded     = card.MoneyAdded;
     MoneyRetrieved = card.MoneyRetrieved;
 }
 public string BindBankCard(string Guid, WS_BankCard BankCard)
 {
     try
     {
         var accId = GetLoginId(Guid);
         if (accId == 0)
         {
             return("请先登录");
         }
         if (!AccountDAL.IsExistsOpenCardName(accId, BankCard.OpenCardName))
         {
             return("新卡与已存在的开户名不一致");
         }
         if (AccountDAL.IsExistsOpenCardNo(accId, BankCard.CardNo))
         {
             return("该卡号已存在");
         }
         var bankCard = new BankCard
         {
             AccountId    = accId,
             BankName     = BankCard.BankName,
             CardNo       = BankCard.CardNo,
             City         = BankCard.City,
             CityId       = BankCard.CityId,
             OpenCardName = BankCard.OpenCardName,
             Province     = BankCard.Province,
         };
         AccountDAL.BindBankCard(bankCard);
         return("true");
     }
     catch (Exception ex)
     {
         return(ex.Message);
     }
 }
Пример #3
0
        /// <summary>
        /// Update BankCard And With Task State in Processing
        /// If model.TaskState==Success this Method Must Reject
        /// </summary>
        /// <param name="model"></param>
        public IActionResponse <int> Update(BankCard model)
        {
            var response = new ActionResponse <int>();

            var findedBankCard = Find(model.BankCardId);

            if (!findedBankCard.IsSuccessful)
            {
                response.Message = findedBankCard.Message;
            }
            else
            {
                findedBankCard.Result.UpdateWith(new
                {
                    model.AccountNumber,
                    model.BankName,
                    model.CardNumber,
                    model.IsEnable
                });
                _uow.Entry(findedBankCard.Result).State = EntityState.Modified;
                response.Result = _uow.SaveChanges();

                response.IsSuccessful = response.Result.ToSaveChangeResult();
                response.Message      = response.Result.ToSaveChangeMessageResult(BusinessMessage.Success, BusinessMessage.Error);
            }
            return(response);
        }
Пример #4
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                var card = new BankCard
                {
                    CardId            = 71,
                    ApplicationUser   = user,
                    CardNumber        = "2341",
                    ReceivingDate     = DateTime.Today,
                    ValidUntil        = DateTime.Today,
                    ApplicationUserId = user.Id,
                    Currency          = "RUB",
                    Balance           = 10524
                };
                db.bankCards.Add(card);
                if (result.Succeeded)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    return(RedirectToAction("Index", "Home"));
                }
                AddErrors(result);
            }

            // Появление этого сообщения означает наличие ошибки; повторное отображение формы
            return(View(model));
        }
        public void ShouldValidateViewModelOnSubmit(string merchantId, string currency, string cardHolderName, string cardNumber, string securityCode, int monthExpired, int yearExpired, string expectedError)
        {
            // arrange
            var model = new OnlinePaymentViewModel
            {
                MerchantId     = new Guid(merchantId),
                Amount         = 1000,
                Currency       = currency,
                RedirectUrl    = "http://test.com",
                CardHolderName = cardHolderName,
                CardNumber     = cardNumber,
                SecurityCode   = securityCode,
                MonthExpired   = monthExpired,
                YearExpired    = yearExpired
            };
            var bankCard = new BankCard("123", "0000", "EVGENY SHMANEV", "12345", 1, 2020);

            _bankCardService.Setup(x => x.FindBankCard("12345")).Returns(bankCard);

            var merchant = new Merchant("merchant", "test@com", "pass", new Guid("E5310F8F-117B-4D60-8239-39A42A94ADC9"), "store", "contact");
            var account  = merchant.AddAccount("9876543210", "USD");

            _merchantService.Setup(x => x.FindMerchant(merchant.MerchantId)).Returns(merchant);

            // act
            var result = _controller.Payment(model).Result;

            // assert
            result.ShouldBeOfType <ViewResult>();
            _controller.ModelState.IsValid.ShouldBeFalse();
            _controller.ModelState.ShouldContain(x => x.Value.Errors.Any(error => error.ErrorMessage == expectedError));
        }
Пример #6
0
        public async Task ThrowArgumentNullException_WhenWithdrawCardDateIsExpired()
        {
            var contextOptions = new DbContextOptionsBuilder <CasinoContext>()
                                 .UseInMemoryDatabase(databaseName: "ThrowArgumentNullException_WhenWithdrawCardDateIsExpired")
                                 .Options;

            string cardNumber = "0000000000000000";
            double amount     = 100.2;

            var newBankCard = new BankCard()
            {
                Id         = cardNumber,
                Expiration = new DateTime(2017, 2, 2)
            };

            using (var context = new CasinoContext(contextOptions))
            {
                var cardService = new CardService(context);

                await context.BankCards.AddAsync(newBankCard);

                await context.SaveChangesAsync();

                await Assert.ThrowsExceptionAsync <CardExpirationException>(
                    () => cardService.Withdraw(cardNumber, amount)
                    );
            }
        }
Пример #7
0
 /// <summary>
 /// 修改
 /// </summary>
 /// <param name="bankCard"></param>
 /// <returns></returns>
 public String Update(BankCard bankCard)
 {
     try
     {
         int result = new BLBankCard().Update(bankCard);
         if (result > 0)
         {
             return(JsonConvert.JavaScriptSerializer(new ExtResult()
             {
                 success = true, msg = "修改成功"
             }));
         }
         else
         {
             return(JsonConvert.JavaScriptSerializer(new ExtResult()
             {
                 success = false, msg = "修改失败"
             }));
         }
     }
     catch (Exception ex)
     {
         return(JsonConvert.JavaScriptSerializer(new ExtResult()
         {
             success = false, msg = "修改失败,失败原因:" + ex.Message
         }));
     }
 }
Пример #8
0
        /// <summary>
        /// Data input
        /// </summary>
        /// <returns>Bank card</returns>
        private static BankCard  CreateBankCard()
        {
            int Num = Number;

            Console.WriteLine("\nБанковская карта:");
            Console.WriteLine("Введите имя:");
            string Name = Console.ReadLine();

            Console.WriteLine("Введите фамилию:");
            string Surname = Console.ReadLine();

            Console.WriteLine("Введите дату окончания действия:");
            DateTime EndOfAction = Convert.ToDateTime(Console.ReadLine());

            Console.WriteLine("Введите наименование банка:");
            string BankName = Console.ReadLine();

            Console.WriteLine("Введите номер карты:");
            string CardNumber = Console.ReadLine();

            Console.WriteLine("Введите тип карты:");
            string CardType = Console.ReadLine();

            Console.WriteLine("Введите CVC-код");
            int      CVC      = Convert.ToInt32(Console.ReadLine());
            BankCard bankCard = new BankCard(Name, Surname, Num, EndOfAction, BankName, CardNumber, CardType, CVC);

            cards.Add(bankCard);
            Console.WriteLine("Ваша карта:\n" + bankCard.ToString());
            return(bankCard);
        }
Пример #9
0
        public async Task ReturnTrue_WhenCardExistsInDatabase()
        {
            var userStoreMock = new Mock <IUserStore <User> >();
            var userManager   = new UserManager <User>(userStoreMock.Object, null, null, null, null, null, null, null, null);

            var contextOptions = new DbContextOptionsBuilder <BedeSlotsDbContext>()
                                 .UseInMemoryDatabase(databaseName: "ReturnTrue_WhenCardExistsInDatabase")
                                 .UseInternalServiceProvider(serviceProvider)
                                 .Options;

            var user = new User();
            var card = new BankCard();

            using (var bedeSlotsContext = new BedeSlotsDbContext(contextOptions))
            {
                await bedeSlotsContext.BankCards.AddAsync(card);

                await bedeSlotsContext.SaveChangesAsync();
            }

            using (var bedeSlotsContext = new BedeSlotsDbContext(contextOptions))
            {
                var sut = new Data.CardService(bedeSlotsContext, userManager);

                Assert.IsTrue(sut.CardExists(card.Id));
            }
        }
        public async Task ReturnCardNumberDto_WhenValidId()
        {
            var userStoreMock = new Mock <IUserStore <User> >();
            var userManager   = new UserManager <User>(userStoreMock.Object, null, null, null, null, null, null, null, null);

            var contextOptions = new DbContextOptionsBuilder <BedeSlotsDbContext>()
                                 .UseInMemoryDatabase(databaseName: "ReturnCardNumberDto_WhenValidId")
                                 .UseInternalServiceProvider(serviceProvider)
                                 .Options;

            var user = new User();
            var card = new BankCard()
            {
                Id     = 1,
                Number = "1111111111111111"
            };
            CardNumberDto result;

            using (var bedeSlotsContext = new BedeSlotsDbContext(contextOptions))
            {
                var sut = new Data.CardService(bedeSlotsContext, userManager);
                await bedeSlotsContext.BankCards.AddAsync(card);

                await bedeSlotsContext.SaveChangesAsync();

                result = await sut.GetCardNumberByIdAsync(card.Id);
            }

            Assert.IsTrue(result.Number == card.Number.Substring(12));
            Assert.IsInstanceOfType(result, typeof(CardNumberDto));
        }
Пример #11
0
        public void DeleteCardById_ShouldWorkCorrectly()
        {
            // Arrange
            var unitOfWorkMock  = new Mock <IEfUnitOfWork>();
            var mapperMock      = new Mock <IMappingProvider>();
            var userServiceMock = new Mock <IUserService>();
            var genericRepoMock = new Mock <IEfGenericRepository <BankCard> >();

            var bankCardService = new BankCardService
                                      (unitOfWorkMock.Object, mapperMock.Object, userServiceMock.Object, genericRepoMock.Object);

            var card = new BankCard();

            genericRepoMock.Setup(x => x.GetById(It.IsAny <int>())).Returns(card);
            genericRepoMock.Setup(x => x.Delete(It.IsAny <BankCard>())).Verifiable();
            unitOfWorkMock.Setup(x => x.SaveChanges()).Verifiable();

            // Act
            bool result = bankCardService.DeleteCardById(1);

            // Assert
            genericRepoMock.Verify(x => x.Delete(It.IsAny <BankCard>()), Times.Once);
            unitOfWorkMock.Verify(x => x.SaveChanges(), Times.Once);
            Assert.AreEqual(true, result);
        }
Пример #12
0
        public APIResponse Bind(BindBankCardModel model)
        {
            var bank = CurrentDb.Bank.Where(m => m.Id == model.BankId).FirstOrDefault();

            if (bank == null)
            {
                return(ResponseResult(ResultType.Failure, ResultCode.FailureNoData, "没有数据"));
            }

            BankCard bankCard = new BankCard();

            bankCard.UserId           = model.UserId;
            bankCard.MerchantId       = model.MerchantId;
            bankCard.BankId           = bank.Id;
            bankCard.BankCode         = bank.Code;
            bankCard.BankName         = bank.Name;
            bankCard.BankAccountName  = model.BankAccountName;
            bankCard.BankAccountNo    = model.BankAccountNo;
            bankCard.BankAccountPhone = model.BankAccountPhone;
            CurrentDb.BankCard.Add(bankCard);
            CurrentDb.SaveChanges();


            APIResult result = new APIResult()
            {
                Result = ResultType.Success, Code = ResultCode.Success, Message = "绑定成功"
            };

            return(new APIResponse(result));
        }
Пример #13
0
        public async Task ReturnEmptyCollectionOfCardNumberAssociatedWithUserId_WhenValidUserIdIsPassed()
        {
            var userStoreMock = new Mock <IUserStore <User> >();
            var userManager   = new UserManager <User>(userStoreMock.Object, null, null, null, null, null, null, null, null);

            ICollection <CardNumberDto> cards;

            Data.CardService cardService;

            var user = new User();
            var card = new BankCard()
            {
                UserId    = user.Id,
                CvvNumber = "123",
                Number    = "1616161616161616",
                Type      = CardType.Visa
            };

            var contextOptions = new DbContextOptionsBuilder <BedeSlotsDbContext>()
                                 .UseInMemoryDatabase(databaseName: "ReturnCollectionOfCardNumberAssociatedWithUserId_WhenValidUserIdIsPassed")
                                 .UseInternalServiceProvider(serviceProvider).Options;

            using (var bedeSlotsContext = new BedeSlotsDbContext(contextOptions))
            {
                bedeSlotsContext.Users.Add(user);
                bedeSlotsContext.SaveChanges();
            }
            using (var bedeSlotsContext = new BedeSlotsDbContext(contextOptions))
            {
                cardService = new Data.CardService(bedeSlotsContext, userManager);
                cards       = await cardService.GetUserCardsAllNumbersAsync(user.Id);

                Assert.IsTrue(cards.Count == 0);
            }
        }
Пример #14
0
        static void Main(string[] args)
        {
            BankCard card1 = new BankCard();

            card1.SetCardNumber("123");
            card1.SetCardNumber("12345678");
            card1.AddMoney(50);
            card1.AddMoney(0.5);
            card1.PrintAccountBalance();
            card1.SubtractMoney(50);
            card1.PrintAccountBalance();
            card1.SubtractMoney(50);

            Console.WriteLine();

            BankCard card2 = new BankCard(100, "Visa");

            card2.SetCardNumber("xys");
            card2.SetCardNumber("87654321");
            card2.AddMoney(100);
            card2.PrintAccountBalance();
            card2.SubtractMoney(200);
            card2.PrintAccountBalance();
            card2.SubtractMoney(10);
        }
Пример #15
0
 /// <summary>
 /// 银行卡转账
 /// </summary>
 /// <param name="bankCard">转出的银行卡信息</param>
 /// <param name="outBankCard">转入的银行卡编号</param>
 /// <returns></returns>
 public String Transfer(BankCard bankCard, decimal inBankCard)
 {
     try
     {
         bankCard.Id         = Guid.NewGuid().ToString();
         bankCard.SaveType   = 1000200002;//取出
         bankCard.CreateTime = bankCard.UpdateTime = DateTime.Now;
         bankCard.CreateBy   = bankCard.UpdateBy = CurrentUser.Id;
         new BLBankCard().Add(bankCard);
         bankCard.Id       = Guid.NewGuid().ToString();
         bankCard.BankType = inBankCard;
         bankCard.SaveType = 1000200001;//存入
         new BLBankCard().Add(bankCard);
         return(JsonConvert.JavaScriptSerializer(new ExtResult()
         {
             success = true, msg = "操作成功"
         }));
     }
     catch (Exception ex)
     {
         return(JsonConvert.JavaScriptSerializer(new ExtResult()
         {
             success = false, msg = "操作失败," + ex.Message
         }));
     }
 }
Пример #16
0
        public async Task DepositSuccesfully()
        {
            var contextOptions = new DbContextOptionsBuilder <CasinoContext>()
                                 .UseInMemoryDatabase(databaseName: "DepositSuccesfully")
                                 .Options;

            string cardNumber = "0000000000000000";
            double amount     = 100.2;

            var newBankCard = new BankCard()
            {
                Id         = cardNumber,
                Expiration = new DateTime(2019, 2, 2)
            };

            using (var context = new CasinoContext(contextOptions))
            {
                var cardService = new CardService(context);

                await context.BankCards.AddAsync(newBankCard);

                await context.SaveChangesAsync();

                await cardService.Deposit(cardNumber, amount);

                Assert.IsTrue(newBankCard.MoneyAdded == amount);
            }
        }
Пример #17
0
        /// <summary>
        /// 自动计算对象的余额,isAdd只能是新增或者删除
        /// 如果需要修改就先删除再新增
        /// </summary>
        /// <param name="index"></param>
        /// <returns></returns>
        public BankCard CalcBalance(BankCard index, Boolean isAdd)
        {
            Diction dic = new DLDiction().Select(index.BankType);
            var     bal = dic.Note.GetDouble();

            if (isAdd)
            {
                //新增
                if (index.SaveType == 1000200001)//存入
                {
                    bal += index.Price;
                }
                else
                {
                    bal -= index.Price;
                }
            }
            else
            {
                //删除
                if (index.SaveType == 1000200001)//存入
                {
                    bal -= index.Price;
                }
                else
                {
                    bal += index.Price;
                }
            }
            dic.Note      = bal.GetString();
            index.Balance = bal;
            new DLDiction().Update(dic);
            return(index);
        }
Пример #18
0
 public JsonResult EditBankCard(BankCard entity)
 {
     if (entity == null)
     {
         return(Json(new
         {
             IsOk = false,
             Msg = "没有提交任何数据"
         }));
     }
     if (entity.BankCity == null)
     {
         entity.BankCity = "";
     }
     if (entity.Province == null)
     {
         entity.Province = "";
     }
     if (FacadeManage.aideAccountsFacade.EditBankCard(entity) > 0)
     {
         return(Json(new
         {
             IsOk = true,
             Msg = "操作成功"
         }));
     }
     return(Json(new
     {
         IsOk = false,
         Msg = "操作失败"
     }));
 }
Пример #19
0
        ///// <summary>
        ///// 2.36.	电子账户开户及支付签约(监管)
        ///// </summary>
        ///// <param name="member"></param>
        ///// <param name="bankCard"></param>
        ///// <returns></returns>
        //public BCifAcctNoOpenResponse CreateAccount(Member member, BankCard bankCard)
        //{
        //    BCifAcctNoOpenRequest request = new BCifAcctNoOpenRequest();

        //    request.Head.ReqJnlNo = GuidHelper.GenUniqueId();
        //    request.Body.CifAddr = member.Address;
        //    request.Body.CifClientId = member.ClientId;
        //    request.Body.CifEnName = member.EnName;
        //    request.Body.CifIdExpiredDate = member.IdExpiredDate.ToDateTime().ToString("yyyyMMdd");
        //    request.Body.CifName = member.Name;
        //    request.Body.CifPhoneCode = member.Mobile;
        //    request.Body.CifPostCode = member.PostCode;
        //    request.Body.IdNo = member.IDNumber;
        //    request.Body.IdType = "P00";
        //    request.Body.OperateType = "0";
        //    request.Body.ProvinceCode = member.ProvinceCode;
        //    request.Body.CityCode = member.CityCode;
        //    request.Body.NetCheckFlag = "1";
        //    request.Body.BankCardPhoneCode = member.Mobile;
        //    request.Body.BankCardType = "1";
        //    request.Body.BankAcNo = bankCard.BankCardNumber;
        //    request.Body.BankName = bankCard.BankName;
        //    request.Body.SubBranchName = bankCard.BankName;
        //    request.Body.OpenChannel = "1";

        //    var result = guangDaExec.Exec(request) as BCifAcctNoOpenResponse;

        //    return result;
        //}

        /// <summary>
        /// 2.59.	鉴权开户接口
        /// </summary>
        /// <param name="member"></param>
        /// <param name="bankCard"></param>
        /// <returns></returns>
        public AuthenticationToOpenAccountResponse CreateAccount(Member member, BankCard bankCard)
        {
            AuthenticationToOpenAccountRequest request = new AuthenticationToOpenAccountRequest();

            request.Head.ReqJnlNo = GuidHelper.GenUniqueId();

            request.Body.CoPatrnerJnlNo    = member.AccountGuangDa.CoPatrnerJnlNo;
            request.Body.CifName           = member.Name;
            request.Body.CifClientId       = member.ClientId;
            request.Body.IdType            = "P00";
            request.Body.IdNo              = member.IDNumber;
            request.Body.BankCardPhoneCode = member.AccountGuangDa.Mobile;
            request.Body.CifPhoneCode      = member.AccountGuangDa.Mobile;
            request.Body.CifIdExpiredDate  = member.AccountGuangDa.IdExpiredDate.ToDateTime().ToString("yyyyMMdd");
            request.Body.CifAddr           = member.AccountGuangDa.Address;
            request.Body.CifPostCode       = member.AccountGuangDa.PostCode;
            request.Body.CifEnName         = member.AccountGuangDa.EnName;
            request.Body.CifENFName        = member.AccountGuangDa.EnName;
            request.Body.OperateType       = "0";
            request.Body.NetCheckFlag      = "1";
            request.Body.BankCardType      = "1";
            request.Body.BankAcNo          = bankCard.BankCardNumber;
            request.Body.BankName          = bankCard.BankName;
            request.Body.SubBranchName     = bankCard.BankName;
            request.Body.OpenChannel       = "1";
            request.Body.BookDate          = member.AccountGuangDa.BookDate.ToDateTime().ToString("yyyyMMdd");
            request.Body.Reserve1          = member.AccountGuangDa.Occupation;
            request.Body.Reserve2          = member.AccountGuangDa.GuangDaArea.Code;

            var result = guangDaExec.Exec(request) as AuthenticationToOpenAccountResponse;

            return(result);
        }
Пример #20
0
        public async Task WidthdrawSucessuly()
        {
            var contextOptions = new DbContextOptionsBuilder <CasinoContext>()
                                 .UseInMemoryDatabase(databaseName: "WidthdrawSucessuly")
                                 .Options;

            string cardId = "0000000000000000";
            double amount = 100.2;

            var newBankCard = new BankCard()
            {
                Id         = cardId,
                Expiration = new DateTime(2019, 2, 2)
            };

            using (var context = new CasinoContext(contextOptions))
            {
                var cardService = new CardService(context);

                await context.BankCards.AddAsync(newBankCard);

                await context.SaveChangesAsync();

                await cardService.Withdraw(cardId, amount);

                Assert.IsTrue(newBankCard.MoneyRetrieved == amount);
            }
        }
Пример #21
0
        public ActionResult CloseAccount(int accountId)
        {
            using (var _context = new ApplicationDbContext()) {
                var account2remove = _context.Accounts.Single(a => a.Id == accountId);

                if (account2remove is LendingAccount)
                {
                    if (account2remove.Balance < 0)
                    {
                        return(RedirectToAction("Index", "LoggedIn"));
                    }
                }

                if (account2remove is CurrentAccount)
                {
                    CurrentAccount account = account2remove as CurrentAccount;
                    if (account.HasCard())
                    {
                        BankCard card = _context.BankCards.Single(c => c.ParentAccount.Id == accountId);
                        _context.BankCards.Remove(card);
                    }
                }

                _context.Accounts.Remove(account2remove);

                _context.SaveChanges();
            }
            return(RedirectToAction("Index", "LoggedIn"));
        }
Пример #22
0
        public object CheckBankCard()
        {
            BankCard checker  = new BankCard("e064e35a9b6b4944a1866f910a874228");
            var      response = checker.GetResult("李伟", "62284809385785843878", "362422199707056732", "18870214696");

            return(response);
        }
Пример #23
0
        /// <summary>
        /// Method for adding a new entry in xml-file
        /// </summary>
        /// <param name="card">Bank card</param>
        public void XMLCreateBankCard(BankCard card)
        {
            XmlDocument xDoc = new XmlDocument();

            xDoc.Load(@"../../XMLFileCardInf.xml");
            XmlElement xRoot    = xDoc.DocumentElement;
            XmlElement userElem = xDoc.CreateElement("bankCard");
            XmlElement a1       = xDoc.CreateElement("number");
            XmlElement a2       = xDoc.CreateElement("surname");
            XmlElement a3       = xDoc.CreateElement("name");
            XmlElement a4       = xDoc.CreateElement("endOfAction");
            XmlElement a5       = xDoc.CreateElement("bankName");
            XmlElement a6       = xDoc.CreateElement("cardNumber");
            XmlElement a7       = xDoc.CreateElement("cardType");
            XmlElement a8       = xDoc.CreateElement("cvc");

            a1.AppendChild(xDoc.CreateTextNode(card.Number.ToString()));
            a2.AppendChild(xDoc.CreateTextNode(card.Surname));
            a3.AppendChild(xDoc.CreateTextNode(card.Name));
            a4.AppendChild(xDoc.CreateTextNode(card.EndOfAction.ToShortDateString()));
            a5.AppendChild(xDoc.CreateTextNode(card.BankName));
            a6.AppendChild(xDoc.CreateTextNode(card.CardNumber));
            a7.AppendChild(xDoc.CreateTextNode(card.CardType));
            a8.AppendChild(xDoc.CreateTextNode(card.CVC.ToString()));
            userElem.AppendChild(a1);
            userElem.AppendChild(a2);
            userElem.AppendChild(a3);
            userElem.AppendChild(a4);
            userElem.AppendChild(a5);
            userElem.AppendChild(a6);
            userElem.AppendChild(a7);
            userElem.AppendChild(a8);
            xRoot.AppendChild(userElem);
            xDoc.Save(@"../../XMLFileCardInf.xml");
        }
Пример #24
0
        public async Task SucesGetAllCards()
        {
            var contextOptions = new DbContextOptionsBuilder <CasinoContext>()
                                 .UseInMemoryDatabase(databaseName: "SucesGetAllCards")
                                 .Options;

            string userId      = "userId";
            var    newBankCard = new BankCard()
            {
                UserId = "userId",
            };

            DateTime expiration = new DateTime(2019, 11, 10);

            using (var context = new CasinoContext(contextOptions))
            {
                var cardService = new CardService(context);

                await context.BankCards.AddAsync(newBankCard);

                await context.SaveChangesAsync();

                var card = await cardService.GetAllCards(userId);


                Assert.AreEqual(1, card.Count());
            }
        }
Пример #25
0
        public async Task <IActionResult> PutBankCard(int id, BankCard bankCard)
        {
            if (id != bankCard.Id)
            {
                return(BadRequest());
            }

            var editableCard = _context.BankCards.Include(b => b.BankAccount).First(c => c.Id == id);

            editableCard.Amount += bankCard.Amount;
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!BankCardExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            return(Ok(editableCard));
        }
Пример #26
0
        public async Task SucesRemoveingCard()
        {
            var contextOptions = new DbContextOptionsBuilder <CasinoContext>()
                                 .UseInMemoryDatabase(databaseName: "SucesGetAllCard")
                                 .Options;

            string cardNumber  = "0000000000000000";
            var    newBankCard = new BankCard()
            {
                CardNumber = cardNumber
            };

            DateTime expiration = new DateTime(2019, 11, 10);

            using (var context = new CasinoContext(contextOptions))
            {
                var cardService = new CardService(context);

                await context.BankCards.AddAsync(newBankCard);

                await context.SaveChangesAsync();

                var card = await cardService.RemoveCard(cardNumber);

                Assert.IsInstanceOfType(card, typeof(BankCard));
                Assert.IsTrue(card.CardNumber == cardNumber);
                Assert.IsTrue(card.IsDeleted == true);
            }
        }
Пример #27
0
        public async Task <ActionResult <BankCard> > PostBankCard(BankCard bankCard)
        {
            _context.BankCards.Add(bankCard);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetBankCard", new { id = bankCard.Id }, bankCard));
        }
Пример #28
0
        public async Task <IActionResult> PutBankCard(int id, BankCard bankCard)
        {
            if (id != bankCard.Id)
            {
                return(BadRequest());
            }

            _context.Entry(bankCard).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!BankCardExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Пример #29
0
 public RefundRequest()
 {
     Card      = new BankCard();
     Amount    = 0;
     Comment   = string.Empty;
     Currency  = "USD";
     InvoiceId = string.Empty;
 }
Пример #30
0
 public bool Delete(BankCard bankCard)
 {
     db.BankCards.Remove(bankCard);
     if (Convert.ToBoolean(db.SaveChanges()))
     {
         return(true);
     }
     return(false);
 }