Beispiel #1
0
 public string AddCard(string type, string name)
 {
     if (type == "Magic")
     {
         Card card = new MagicCard(name);
         cardRepository.Add(card);
     }
     else if (type == "Trap")
     {
         Card card = new TrapCard(name);
         cardRepository.Add(card);
     }
     return(string.Format(ConstantMessages.SuccessfullyAddedCard, type, name));
 }
        public Task <bool> Handle(RegisterNewCardCommand message, CancellationToken cancellationToken)
        {
            if (!message.IsValid())
            {
                NotifyValidationErrors(message);
                return(Task.FromResult(false));
            }

            var card = new Card(message.Id, message.IdCustomer, message.IdBrand, message.IdCardType, message.CardNumber, message.ExpirationDate, message.HasPassword, message.Password, message.Limit, message.LimitAvailable, message.Attempts, message.Blocked);

            if (_cardRepository.GetByCardNumber(message.CardNumber) != null)
            {
                Bus.RaiseEvent(new DomainNotification(message.MessageType, "The card number has already been taken."));
                return(Task.FromResult(false));
            }

            if (_cardRepository.GetById(message.Id) != null)
            {
                Bus.RaiseEvent(new DomainNotification(message.MessageType, "The card id has already been taken."));
                return(Task.FromResult(false));
            }

            _cardRepository.Add(card);

            if (Commit())
            {
                Bus.RaiseEvent(new CardRegisteredEvent(card.Id, message.IdCustomer, message.IdBrand, message.IdCardType, message.CardNumber, message.ExpirationDate, message.HasPassword, StringCipher.Encrypt(message.Password, "StefanSilva@#@Stone##2019"), message.Limit, message.LimitAvailable, message.Attempts, message.Blocked));
            }

            return(Task.FromResult(true));
        }
Beispiel #3
0
        public async Task <CreateCardCommandResult> Handle(CreateCardCommand request, CancellationToken cancellationToken)
        {
            CreateCardCommandResult result = new CreateCardCommandResult
            {
                ResultObject = new ServiceResult <CreateCardCommandResultItem>()
            };

            result.ResultObject.Success            = false;
            result.ResultObject.ServiceMessageList = new List <ServiceMessage>();
            result.ResultObject.Data = new CreateCardCommandResultItem();

            try
            {
                var validator        = new CreateCardCommandValidator();
                var validationResult = validator.Validate(request);

                if (validationResult.IsValid)
                {
                    _cardRepository.Add(new Card()
                    {
                        BoardId = request.BoardId, SwimLaneId = request.SwimLaneId, CardId = request.CardId, Name = request.Name, Description = request.Description, CardPriority = new Priority()
                        {
                            PriorityId = request.PriorityId
                        }
                    });
                    result.ResultObject.Success = true;
                    result.ResultObject.Data    = new CreateCardCommandResultItem
                    {
                        BoardId     = request.BoardId,
                        SwimLaneId  = request.SwimLaneId,
                        CardId      = request.CardId,
                        Name        = request.Name,
                        Description = request.Description
                    };
                }
                else
                {
                    foreach (var item in validationResult.Errors)
                    {
                        result.ResultObject.ServiceMessageList.Add(new ServiceMessage()
                        {
                            ServiceMessageType = eServiceMessageType.Error, UserFriendlyText = item.ErrorMessage
                        });
                    }
                    result.ResultObject.Success = false;
                }
            }
            catch (Exception ex)
            {
                result.ResultObject.ServiceMessageList.Add(new ServiceMessage()
                {
                    ServiceMessageType = eServiceMessageType.Error,
                    UserFriendlyText   = "An error occured",
                    LogText            = "BoardService.GetBoardSwimLanes() method error message: " + ex.Message,
                    SystemException    = ex
                });
            }

            return(result);
        }
        public string AddCard(string type, string name)
        {
            card = cardFactory.CreateCard(type, name);

            cardRepository.Add(card);
            return($"Successfully added card of type {type}Card with name: {name}");
        }
