Example #1
0
        /// <summary>
        /// 发牌 (初始化角色手牌)
        /// </summary>
        public InitCardDto InitPlayerCards()
        {
            InitCardDto initCardDto = new InitCardDto();

            //庄家
            for (int i = 0; i < 2; i++)
            {
                CardDto card = libraryModel.Deal();
                DealerCardList.Add(card);
            }
            initCardDto.InitCardLists[0] = DealerCardList;
            for (int i = 0; i < 4; i++)
            {
                if (PlayerList[i] != null)
                {
                    for (int j = 0; j < 2; j++)
                    {
                        CardDto card = libraryModel.Deal();
                        PlayerList[i].CardList.Add(card);
                    }
                    initCardDto.InitCardLists[i + 1] = PlayerList[i].CardList;
                }
            }
            return(initCardDto);
        }
        public void ShouldForbidWhenCardsAddingRequestIsNotDoneByAdmin()
        {
            //Arrange
            var catalogId    = 1;
            var adminUserId  = 2;
            var catalogForDb = new Catalog(_catalogRepositoryMock.Object, _cardEventHandlerMock.Object);

            catalogForDb.Id = catalogId;
            var input = new CardDto
            {
                UserId      = 1,
                CardId      = 1,
                CardVersion = 2
            };
            var cards = new List <Card> {
                new Card(input.CardId, input.CardVersion)
            };

            _mapperMock.Setup(v => v.Map <IList <Card> >(It.IsAny <IEnumerable <CardDto> >())).Returns(cards);
            _catalogRepositoryMock.Setup(v => v.GetCatalog(catalogId)).Returns(catalogForDb);
            _catalogRepositoryMock.Setup(v => v.GetAllAdminIds(catalogId)).Returns(new List <int> {
                adminUserId
            });

            var cardsController = new CardsController(_catalogRepositoryMock.Object, _cardEventHandlerMock.Object, _mapperMock.Object, _loggerMock.Object);

            //Act
            var response = cardsController.AddCards(new List <CardDto> {
                input
            }, catalogId);

            //Assert
            Assert.IsNotNull(response.Result as ForbidResult);
        }
Example #3
0
    /// <summary>
    /// 卡牌初始化
    /// </summary>
    /// <param name="dto"></param>
    /// <param name="index"></param>
    /// <param name="isMine"></param>
    public void Init(CardDto dto, int index, bool isMine)
    {
        spriteRenderer = GetComponent <SpriteRenderer>();
        this.cardDto   = dto;
        this.isMine    = isMine;
        if (isSelected == true)
        {
            isSelected = false;
            transform.localPosition -= new Vector3(0, 0.2f, 0);
        }

        //加载图片
        string path = string.Empty;

        if (isMine)
        {
            path = "Poker/" + dto.name;
        }
        else
        {
            path = "Poker/CardBack";
        }
        Sprite sp = Resources.Load <Sprite>(path);

        spriteRenderer.sprite = sp;
        //这里是为了 让后一张牌盖住前一张。防止牌胡乱覆盖。不懂就去弄几张牌 改下order!
        spriteRenderer.sortingOrder = index;
    }
Example #4
0
    public override void Execute(int eventcode, object message)
    {
        base.Execute(eventcode, message);
        switch (eventcode)
        {
        case MapEvent.SELECT_ARMYCARD:
            selectArmyCard = message as CardDto;
            setArmyPrefab();
            break;

        case MapEvent.CANCEL_SELECT_ARMYCARD:
            selectArmyCard = null;
            break;

        case MapEvent.SET_OTHER_ARMY:
            processSetOtherArmy(message as MapPointDto);
            break;

        case MapEvent.MOVE_MY_ARMY:
            MapMoveMessage moveMessage = message as MapMoveMessage;
            moveArmy(ref moveMessage.OriginalMappointCtral, ref moveMessage.mapPointCtrl, moveMessage.cardDto, ref moveMessage.armyPrefab);
            break;

        case MapEvent.MOVE_OTHER_ARMY:
            processMoveOtherArmy(message as MapMoveDto);
            break;
        }
    }
        public void ShouldReturnNotFoundWhenEditIsCalledForInvalidCatalog()
        {
            //Arrange
            var catalogId    = 1;
            var catalogForDb = new Catalog(_catalogRepositoryMock.Object, _cardEventHandlerMock.Object);

            catalogForDb.Id = catalogId;
            var input = new CardDto
            {
                UserId      = 1,
                CardId      = 1,
                CardVersion = 2
            };
            var pendingCards = new List <PendingCard> {
                new PendingCard(input.CardId, input.CardVersion)
            };

            _mapperMock.Setup(v => v.Map <IList <PendingCard> >(It.IsAny <IEnumerable <CardDto> >())).Returns(pendingCards);
            _catalogRepositoryMock.Setup(v => v.GetCatalog(catalogId)).Returns(catalogForDb);

            var cardsController = new CardsController(_catalogRepositoryMock.Object, _cardEventHandlerMock.Object, _mapperMock.Object, _loggerMock.Object);

            //Act
            var response = cardsController.EditCard(new List <CardDto> {
                input
            }, 2);


            //Assert
            Assert.AreEqual((int)HttpStatusCode.NotFound, (response.Result as NotFoundResult).StatusCode);
        }
