public async Task <IActionResult> CreateWord([FromBody] WordV2DTO model) { if (!ModelState.IsValid) { return(BadRequest()); } await _wordService.AddWord(model); return(Ok()); }
public async Task <IActionResult> EditWord([FromRoute] long wordId, [FromBody] WordV2DTO model) { if (!ModelState.IsValid) { return(BadRequest()); } await _wordService.EditWord(wordId, model); return(Ok()); }
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("Не удалось обновить данные"); } }
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("Не удалось добваить слово"); } }