Beispiel #5
0
        public async Task <IActionResult> PostWithUserName([FromBody] NewCardRequest request, string username)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var entity = new Card()
            {
                Description = request.Description, Title = request.Title, Order = request.Order
            };

            ProcessPoints(_context, request.NPPoints, entity);
            ProcessActionPoints(_context, request.ActionPoints, entity);
            ProcessLinks(_context, request.Links, entity);

            try
            {
                var card = await _repository.Add(entity, username);
            }
            catch (Exception e)
            {
                _logger.LogError(Guid.NewGuid().ToString(), e);
            }


            return(Created(Url.RouteUrl(entity.Id), ConvertResponse(entity)));
        }
        public Card OpenNewCard(string shortCardName, Currency currency, CardType cardType)
        {
            if (cardType == CardType.UNKNOWN)
            {
                throw new UserDataException("Wrong type card", cardType.ToString());
            }

            IList <Card> allCards = GetCards().ToList();

            var cardNumber = _businessLogicService.GenerateNewCardNumber(cardType);

            _businessLogicService.ValidateCardExist(allCards, shortCardName, cardNumber);

            var newCard = new Card
            {
                CardNumber = cardNumber,
                CardName   = shortCardName,
                Currency   = currency,
                CardType   = cardType
            };

            _cardRepository.Add(newCard);
            _cardRepository.Save();

            var transaction = _businessLogicService.AddBonusOnOpen(newCard);

            _transactionRepository.Add(transaction);
            _transactionRepository.Save();

            return(newCard);
        }
        public async Task <TransferListDTO> PerformTransfer(string phone, TransferDTO transferDTO)
        {
            var originCard = (await _cardRepository.FilterAsync(filter: c => c.Id == transferDTO.OriginCardId && c.Contact.Phone == phone, includeProperties: "Contact.Client,CardBatches.Batch,CardType")).FirstOrDefault();

            if (originCard == null)
            {
                throw new InvalidOperationException(_resources.GetStringResource(LocalizationKeys.Application.exception_CardNotFound));
            }
            var destinyContact = (await _contactRepository.FilterAsync(filter: (c) => c.Id == transferDTO.DestinyCard.ContactId, includeProperties: "Cards.CardBatches.Batch")).FirstOrDefault();
            var destinyCard    = destinyContact.Cards.FirstOrDefault((c) => c.CardTypeId == originCard.CardTypeId);

            if (destinyCard == null)
            {
                destinyCard = new Card(destinyContact, originCard.CardType.Currency, originCard.CardTypeId);
            }
            var transfer = new Transfer(originCard, destinyCard, new Money(transferDTO.Amount.Currency, transferDTO.Amount.Value), _resources.GetStringResource(LocalizationKeys.Application.messages_CreateTransferDisplayName));

            destinyCard.DestinyTransfers.Add(transfer);
            _transferService.PerformTransfer(transfer);
            if (destinyCard.Id == 0)
            {
                _cardRepository.Add(destinyCard);
            }
            else
            {
                _cardRepository.Modify(destinyCard);
            }
            await _cardRepository.UnitOfWork.CommitAsync();

            return(transfer.ProjectedAs <TransferListDTO>());
        }
        public string AddCard(string type, string name)
        {
            ICard card = cardFactory.CreateCard(type, name);

            cardRepository.Add(card);
            return(string.Format(ConstantMessages.SuccessfullyAddedCard, type, name));
        }
Beispiel #9
0
        public string AddCard(string type, string name)
        {
            var newCard = cardFactory.CreateCard(type, name);

            cardRepo.Add(newCard);
            return(string.Format(ConstantMessages.SuccessfullyAddedCard, newCard.GetType().Name, newCard.Name));
        }