Example #6
0
        public void UpdateCard(CardDto input)
        {
            var card = _cards.FirstOrDefault(c => c.Id == input.Id);

            card.Title       = input.Title;
            card.ColumnId    = input.ColumnId;
            card.Description = input.Description;


            if (input.Comments == null)
            {
                _comments.RemoveAll(com => com.CardId == input.Id);
            }
            else
            {
                // some comment could be deleted from card at the front, but is still in card.Comments at the backend
                _comments.RemoveAll(com =>
                                    com.CardId == input.Id &&
                                    !input.Comments.Select(ic => ic.Id).Contains(com.Id));

                foreach (var comment in input.Comments)
                {
                    UpdateComment(comment);
                }
            }
        }
Example #7
0
        public CardDto AddCard(AddCardDto addCardDto)
        {
            if (!_context.Lists.Any(x => x.Id == addCardDto.ListId))
            {
                return(null);
            }

            var card = new Card()
            {
                Name   = addCardDto.Name,
                ListId = addCardDto.ListId
            };

            _context.Cards.Add(card);
            _context.SaveChanges();

            var cardDto = new CardDto
            {
                Id     = card.Id,
                ListId = card.ListId,
                Name   = card.Name
            };

            return(cardDto);
        }
Example #8
0
    public void CardOnthis(CardDto card)
    {
        switch (card.CardID)
        {
        case 10:
            PlayTsukiSasu();

            break;

        case 14:
            PlayPoFuChenZhou();
            break;

        case 1:
            PlayAtk_1();
            break;

        case 2:
            PlayAtk_2();
            break;

        case 3:
            PlayAtk_3();
            break;
        }
    }
Example #9
0
        /// <summary>
        /// 庄家要牌
        /// </summary>
        /// <returns></returns>
        public CardDto DealerHit()
        {
            CardDto card = libraryModel.Deal();

            DealerCardList.Add(card);
            return(card);
        }
Example #10
0
        public CardDto GetOneDealerCard()
        {
            CardDto card = libraryModel.Deal();

            DealerCardList.Add(card);
            return(card);
        }
Example #11
0
    /// <summary>
    /// 初始化卡牌数据
    /// </summary>
    /// <param name="card"></param>
    /// <param name="index"></param>
    /// <param name="isMine"></param>
    public void Init(CardDto card, int index, bool isMine)
    {
        spriteRenderer = GetComponent <SpriteRenderer>();
        this.CardDto   = card;
        this.isMine    = isMine;
        //为了重用
        if (Selected == true)
        {
            Selected = false;
            transform.localPosition -= new Vector3(0, 0.3f, 0);
        }
        string resPath = string.Empty;

        if (isMine)
        {
            resPath = "Poker/" + card.Name;
        }
        else
        {
            resPath = "Poker/CardBack";
        }
        Sprite sp = Resources.Load <Sprite>(resPath);

        spriteRenderer.sprite       = sp;
        spriteRenderer.sortingOrder = index;
    }
