Пример #1
0
        public ActionResult ParseWords(ParseWordsViewModel parseWordsViewModel)
        {
            var parsedWordsViewModel = new ParsedWordsViewModel();

            try
            {
                parsedWordsViewModel.Languages = _polyglotListsService.GetLanguaches().ToSeletListItems(l => l.Name, l => l.Id, 1);
                parsedWordsViewModel.Statuses  = _polyglotListsService.GetWordStatuses().ToSeletListItems(s => s.Name, s => s.Id, 1);
                parsedWordsViewModel.Sets      = _userWordsService.GetUserWordsSets(this.GetAppUserId()).Select(s => s.Name).ToList();
                parsedWordsViewModel.SetName   = parsedWordsViewModel.Sets.FirstOrDefault();
                IEnumerable <WordInfo> parsedWords = _foreignTexServise.ParseWords(parseWordsViewModel.Text, parseWordsViewModel.SeparatorsArr);

                if (parseWordsViewModel.ExcludeExists)
                {
                    var existsWords = _userWordsService.GetUserWords().Select(w => w.Word.Text).ToList();
                    parsedWords = parsedWords.Where(w => !existsWords.Contains(w.Word));
                }

                parsedWordsViewModel.WordsJson = JsonConvert.SerializeObject(parsedWords.Select(w => new { w.Word, w.Count, id = Guid.NewGuid() }));

                //FillListsParseWordsVM(ref parseWordsViewModel);
            }
            catch (Exception ex)
            {
                //return new HttpStatusCodeResult(HttpStatusCode.OK, ex.CollectMessages());
                ModelState.AddModelError("", ex.CollectMessages());
            }
            return(PartialView("_ParsedWords", parsedWordsViewModel));
        }
Пример #2
0
        public ActionResult SaveParsedWords(ParsedWordsViewModel parseWordsViewModel)
        {
            int wordsCount = 0;

            try
            {
                var deserializeObject = JsonConvert.DeserializeObject <WordInfo[]>(parseWordsViewModel.WordsJson);
                var words             = deserializeObject.Select(w => w.Word);
                _userWordsService.Add(words, parseWordsViewModel.SetName, parseWordsViewModel.Language_Id, parseWordsViewModel.Status_Id);
                wordsCount = words.Count();
            }
            catch (Exception ex)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, ex.CollectMessages()));
            }

            return(Json(wordsCount));
            //return RedirectToAction("Index", "Home");
        }