Beispiel #10
0
 public IActionResult Add(Card c)
 {
     if (ModelState.IsValid)
     {
         _repository.Add(c);
         return(RedirectToAction("Detail", new { id = c.Id }));
     }
     return(View(c));
 }
        public void Create_WithValidInputs_CardInTable()
        {
            var Card = _getCard();

            repo.Add(Card);
            var CardsList = repo.Get();
            var success   = CardsList.SingleOrDefault(_ => _.ID.Equals(Card.ID));

            Assert.IsNotNull(success);
        }
        public async Task CreateAsync(Card card)
        {
            _cardRepository.Add(card);

            var match = await _matchRepository.GetAsync(card.MatchId);

            match.IsPlayed = true;

            await _unitOfWork.CompleteAsync();
        }
Beispiel #13
0
        public async Task Create(CreateCardRequest request)
        {
            Card card = new Card();

            card.Value = request.Value;
            // card.Rank = request.Rank;
            // card.Suit = request.Suit;

            await _cardRepository.Add(card);
        }
Beispiel #14
0
 public async Task <IActionResult> Create(Card card)
 {
     if (ModelState.IsValid)
     {
         card.CardID = Guid.NewGuid();
         _context.Add(card);
         _context.Update(card);
         return(RedirectToAction("Index"));
     }
     return(View(card));
 }
Beispiel #15
0
        private async Task RestoreCardsInDb()
        {
            List <Card> cardsInDb = await _cardRepository.GetAll();

            if (cardsInDb.Count != Constant.DeckSize)
            {
                await _cardRepository.DeleteAll();

                List <Card> cards = GenerateCards();
                await _cardRepository.Add(cards);
            }
        }
Beispiel #16
0
        public string AddCard(string type, string name)
        {
            if (cardRepository.Cards.Any(c => c.Name == name))
            {
                throw new ArgumentException($"Card {name} already exists!");
            }

            var card = cardFactory.createCard(type, name);

            cardRepository.Add(card);

            return($"Successfully added card of type {type}Card with name: {name}");
        }
Beispiel #17
0
        public async Task <IActionResult> CreateCard([FromBody] CreateCardResource card, int columnId)
        {
            var newCard = _mapper.Map <Card>(card);

            newCard.ColumnId = columnId;

            _cardRepository.Add(newCard);
            await _unitOfWork.CompleteAsync();

            var resource = _mapper.Map <CardResource>(newCard);

            return(Ok(resource));
        }
        public async Task Add(CardAddUICommand command)
        {
            var cardForAdd = _mapper.Map <Entity.Card>(command);

            var card = await _cardRepository.Get(cardForAdd.Id);

            if (card != null)
            {
                throw new Exception("card has exist!");
            }

            await _cardRepository.Add(cardForAdd);
        }
Beispiel #19
0
        public ICommandResult Handle(RegisterCardCommand command)
        {
            var card = new Card(command.ValueCard);

            AddNotifications(card.Notifications);

            if (Invalid)
            {
                return(new CommandResult(false, "Por favor, corrija os campos abaixo", Notifications));
            }

            _cardRepository.Add(card);

            return(new CommandResult(true, "Cadastro realizado com sucesso", card));
        }
        public string AddCard(string type, string name)
        {
            ICard card = null;

            if (type == "MagicCard")
            {
                card = new MagicCard(name);
            }

            else if (type == "TrapCard")
            {
                card = new TrapCard(name);
            }

            cardRepository.Add(card);

            return($"{string.Format(ConstantMessages.SuccessfullyAddedCard, type, name)}");
        }