Example #12
0
        private void GetBCards(string[] currentLine, CardDto card, byte max)
        {
            for (int i = 0; i < max; i++)
            {
                if (currentLine[2 + i * 6] == "-1" || currentLine[2 + i * 6] == "0")
                {
                    continue;
                }

                int first = int.Parse(currentLine[i * 6 + 6]);
                var bcard = new BCardDto
                {
                    RelationType   = BCardRelationType.Card,
                    RelationId     = card.Id,
                    Type           = (BCardType)byte.Parse(currentLine[2 + i * 6]),
                    SubType        = (byte)((Convert.ToByte(currentLine[3 + i * 6]) + 1) * 10 + 1 + (first < 0 ? 1 : 0)),
                    FirstData      = (first > 0 ? first : -first) / 4,
                    SecondData     = int.Parse(currentLine[7 + i * 6]) / 4,
                    ThirdData      = int.Parse(currentLine[5 + i * 6]),
                    IsLevelScaled  = Convert.ToBoolean(first % 4),
                    IsLevelDivided = (first % 4) == 2
                };
                _cardBCardsCount++;
                _cardBcards.Enqueue(bcard);
            }
        }
Example #13
0
        public static void Handle(IBattleEntity target, IBattleEntity sender, BCardDto bcard)
        {
            var random = ChickenContainer.Instance.Resolve <IRandomGenerator>();

            if (random.Next() >= bcard.FirstData)
            {
                return;
            }

            CardDto card = ChickenContainer.Instance.Resolve <ICardService>().GetById(bcard.SecondData);

            if (card == null)
            {
                Log.Debug($"Couldn't find any buff with card Id : {bcard.SecondData}");
                return;
            }

            var buff = new BuffContainer(card, sender.Level);

            target.AddBuff(buff);
            if (target is IPlayerEntity player)
            {
                player.SendPacketAsync(player.GenerateBfPacket(buff));
            }
        }
Example #14
0
        public IActionResult View()
        {
            var list    = _context.DeckCards.Include(x => x.Card).Include(x => x.Deck).Where(x => x.DeckID == 1).ToList();
            var results = list.GroupBy(g => g.CardID).ToList();

            List <CardAmt> cardAmt = new List <CardAmt>();

            foreach (var group in results)
            {
                CardAmt ca1  = new CardAmt();
                CardDto card = new CardDto();

                var groupKey = group.Key;
                ca1.Amount = group.Count();

                card = group.FirstOrDefault().Card;

                ca1.Card = card;
                cardAmt.Add(ca1);
            }

            DeckViewModel deckViewModel = new DeckViewModel()
            {
                Cards = cardAmt
            };

            return(View(deckViewModel));
        }
        public async Task <IActionResult> PostCardPayment(CardDto card)
        {
            var cardEntity = _mapper.Map <Domain.Entities.Card>(card);

            string cardLastDigits = card.Number.Substring(card.Number.Length - 4);

            _logger.LogInformation("Making a payment with card ending with {cardLastDigits}", cardLastDigits);

            var bankEndpoint = _config.GetValue <string>("Endpoints:Bank");

            var bankResponse = await _repositoryWrapper.PaymentGateways.GetBankResponse(cardEntity, bankEndpoint);

            if (bankResponse == null)
            {
                _logger.LogWarning("Did not receive a response from the bank with card ending with {cardLastDigits}", cardLastDigits);
                return(NotFound());
            }

            _repositoryWrapper.Cards.Add(cardEntity);

            Payment paymentEntity = new Payment()
            {
                Id     = bankResponse.Id,
                Status = bankResponse.Status,
                Card   = cardEntity
            };

            _repositoryWrapper.PaymentGateways.Add(paymentEntity);

            return(Ok(bankResponse));
        }
Example #16
0
 /// <summary>
 /// 发牌 初始化角色手牌
 /// </summary>
 public void InitPlayerCards()
 {
     //一人   17
     for (int i = 0; i < 17; i++)
     {
         CardDto dto = cardModel.Deal();
         PlayerList[0].Add(dto);
     }
     for (int i = 0; i < 17; i++)
     {
         CardDto dto = cardModel.Deal();
         PlayerList[1].Add(dto);
     }
     for (int i = 0; i < 17; i++)
     {
         CardDto dto = cardModel.Deal();
         PlayerList[2].Add(dto);
     }
     //3个底牌显示
     for (int i = 0; i < 3; i++)
     {
         CardDto dto = cardModel.Deal();
         TableCardList.Add(dto);
     }
     //给地主
 }
Example #17
0
        public void Add(CardDto card)
        {
            var newCategory = AutoMapper.Mapper.Map <CardDto, Card>(card);

            _unitOfWork.CardRepository.Insert(newCategory);
            _unitOfWork.Commit();
        }
