示例#1
0
        public async Task <WordCardWordList> AddToList(long cardId, long listId, UserInfo userInfo)
        {
            var list = await _wordsListRepository.GetByIdIfAccess(listId, userInfo.UserId);

            if (list == null)
            {
                throw new SomeCustomException(ErrorConsts.NotFound);
            }

            var card = await _wordsCardsService.GetByIdIfAccess(cardId, userInfo);

            if (card == null)
            {
                throw new SomeCustomException(ErrorConsts.NotFound);
            }

            var relation = await _wordsListRepository.Get(cardId, listId);

            if (relation != null)
            {
                throw new SomeCustomException(ErrorConsts.NotFound);//TODO тут бы указать ошибку точнее, типо уже добавлено в список
            }

            return(await _wordsListRepository.AddToList(new WordCardWordList()
            {
                WordCardId = cardId, WordsListId = listId
            }));
        }
示例#2
0
        public async Task <WordCard> Create(WordCardInputModel input, UserInfo userInfo)
        {
            if (userInfo == null)
            {
                throw new NotAuthException();
            }

            var wordCardNew = WordCardFromInputModelNew(input);

            wordCardNew.UserId = userInfo.UserId;

            //long? listId = null;
            if (input.ListId != null)
            {
                var lst = await _wordCardListsRepository.GetByIdIfAccess(input.ListId.Value, userInfo.UserId);

                if (lst != null)
                {
                    //listId = lst.Id;
                    wordCardNew.WordCardWordList.Add(new WordCardWordList()
                    {
                        WordsListId = lst.Id
                    });
                }
            }

            try
            {
                wordCardNew.ImagePath = await _imageService.CreateUploadFileWithOutDbRecord(input.MainImageNew);

                var resWordCard = await _wordCardRepository.Add(wordCardNew);

                return(resWordCard);
            }
            catch
            {
                throw;
            }
        }