Beispiel #21
0
        public async Task <Result> Handle(AddNewCardCommand request, CancellationToken cancellationToken)
        {
            _logger.LogInformation("Sending card validation request for cardNumber : {cardNumber} with correlation id : {correlationId} to bank ", request.Number, request.CorrelationId);
            var bankResult = await _bankService.ValidateCard(request.Name, request.Number, request.ExpiryMonth,
                                                             request.ExpiryYear, request.Cvv);

            var existingCard = await _cardQuery.GetCardByCardNumberAsync(request.Number);

            if (existingCard != null && existingCard.Cvv == request.Cvv)
            {
                return(Result.Ok());
            }

            if (!bankResult.IsSuccess)
            {
                _logger.LogInformation("Card was flagged invalid by bank for cardNumber : {cardNumber} for correlationid : {correlationId}", request.Number, request.CorrelationId);
                return(Result.Fail <CreateCardResponse>(ExternalErrorReason.CardValidationFailedByBank));
            }
            _logger.LogInformation("card validation request was successful for correlationid : {correlationId}", request.CorrelationId);
            var card = new Domain.Entities.Card(request.Number, request.ExpiryMonth, request.ExpiryYear, request.Name, request.Cvv);

            _cardRepository.Add(card);
            var persistenceResult = await _cardRepository.UnitOfWork.SaveEntitiesAsync(cancellationToken);

            if (!persistenceResult.IsSuccess)
            {
                return(Result.Fail <CreateCardResponse>(persistenceResult.Error));
            }

            var successResponse = new CreateCardResponse
            {
                CardToken        = card.CardToken,
                MaskedCardNumber = card.MaskedCardNumber
            };

            return(Result.Ok(successResponse));
        }
Beispiel #22
0
 public IActionResult Add([FromBody] CardsModel card)
 {
     repo.Add(card);
     return(Ok());
 }
 public Card Create(Card Card)
 {
     return(_CardRepository.Add(Card));
 }
Beispiel #24
0
        public async Task <Card> Add(CardModel cardModel)
        {
            var newTrapCard = CardMapper.MapToSpellOrTrapCard(cardModel);

            return(await _cardRepository.Add(newTrapCard));
        }
Beispiel #25
0
        static void Main(string[] args)
        {
            Console.WriteLine("Начинается создание новой стандартной колоды:");

            Console.WriteLine("Выберите действие:\n1) Добавить новые карты(рекомендуется при первом запуске)\n2) Удалить старую колоду и добавить новую");
            char k;

            k = (char)Console.Read();
            if (k == '2')
            {
                var cards_d = _appContext.Cards.ToList();
                foreach (Card c in cards_d)
                {
                    _appContext.Cards.Remove(c);
                }
            }
            _appContext.SaveChanges();
            Player player = new Player("CurrentPlayerNick", 20);

            _playerRepository.Add(player);
            Card card  = new Card(player.Id, "Воланд", 5, 5, 20, "Боевой клич: Замешивает в колоду Кота Бегемота, Кота в сапогах и Кота Учёного");
            Card card1 = card;

            _cardRepository.Add(card);
            //_cardRepository.Remove(card1);
            card = new Card(player.Id, "Джинн", 6, 6, 20, "Боевой клич: Замешивает в колоду одну бронзовую, одну серебряную и одну золотую карту");
            _cardRepository.Add(card);
            card = new Card(player.Id, "Разбойница", 4, 4, 10, "Боевой клич: Крадёт из казны противника 5 монет");
            //_cardRepository.Add(card);
            _cardRepository.Add(card);
            card = new Card(player.Id, "Доктор", 5, 5, 10, "Предсмертный хрип: Лечит своего короля на количество своего урона");
            //_cardRepository.Add(card);
            _cardRepository.Add(card);
            card = new Card(player.Id, "Змей Горыныч", 7, 7, 10, "Боевой клич: Увеличивает на 10 максимальную вместимость своей казны");
            //_cardRepository.Add(card);
            _cardRepository.Add(card);
            card = new Card(player.Id, "Барон", 6, 6, 10, "Провокация: Поглощает весь урон, нанесённый своему королю");
            //_cardRepository.Add(card);
            _cardRepository.Add(card);
            card = new Card(player.Id, "Инквизитор", 1, 1, 10, "Эффект: Увеличивает урон на 1 каждый раз, когда карта из этого ряда попадает в сброс");
            //_cardRepository.Add(card);
            _cardRepository.Add(card);
            card = new Card(player.Id, "Берсерк", 3, 3, 5, "Единство: Если на столе есть три Берсерка, в колоду замешивается Ярл Берсерков");
            //_cardRepository.Add(card);
            //_cardRepository.Add(card);
            _cardRepository.Add(card);
            card = new Card(player.Id, "Солоха", 0, 0, 5, "Диверсия: Размещается в ряду противника");
            //_cardRepository.Add(card);
            //_cardRepository.Add(card);
            _cardRepository.Add(card);
            card = new Card(player.Id, "Лягушка", 1, 1, 5, "Предсмертный хрип: Призывает Принцессу в крайнюю левую незанятую клетку этого ряда");
            //_cardRepository.Add(card);
            //_cardRepository.Add(card);
            _cardRepository.Add(card);
            card = new Card(player.Id, "Всадник без головы", 3, 3, 5, "Единство: Если в этом ряду есть три Всадника без головы, в колоду замешивается Кентервильское привидение");
            //_cardRepository.Add(card);
            //_cardRepository.Add(card);
            _cardRepository.Add(card);
            //card = new Card(player.Id, "Поп", 2, 2, 5, "Эффект: Пока Поп находится на столе, Воланд, Всадник без головы и Кентервильское привидение не могут атаковать");
            //_cardRepository.Add(card);
            //_cardRepository.Add(card);
            //Console.WriteLine("Hello " + card.Name);

            using (_appContext)
            {
                var cards = _appContext.Cards.ToList();
                Console.WriteLine("Текущая колода:");
                foreach (Card c in cards)
                {
                    Console.WriteLine($"{c.Id}) {c.Name}: {c.Gold} gold, {c.Damage} atk; <<{c.Text}>>");
                }
            }
        }
        public async Task <Card> Add(CardModel cardModel)
        {
            var newMonsterCard = CardMapper.MapToMonsterCard(cardModel);

            return(await _cardRepository.Add(newMonsterCard));
        }