Example #18
0
 /// <summary>
 /// 发牌 (初始化角色手牌)
 /// </summary>
 public void InitPlayerCards()
 {
     //54
     //一个人 17 张
     //17*3=51
     //剩3个 当底牌
     //谁是地主 就 给谁
     for (int i = 0; i < 17; i++)
     {
         CardDto card = libraryModel.Deal();
         PlayerList[0].Add(card);
     }
     for (int i = 0; i < 17; i++)
     {
         CardDto card = libraryModel.Deal();
         PlayerList[1].Add(card);
     }
     for (int i = 0; i < 17; i++)
     {
         CardDto card = libraryModel.Deal();
         PlayerList[2].Add(card);
     }
     //发底牌
     for (int i = 0; i < 3; i++)
     {
         CardDto card = libraryModel.Deal();
         TableCardList.Add(card);
     }
 }
 public Card GenerateFakeCard(CardDto card) => new Card
 {
     CardNumber = _businessLogicService.GenerateNewCardNumber(CardType.MAESTRO),
     CardName   = card.Name,
     Currency   = (Currency)card.Currency,
     CardType   = (CardType)card.Type
 };
Example #20
0
    /// <summary>
    /// 要牌
    /// </summary>
    /// <param name="cardDto"></param>
    private void getPlayerCard(CardDto cardDto)
    {
        GameObject cardPrefab = Resources.Load <GameObject>("Card/MyCard");
        int        index      = cardCtrlList.Count;

        createGo(cardDto, index, cardPrefab);
    }
        public async Task AddAsync(CardDto cardDto)
        {
            cardDto = cardDto ?? throw new ArgumentNullException(nameof(cardDto));

            var card = _mapper.Map <Card>(cardDto);
            await _applicationContext.Cards.AddAsync(card);
        }
Example #22
0
 partial void OnCreate(CardDto card, string username)
 {
     if (_context.Cards.Any(a => a.Pin == card.Pin))
     {
         throw new Exception("Record not unique.");
     }
 }
Example #23
0
        public async Task <ActionResult <CardDto> > PostCard(CardDto card)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            CardDto cardDto;

            try
            {
                cardDto = await cardService.CreateCardAsync(card, User.Identity.Name);

                if (cardDto != null)
                {
                    this.RemoveCache(CacheKeys.Card);
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }

            // var cardDto = await _context.Cards.Select(CardDto.AsCardDto).SingleOrDefaultAsync(m => m.Id == card.Id);

            return(CreatedAtAction("GetCard", new { id = cardDto.Id }, cardDto));
        }
Example #24
0
        public CardDto GetOnePlayerCard()
        {
            CardDto card = libraryModel.Deal();

            player.Add(card);
            return(card);
        }
Example #25
0
        public Card GetCard(Guid guid)
        {
            string statement = "SELECT * FROM mtcg.\"Card\" " +
                               "WHERE \"Guid\"=@guid";

            using (NpgsqlCommand cmd = new NpgsqlCommand(statement, PostgreSQLSingleton.GetInstance.Connection))
            {
                cmd.Parameters.Add("guid", NpgsqlDbType.Uuid).Value = guid;
                cmd.Prepare();
                using (var reader = cmd.ExecuteReader())
                {
                    if (reader.HasRows)
                    {
                        reader.Read();
                        CardDto cardDto = new CardDto()
                        {
                            CardType = reader["Type"].ToString(),
                            Damage   = (double)reader["Damage"],
                            Element  = reader["Element"].ToString(),
                            Name     = reader["Name"].ToString()
                        };
                        Card card = cardDto.ToObject();
                        card.Guid = Guid.Parse(reader["Guid"].ToString());
                        return(card);
                    }
                }
            }

            return(null);
        }
Example #26
0
 public void Change(MapPointCtrl originalPointctral, MapPointCtrl mapPointCtrl, CardDto cardDto, GameObject armyPrefab)
 {
     OriginalMappointCtral = originalPointctral;
     this.mapPointCtrl     = mapPointCtrl;
     this.cardDto          = cardDto;
     this.armyPrefab       = armyPrefab;
 }
Example #27
0
        public async Task CallWebServiceGet_RateLimitOff_Success()
        {
            // arrange
            var URL = new Uri("http://fake/url");

            _mockRateLimit.Setup(x => x.IsTurnedOn).Returns(false);

            var card = new CardDto()
            {
                Id = "12345"
            };
            var rootCard = new RootCardDto()
            {
                Card = card,
            };

            using var httpTest = new HttpTest();
            httpTest.RespondWithJson(rootCard);

            _mockHeaderManager.Setup(x => x.Update(It.IsAny <IReadOnlyNameValueList <string> >()));

            var service = new ServiceBaseTestObject(
                _mockHeaderManager.Object,
                _mockModelMapper.Object,
                _mockRateLimit.Object);

            // act
            var result = await service.CallWebServiceGetTestMethod(URL);

            // assert
            Assert.Equal(card.Id, result.Card.Id);
        }
