示例#1
0
        public async Task <IActionResult> CreateWord([FromBody] WordV2DTO model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            await _wordService.AddWord(model);

            return(Ok());
        }
示例#2
0
        public async Task <IActionResult> EditWord([FromRoute] long wordId, [FromBody] WordV2DTO model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            await _wordService.EditWord(wordId, model);

            return(Ok());
        }
示例#3
0
        public async Task EditWord(long wordId, WordV2DTO model)
        {
            try
            {
                var word = await _context.WordJapans.Where(c => c.Id == wordId).FirstOrDefaultAsync();

                if (word == null)
                {
                    throw new DllNotFoundException("Нет такого слова!");
                }
                var wordRus = await _context.WordRus.Where(c => c.JapId == wordId).ToListAsync();

                var wordRus2 = wordRus.Except(_mapper.Map <List <WordRus> >(model.WordRus));
                _context.WordRus.RemoveRange(wordRus);

                var oldGif = word.Gif;
                word = _mapper.Map <WordJapan>(model);
                if (model.GifIsNew)
                {
                    word.Gif = await _commonService.FileSave(model.Gif);
                }
                else
                {
                    word.Gif = oldGif;
                }
                word.Id = wordId;
                foreach (var wordJ in word.WordRus)
                {
                    wordJ.Word = wordJ.Word.ToLower();
                }

                _context.WordJapans.Update(word);
                await _context.SaveChangesAsync();
            }
            catch (DllNotFoundException ex)
            {
                throw;
            }
            catch (Exception ex)
            {
                throw new Exception("Не удалось обновить данные");
            }
        }
示例#4
0
        public async Task AddWord(WordV2DTO model)
        {
            try
            {
                var wordJap = _mapper.Map <WordJapan>(model);
                wordJap.Gif = await _commonService.FileSave(model.Gif);

                foreach (var word in wordJap.WordRus)
                {
                    word.Word = word.Word.ToLower();
                }
                await _context.WordJapans.AddAsync(wordJap);

                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                throw new Exception("Не удалось добваить слово");
            }
        }