Beispiel #27
0
        public Card Add(string ownerName, string serialNumber, DateTime expiryDate, string cvv, CardType type)
        {
            var product = Card.Create(ownerName, serialNumber, expiryDate, cvv, type);

            return(cardRepository.Add(product));
        }
 public void AddCard_NullCard_ThrowException() =>
 Assert.Throws <ArgumentNullException>(() => _cardRepository.Add(null));
Beispiel #29
0
 public void Add(Card card)
 {
     _cardRepository.Add(card);
 }
        /// <inheritdoc />
        public (Card, IEnumerable <CustomModelError>) TryOpenNewCard(
            User user,
            string shortCardName,
            Currency currency,
            CardType cardType)
        {
            // Validation
            var validationResult = new List <CustomModelError>();

            validationResult.AddError(() => cardType == CardType.OTHER,
                                      "type", "Wrong type card", "Неверный тип карты", TypeCriticalException.CARD);

            if (validationResult.HasErrors())
            {
                return(null, validationResult);
            }

            // Select
            var cardNumber   = _cardNumberGenerator.GenerateNewCardNumber(cardType);
            var cardExisting = _cardRepository.Get(user, cardNumber) != null;

            // Validation
            validationResult.AddError(() => cardExisting,
                                      "internal", "Card exist", "Карта с таким номером уже существует", TypeCriticalException.CARD);

            if (validationResult.HasErrors())
            {
                return(null, validationResult);
            }

            // Create
            var newCard = new Card
            {
                User         = user,
                CardNumber   = cardNumber,
                CardName     = shortCardName,
                Currency     = currency,
                CardType     = cardType,
                Transactions = new List <Transaction>()
            };

            try
            {
                _cardRepository.Add(newCard);

                var addBonusOnOpenFlag = _cardService.TryAddBonusOnOpen(newCard);

                validationResult.AddError(() => !addBonusOnOpenFlag,
                                          "internal",
                                          "Add bonus to card failed",
                                          "Ошибка при открытии карты",
                                          TypeCriticalException.CARD);

                if (validationResult.HasErrors())
                {
                    return(null, validationResult);
                }

                _cardRepository.Save();
            }
            catch (Exception e)
            {
                return(null,
                       validationResult.AddError("internal", e.Message ?? "Internal error", "Что то пошло не так",
                                                 TypeCriticalException.CARD));
            }

            return(newCard, validationResult);
        }