Example #28
0
        public void PostAndGetPayment_ShouldAcceptAndRetrieve()
        {
            CardDto card = GenerateRandomCard();

            PaymentRequestDto paymentRequest = new PaymentRequestDto();

            paymentRequest.MerchantId = 1;
            paymentRequest.Amount     = 25.99;
            paymentRequest.Currency   = "CAD";
            paymentRequest.Card       = card;

            var postResult = _paymentsController.Post(paymentRequest);

            Assert.IsType <OkObjectResult>(postResult.Result);
            OkObjectResult objectResult = postResult.Result as OkObjectResult;

            Assert.IsType <PaymentResponseDto>(objectResult.Value);
            PaymentResponseDto paymentResponse = objectResult.Value as PaymentResponseDto;

            Assert.True(paymentResponse.Id > 0);
            Assert.NotNull(paymentResponse.Status);

            int paymentId = paymentResponse.Id;
            var getResult = _paymentsController.Get(paymentId);

            Assert.IsType <OkObjectResult>(getResult.Result);
            OkObjectResult getObjectResult = getResult.Result as OkObjectResult;

            Assert.IsType <PaymentInformationDto>(getObjectResult.Value);
            PaymentInformationDto paymentInformation = getObjectResult.Value as PaymentInformationDto;

            Assert.Equal(paymentRequest.Amount, paymentInformation.Amount);
            Assert.Equal(paymentRequest.Currency, paymentInformation.Currency);
        }
Example #29
0
 /// <summary>
 /// 发牌(初始化角色手牌)
 /// </summary>
 public void InitPlayerCards()
 {
     //每个人17张
     for (int i = 0; i < 17; i++)
     {
         CardDto card = LibraryModels.Deal();
         playerList[0].Add(card);
     }
     for (int i = 0; i < 17; i++)
     {
         CardDto card = LibraryModels.Deal();
         playerList[1].Add(card);
     }
     for (int i = 0; i < 17; i++)
     {
         CardDto card = LibraryModels.Deal();
         playerList[2].Add(card);
     }
     //发底牌
     for (int i = 0; i < 3; i++)
     {
         CardDto card = LibraryModels.Deal();
         TabkeCardList.Add(card);
     }
 }
        public void PostCardPassed()
        {
            // Arrange
            var mock      = new Mock <IBankRepository>();
            var mockCards = new FakeDataGenerator(_businessLogicService).GenerateFakeCards();

            var cardDto = new CardDto
            {
                Name     = "my card",
                Currency = 0,
                Type     = 1
            };

            var mockCard = new FakeDataGenerator(_businessLogicService).GenerateFakeCard(cardDto);

            mock.Setup(r => r.GetCards()).Returns(mockCards);
            mock.Setup(r => r.OpenNewCard(It.IsAny <string>(), It.IsAny <Currency>(), It.IsAny <CardType>())).Returns(mockCard);

            var controller = new CardsController(mock.Object, _cardService, _businessLogicService);

            // Test
            var result     = (CreatedResult)controller.Post(cardDto);
            var resultCard = (CardDto)result.Value;

            // Assert
            mock.Verify(r => r.GetCards(), Times.AtMostOnce());
            mock.Verify(r => r.OpenNewCard(It.IsAny <string>(), It.IsAny <Currency>(), It.IsAny <CardType>()), Times.AtMostOnce());

            Assert.Equal(201, result.StatusCode);
            Assert.Equal(0, resultCard.Balance);
            Assert.Equal(cardDto.Name, resultCard.Name);
            Assert.NotNull(resultCard.Number);
            Assert.Equal(cardDto.Currency, resultCard.Currency);
            Assert.Equal(cardDto.Type, resultCard.Type);
        }
Example #31
0
        public static CardDto ToCardDto(this Card card)
        {
            var dto = new CardDto
            {
                Id = card.Id,
                VacancyId = card.VacancyId,
                CandidateId = card.CandidateId,
                Added = card.Added,
                AddedByProfileId = card.AddedByProfileId,
                Stage = card.Stage
            };

            return dto;
        }