public WordsFullModel CreateWordsCloudModel( string userName, IEnumerable <EnRuWord> enRuWords, int totalWordsCount) { var wordsCloudModel = new WordsFullModel { UserName = userName }; var words = new List <WordModelModel>(); foreach (var word in enRuWords) { var viewModel = new WordModelModel { English = word.EnglishWord.EnWord, Russian = word.RussianWord.RuWord, Level = word.WordLevel, Example = word.Example, UpdateDate = word.UpdateDate, AnswerCount = word.AnswerCount, FailAnswerCount = word.FailAnswerCount, Id = word.Id }; words.Add(viewModel); } wordsCloudModel.Words = words; wordsCloudModel.TotalWords = totalWordsCount == 0 ?GetWordCount(userName) : totalWordsCount; return(wordsCloudModel); }
public IHttpActionResult EditWord(WordsFullModel wordsModel) { if (wordsModel != null && wordsModel.Words.Any()) { var word = wordsModel.Words.First(); var enRuWord = new EnRuWord { RussianWord = new RussianWord { RuWord = word.Russian }, Example = word.Example, Id = word.Id, FailAnswerCount = word.FailAnswerCount, WordLevel = word.Level, AnswerCount = word.AnswerCount }; _repositoryFactory.EnRuWordsRepository.EditEnRuWord(enRuWord, wordsModel.UserId); return(Ok()); } return(NotFound()); }
public IHttpActionResult DeleteWord(WordsFullModel wordsModel) { if (wordsModel != null && wordsModel.Words.Any()) { var userId = _userHelper.GetUserId(wordsModel.UserName); _repositoryFactory.EnRuWordsRepository.DeleteEnRuWord(wordsModel.Words.First().English, userId); return(Ok()); } return(NotFound()); }
public IHttpActionResult AddWords([FromBody] WordsFullModel wordsModel) { try { if (wordsModel == null) { throw new ArgumentException("words model is null"); } var userId = _userHelper.GetUserId(wordsModel.UserName); foreach (var modelItem in wordsModel.Words) { _repositoryFactory.EnRuWordsRepository .AddTranslate( modelItem.English, modelItem.Russian, modelItem.Example, userId, modelItem.UpdateDate, modelItem.Level, modelItem.AnswerCount, modelItem.FailAnswerCount); } } catch (Exception ex) { var response = new ResponseModel { IsError = true, ErrorMessage = ex.Message }; return(Json(response)); } var okResponse = new ResponseModel { IsError = false, ErrorMessage = string.Empty, WordsCloudModel = new WordsFullModel { TotalWords = _userHelper.GetWordCount(wordsModel.UserName) } }; return(Json(okResponse)); }
public ActionResult Index(string wordsJson) { try { WordsFullModel wordsModel = JsonConvert.DeserializeObject <WordsFullModel>(wordsJson); if (wordsModel == null) { throw new Exception("Invalid JSON"); } if (string.IsNullOrEmpty(wordsModel.UserName)) { throw new Exception("Invalid JSON (invalid user name)"); } var currentUser = HttpContext.User.Identity.Name; if (currentUser.ToLower() != wordsModel.UserName.ToLower()) { throw new Exception("Words should be for current user"); } var userId = _userHelper.GetUserId(wordsModel.UserName); foreach (var modelItem in wordsModel.Words) { _repositoryFactory.EnRuWordsRepository .AddTranslate( modelItem.English, modelItem.Russian, modelItem.Example, userId, modelItem.UpdateDate, modelItem.Level, modelItem.AnswerCount, modelItem.FailAnswerCount); } } catch (Exception ex) { ViewBag.Error = ex.Message; return(View()); } ViewBag.Success = "Uploaded..."; return(View()); }