public IActionResult Post([FromBody] CardDto value) { if (value == null) { throw new UserDataException("Card data is null", null); } _businessLogicServer.ValidateOpenCardDto(value); if (string.IsNullOrWhiteSpace(value.Name)) { throw new UserDataException("Short name of the card is invalid", value.Name); } var card = _repository.OpenNewCard(value.Name, (Currency)value.Currency, (CardType)value.Type); return(Created($"/api/cards/{card.CardNumber}", new CardDto { Number = card.CardNumber, Type = (int)card.CardType, Name = card.CardName, Currency = (int)card.Currency, Exp = _cardService.GetExpDateFromDateTime(card.DTOpenCard, card.ValidityYear), Balance = _businessLogicServer.GetRoundBalanceOfCard(card) })); }