Beispiel #1
0
        /// <summary>
        /// Переводит информацию для создания карты из клиентской модели в серверную
        /// </summary>
        /// <param name="viewCard">Карта в клиентской модели</param>
        /// <returns>Карта в серверной модели</returns>
        public static Model.CardCreationInfo ConvertCreationInfo(View.CardCreationInfo viewCard)
        {
            if (viewCard == null)
            {
                throw new ArgumentNullException(nameof(viewCard));
            }

            var modelCard = new Model.CardCreationInfo()
            {
                Answer   = ConvertCardContent(viewCard.Answer),
                Question = ConvertCardContent(viewCard.Question)
            };

            return(modelCard);
        }
Beispiel #2
0
        public async Task <ActionResult <CardItem> > CreateAsync([FromBody] View.CardCreationInfo cardCreationInfo,
                                                                 CancellationToken cancellationToken)
        {
            try
            {
                Guid.TryParse(HttpContext.User.Identity.Name, out var userId);
                var card = cardsService.CreateCard(CardItemConverter.ConvertCreationInfo(cardCreationInfo), userId);
                await cardsService.AddCardAsync(card, cancellationToken);

                return(Ok(card));
            }
            catch (AppException ex)
            {
                return(BadRequest(new { message = ex.Message }));
            }
        }