public CardDto Create(CardCreateDto model)
        {
            Customer Customer = _context.Customers.Single(x => x.CustomerId == model.CustomerId);

            var entry = new Card
            {
                CardId         = id++,
                CardNumber     = model.CardNumber,
                CustomerId     = model.CustomerId,
                Customer       = Customer,
                CardType       = model.CardType,
                CardCvi        = model.CardCvi,
                CardOwnerName  = Customer.CustomerName,
                CardExpireDate = model.CardExpireDate,
                Money          = 100 //no hay manera de extraer el valor del dinero de una tarjeta por el momento, por lo que le coloco 100 por defecto.
            };

            bool validation = ValidateCard(entry);


            if (validation)
            {
                _context.Cards.Add(entry);
                _context.SaveChanges();
                return(_mapper.Map <CardDto>(entry));
            }

            CardDto nullEntry = new CardDto();

            return(nullEntry);
        }
Exemplo n.º 2
0
        public CardDto Create(CardCreateDto model)
        {
            var entry = _mapper.Map <Card>(model);

            _context.Add(entry);
            _context.SaveChanges();

            return(_mapper.Map <CardDto>(entry));
        }
Exemplo n.º 3
0
        public async Task <CardDto> Create(CardCreateDto model)
        {
            var entry = _mapper.Map <Card>(model);

            await _context.AddAsync(entry);

            await _context.SaveChangesAsync();

            return(_mapper.Map <CardDto>(entry));
        }
        public ActionResult Create(CardCreateDto Card)
        {
            var result = _CardService.Create(Card);

            if (result != null)
            {
                return(new JsonResult(new
                {
                    Message = "Datos de la tarjeta ingresados correctamente. ¿Desearía que la aplicación recuerde los datos de su tarjeta?",
                    TarjetaRegistrada = result
                }));
            }
            else
            {
                return(new JsonResult(new
                {
                    Message = "Error al ingresar los datos, verifique bien si los datos que ha ingresado existen o estan correctos."
                }));
            }
        }
Exemplo n.º 5
0
        public ActionResult Create(CardCreateDto card)
        {
            var result = _cardService.Create(card);

            return(CreatedAtAction("GetById", new { cardId = result.CardId }, result));
        }
Exemplo n.º 6
0
        public async Task <IActionResult> CreateCard(int matchId, [FromBody] CardCreateDto cardCreateDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var match = await _matchService.GetDetailByIdAsync(matchId);

            var player = await _playerService.GetByIdAsync(cardCreateDto.PlayerId);

            if (match == null || player == null)
            {
                return(BadRequest());
            }

            if (cardCreateDto.ClubId != match.HomeClubId && cardCreateDto.ClubId != match.AwayClubId)
            {
                return(BadRequest());
            }

            var cardToCreate = _mapper.Map <Card>(cardCreateDto);

            cardToCreate.MatchId = matchId;

            var homeClubSquad = await _squadService
                                .GetDetailBySeasonIdAndClubIdAsync(match.SeasonId, match.HomeClubId);

            var awayClubSquad = await _squadService
                                .GetDetailBySeasonIdAndClubIdAsync(match.SeasonId, match.AwayClubId);

            bool isHomePlayer;

            if (player.SquadPlayers.Any(sp => sp.SquadId == homeClubSquad.Id))
            {
                isHomePlayer = true;
            }
            else if (player.SquadPlayers.Any(sp => sp.SquadId == awayClubSquad.Id))
            {
                isHomePlayer = false;
            }
            else
            {
                return(BadRequest());
            }

            if ((isHomePlayer && cardCreateDto.ClubId != match.HomeClubId) ||
                (!isHomePlayer && cardCreateDto.ClubId != match.AwayClubId))
            {
                return(BadRequest());
            }

            var existRedCard = match.Cards
                               .SingleOrDefault(c => c.CardType == CardType.Red && c.PlayerId == player.Id);

            if (existRedCard != null)
            {
                return(BadRequest());
            }

            var existYellowCard = match.Cards
                                  .SingleOrDefault(c => c.CardType == CardType.Yellow && c.PlayerId == player.Id);

            Card redCardToCreate = null;

            if (existYellowCard != null && cardToCreate.CardType == CardType.Yellow)
            {
                redCardToCreate = new Card
                {
                    MatchId  = matchId,
                    ClubId   = cardToCreate.ClubId,
                    PlayerId = cardToCreate.PlayerId,
                    CardType = CardType.Red,
                    CardTime = cardToCreate.CardTime
                };
            }

            await _cardService.CreateAsync(cardToCreate);

            if (redCardToCreate != null)
            {
                await _cardService.CreateAsync(redCardToCreate);
            }

            var card = await _cardService.GetDetailByIdAsync(cardToCreate.Id);

            var returnCard = _mapper.Map <CardDetailDto>(card);

            return(Ok(returnCard));
        }