public async Task CreateDictionary(string fileName) { Dictionary <string, int> wordToCount = await _fileReader.ReadFile(fileName); await ClearDictionary(); var wordEntities = wordToCount.Select((wordAndCount) => new Word() { Count = wordAndCount.Value, Value = wordAndCount.Key }) .ToList(); await _context.Words.AddRangeAsync(wordEntities); _context.SaveChanges(); }
//public ActionResult CreateNewDuplicate() //{ // try // { // using (var ctx = new WordsContext()) // { // var model = new Models.DuplicatesModel(); // //CREATE NEW DUPLICATE // int order = ctx.Duplicates.OrderByDescending(i => i.Order).Take(1).Select(x => x.Order).FirstOrDefault(); // order++; // var dup = ctx.Duplicates.Add(new Duplicate() { Answer1 = "xxx", Answer2 = "xxx", Answer3 = "xxx", Answer4 = "xxx", Order = order }); // ctx.SaveChanges(); // model.Duplicate = dup; // return View(model); // } // } // catch (Exception ex) // { // throw ex; // } //} public ActionResult CreateCollection() { using (var ctx = new WordsContext()) { var collection = new Collection() { Name = "Empty" + DateTime.Now.Millisecond }; var dup = new List <Duplicate>(); for (int i = 0; i < 10; i++) { dup.Add(new Duplicate() { Order = i, Collection = collection }); } //collection.Duplicates = dup; collection.Type = collectionType.duplicates; ctx.Collections.Add(collection); ctx.SaveChanges(); } Response.StatusCode = (int)System.Net.HttpStatusCode.OK; return(RedirectToAction("Index", "Duplicates")); }
public ActionResult ManageDuplicatesAjax(string duplicateid, string question, string answer1, string answer2, string answer3, string answer4, bool answer1iscorrect, bool answer2iscorrect, bool answer3iscorrect, bool answer4iscorrect) { if (!(Session["IsAdmin"] != null && Session["IsAdmin"].ToString().ToUpper() == "TRUE")) { return(Content("Not allowed", MediaTypeNames.Text.Plain)); } using (var ctx = new WordsContext()) { var dup = ctx.Duplicates.Where(x => x.DuplicateId.ToString() == duplicateid).SingleOrDefault(); dup.Question = question; dup.Answer1 = answer1; dup.Answer2 = answer2; dup.Answer3 = answer3; dup.Answer4 = answer4; dup.Answer1IsCorrect = answer1iscorrect; dup.Answer2IsCorrect = answer2iscorrect; dup.Answer3IsCorrect = answer3iscorrect; dup.Answer4IsCorrect = answer4iscorrect; ctx.ChangeTracker.DetectChanges(); //alternative is to set context.Configuration.AutoDetectChangesEnabled = true ctx.SaveChanges(); } // Response.StatusCode = (int)HttpStatusCode.OK; return(Content("Message sent!", MediaTypeNames.Text.Plain)); // return View(model); }
public ActionResult CreateCollection() { using (var ctx = new WordsContext()) { var collection = new Collection() { Name = "Empty" + DateTime.Now.Millisecond }; var words = new List <Word>(); for (int i = 0; i < 10; i++) { words.Add(new Word() { Part1 = "", Part2 = "", Part3 = "", Part4 = "", Collection = collection }); } //collection.Words = words; collection.Type = collectionType.words; ctx.Collections.Add(collection); ctx.SaveChanges(); } Response.StatusCode = (int)HttpStatusCode.OK; return(RedirectToAction("Index", "Words")); }
public JsonResult AddNewLanguageWords() { bool isAuthenticated = (System.Web.HttpContext.Current.User != null) && System.Web.HttpContext.Current.User.Identity.IsAuthenticated; if (!isAuthenticated) { return(null); } using (wordContext = new WordsContext()) { usercl = wordContext.Users.Where(x => x.name == User.Identity.Name).FirstOrDefault(); IEnumerable <UserWord> userLanguageWords = usercl.usersWords.Where(x => x.word.foreignLanguage.id == usercl.settings.currentLangage.id); IQueryable <Word> newLanguageWords = wordContext.Words.Where(x => x.foreignLanguage.id == usercl.settings.currentLangage.id); int numberOfNewWords = 0; foreach (Word word in newLanguageWords) { if (userLanguageWords.FirstOrDefault(x => x.word.id == word.id) == null) { usercl.usersWords.Add(new UserWord() { lastTimeAccesed = DateTime.Now, levelOfKnowledge = 0, user = usercl, word = word }); numberOfNewWords++; } } wordContext.SaveChanges(); return(Json(numberOfNewWords, JsonRequestBehavior.AllowGet)); } }
public ActionResult Index([Bind(Include = "language,strategy")] LanguageAndStrategyContener lanStr) { using (wordcontext = new WordsContext()) { UserCl usercl = wordcontext.Users.Where(x => x.name == User.Identity.Name).FirstOrDefault(); if (usercl.languages.Where(x => x.id == lanStr.language.id).FirstOrDefault() == null) { if (usercl.languages.ToList() == null) { usercl.languages = new List <Language>(); } if (usercl.usersWords.ToList() == null) { usercl.usersWords = new List <UserWord>(); } IQueryable <Word> languageWords = wordcontext.Words.Where(x => x.foreignLanguage.id == lanStr.language.id); foreach (Word word in languageWords) { usercl.usersWords.Add(new UserWord() { lastTimeAccesed = DateTime.Now, levelOfKnowledge = 0, user = usercl, word = word }); } usercl.languages.Add(wordcontext.Languages.Where(x => x.id == lanStr.language.id).First()); } usercl.settings.currentLangage = usercl.languages.FirstOrDefault(x => x.id == lanStr.language.id); usercl.settings.numberOfWordsPerLearning = lanStr.strategy.id; wordcontext.SaveChanges(); return(RedirectToAction("Index", "Home")); } }
public static void Add(Word word) { using (wordsContext = new WordsContext()) { wordsContext.Words.Add(word); wordsContext.SaveChanges(); } }
public ActionResult DeleteCollection(int collectionid) { using (var ctx = new WordsContext()) { ctx.Words.RemoveRange(ctx.Words.Where(x => x.Collection.CollectionId == collectionid)); ctx.Collections.RemoveRange(ctx.Collections.Where(x => x.CollectionId == collectionid)); ctx.SaveChanges(); } return(RedirectToAction("Index", "Words")); }
public JsonResult LevelUp(int option) { using (wordcontext = new WordsContext()) { UserCl usercl = wordcontext.Users.Where(x => x.name == User.Identity.Name).FirstOrDefault(); wordcontext.UserWords.Where(x => x.id == option).First().levelOfKnowledge = 10; wordcontext.SaveChanges(); return(Json(JsonRequestBehavior.AllowGet)); } }
public ActionResult Create([Bind(Include = "id,category,partOfSpeach,homeText,homeLanguage,foreignLanguage,foreignText,description")] Word word) { if (ModelState.IsValid) { Language homeLanguage = wordcontext.Languages.FirstOrDefault(x => x.id == word.homeLanguage.id); Language foreignLanguage = wordcontext.Languages.FirstOrDefault(x => x.id == word.homeLanguage.id); PartOfSpeach partOfSpeach = wordcontext.Parts.FirstOrDefault(x => x.id == word.partOfSpeach.id); Category category = wordcontext.Categories.FirstOrDefault(x => x.id == word.category.id); word.homeLanguage = homeLanguage; word.foreignLanguage = foreignLanguage; word.partOfSpeach = partOfSpeach; word.category = category; wordcontext.Words.Add(word); wordcontext.SaveChanges(); return(RedirectToAction("Index")); } return(View(word)); }
public ActionResult UploadImage(string FileUpload, string DuplicateId, int Num) { if (!(Session["IsAdmin"] != null && Session["IsAdmin"].ToString().ToUpper() == "TRUE")) { return(Content("Not allowed", System.Net.Mime.MediaTypeNames.Text.Plain)); } using (var ctx = new WordsContext()) { using (var image = System.Drawing.Image.FromStream(Request.Files[0].InputStream)) { using (var scaledImage = ImageController.ScaleImage(image, 300, 300)) { MemoryStream ms = new MemoryStream(); scaledImage.Save(ms, ImageFormat.Jpeg); var dup = ctx.Duplicates.Where(x => x.DuplicateId.ToString() == DuplicateId).SingleOrDefault(); switch (Num) { case 0: dup.ImageQuestion = new Picture(); dup.ImageQuestion.Content = ms.ToArray(); break; case 1: dup.Image1 = new Picture(); dup.Image1.Content = ms.ToArray(); break; case 2: dup.Image2 = new Picture(); dup.Image2.Content = ms.ToArray(); break; case 3: dup.Image3 = new Picture(); dup.Image3.Content = ms.ToArray(); break; case 4: dup.Image4 = new Picture(); dup.Image4.Content = ms.ToArray(); break; } ctx.ChangeTracker.DetectChanges(); ctx.SaveChanges(); } } } return(Json(new { success = "Valid" })); }
public ActionResult ChangeCollectionName(string collectionname, int collectionid) { using (var ctx = new WordsContext()) { var collectionToChange = ctx.Collections.Where(x => x.CollectionId == collectionid).SingleOrDefault(); collectionToChange.Name = collectionname; ctx.ChangeTracker.DetectChanges(); ctx.SaveChanges(); } return(Json(new { success = "Valid" })); }
public ActionResult Upload(string File, int WordId, int PartId) { if (!(Session["IsAdmin"] != null && Session["IsAdmin"].ToString().ToUpper() == "TRUE")) { return(Content("Not allowed", System.Net.Mime.MediaTypeNames.Text.Plain)); } var file = Request.Files[0]; using (var ctx = new WordsContext()) { var wordToChange = ctx.Words.Where(x => x.WordId == WordId).SingleOrDefault(); var bytes = SoundController.ReadFully(file.InputStream); //var data = ConvertWavToMp3(bytes); switch (PartId) { case 1: wordToChange.Part1Sound = bytes; break; case 2: wordToChange.Part2Sound = bytes; break; case 3: wordToChange.Part3Sound = bytes; break; case 4: wordToChange.Part4Sound = bytes; break; case 5: wordToChange.Part5Sound = bytes; break; case 6: wordToChange.Part6Sound = bytes; break; case 7: wordToChange.Part7Sound = bytes; break; } ctx.ChangeTracker.DetectChanges(); ctx.SaveChanges(); } return(Json(new { success = "Successfully uploaded file for Wordid:" + WordId + " PartId:" + PartId })); }
public async Task <ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl) { if (User.Identity.IsAuthenticated) { return(RedirectToAction("Index", "Manage")); } if (ModelState.IsValid) { // Get the information about the user from the external login provider var info = await AuthenticationManager.GetExternalLoginInfoAsync(); if (info == null) { return(View("ExternalLoginFailure")); } var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; var result = await UserManager.CreateAsync(user); if (result.Succeeded) { result = await UserManager.AddLoginAsync(user.Id, info.Login); if (result.Succeeded) { var usercl = new UserCl { name = user.UserName }; var userSettings = new UserSettings { currentLangage = null, numberOfWordsPerLearning = 20 }; WordsContext wc = new WordsContext(); wc.Settings.Add(userSettings); usercl.settings = userSettings; wc.Users.Add(usercl); wc.SaveChanges(); await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); return(RedirectToLocal(returnUrl)); } } AddErrors(result); } ViewBag.ReturnUrl = returnUrl; return(View(model)); }
public static void Delete(string wordId) { using (wordsContext = new WordsContext()) { foreach (var item in wordsContext.Words) { if (item.WordId == wordId) { wordsContext.Words.Remove(item); wordsContext.SaveChanges(); } } } }
private void DoImportCategory(string obj) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "JSON file | *.json"; openFileDialog.ShowDialog(); //openFileDialog.ShowDialog() == DialogResult.OK --> erkennt DialgResult nicht???? if (true) { if (openFileDialog.FileName.Trim() != string.Empty) { using (StreamReader r = new StreamReader(openFileDialog.FileName)) { string json = r.ReadToEnd(); Category category = JsonConvert.DeserializeObject <Category>(json); Console.WriteLine("Test Import: " + category.WordGroups.Count); words_db.Categories.Add(category); words_db.SaveChanges(); Categories = words_db.Categories.Select(x => x).AsObservableCollection(); } } } }
public ActionResult CreateNewDuplicateCollection() { try { using (var ctx = new WordsContext()) { //var model = new Models.DuplicatesModel(); var col = new Collection() { Type = collectionType.duplicates, Name = "xxx" }; ctx.Collections.Add(col); ctx.SaveChanges(); //CREATE NEW DUPLICATE for (int i = 0; i < 10; i++) { //int order = ctx.Duplicates.OrderByDescending(i => i.Order).Take(1).Select(x => x.Order).FirstOrDefault(); //order++; var dup = new Duplicate() { Answer1 = "xxx", Answer2 = "xxx", Answer3 = "xxx", Answer4 = "xxx", Order = i + 1, Collection = col }; ctx.Duplicates.Add(dup); //col.Duplicates.Add(dup); } ctx.SaveChanges(); //modelDuplicate = dup; return(null);// View(model); } } catch (Exception ex) { throw ex; } }
public ActionResult ManageWords(string wordid, string partid, string content) { if (!(Session["IsAdmin"] != null && Session["IsAdmin"].ToString().ToUpper() == "TRUE")) { return(Content("Not allowed", MediaTypeNames.Text.Plain)); } string Partid = partid.First().ToString().ToUpper() + partid.Substring(1); using (var ctx = new WordsContext()) { var wordToChange = ctx.Words.Include(x => x.Image).Where(x => x.WordId.ToString() == wordid).SingleOrDefault(); wordToChange.GetType().GetProperty(Partid).SetValue(wordToChange, content); ctx.ChangeTracker.DetectChanges(); //alternative is to set context.Configuration.AutoDetectChangesEnabled = true ctx.SaveChanges(); } Response.StatusCode = (int)HttpStatusCode.OK; return(Content("Message sent!", MediaTypeNames.Text.Plain)); }
public ActionResult RemoveImage(string Id, int Num) { if (!(Session["IsAdmin"] != null && Session["IsAdmin"].ToString().ToUpper() == "TRUE")) { return(Content("Not allowed", System.Net.Mime.MediaTypeNames.Text.Plain)); } using (var ctx = new WordsContext()) { var dup = ctx.Duplicates.Where(x => x.DuplicateId.ToString() == Id).SingleOrDefault(); switch (Num) { case 0: dup.ImageQuestion = null; break; case 1: dup.Image1 = null; break; case 2: dup.Image2 = null; break; case 3: dup.Image3 = null; break; case 4: dup.Image4 = null; break; } ctx.ChangeTracker.DetectChanges(); ctx.SaveChanges(); return(RedirectToAction("ManageDuplicates", new { id = dup.DuplicateId })); } }
public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; var usercl = new UserCl { name = user.UserName }; var userSettings = new UserSettings { currentLangage = null, numberOfWordsPerLearning = 20 }; WordsContext wc = new WordsContext(); wc.Settings.Add(userSettings); usercl.settings = userSettings; wc.Users.Add(usercl); wc.SaveChanges(); var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>"); return(RedirectToAction("Index", "Home")); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }
public ActionResult UploadImage(string FileUpload, string WordId, string CollectionId) { if (!(Session["IsAdmin"] != null && Session["IsAdmin"].ToString().ToUpper() == "TRUE")) { return(Content("Not allowed", System.Net.Mime.MediaTypeNames.Text.Plain)); } using (var ctx = new WordsContext()) { using (var image = System.Drawing.Image.FromStream(Request.Files[0].InputStream)) { using (var scaledImage = ImageController.ScaleImage(image, 300, 300)) { MemoryStream ms = new MemoryStream(); scaledImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); if (CollectionId == "undefined") { var word = ctx.Words.Where(x => x.WordId.ToString() == WordId).SingleOrDefault(); word.Image = new Picture(); word.Image.Content = ms.ToArray(); } else { var collection = ctx.Collections.Where(x => x.CollectionId.ToString() == CollectionId).SingleOrDefault(); collection.Image = new Picture(); collection.Image.Content = ms.ToArray(); } ctx.ChangeTracker.DetectChanges(); ctx.SaveChanges(); } } } return(Json(new { success = "Valid" })); }
public void Save() { _dbContext.SaveChanges(); }
public JsonResult GetResults(Dictionary <string, object> option) { bool isAuthenticated = (System.Web.HttpContext.Current.User != null) && System.Web.HttpContext.Current.User.Identity.IsAuthenticated; if (!isAuthenticated) { return(null); } UserWord checkedWord; List <ResultType> listOfResults = new List <ResultType>(); Dictionary <string, object> resultList = option; double result; bool okWord; double okWords = 0; double subResult; object Jresult; wordContext = new WordsContext(); usercl = wordContext.Users.Where(x => x.name == User.Identity.Name).FirstOrDefault(); foreach (var cell in resultList) { checkedWord = usercl.usersWords.Where(x => x.id == Convert.ToInt32(cell.Key)).First(); if (checkedWord.word.foreignText.ToLower() == Convert.ToString(cell.Value).ToLower()) { if (checkedWord.levelOfKnowledge < 10) { checkedWord.levelOfKnowledge += 1; } else { checkedWord.levelOfKnowledge = 10; } okWord = true; okWords++; } else { okWord = false; checkedWord.levelOfKnowledge -= 1; } checkedWord.lastTimeAccesed = DateTime.Now; listOfResults.Add(new ResultType(checkedWord.word.homeText, checkedWord.word.foreignText, Convert.ToString(cell.Value), checkedWord.levelOfKnowledge, okWord)); } subResult = okWords / resultList.Count; result = Convert.ToInt32(Math.Round(subResult, 2) * 100); var listOfWords = listOfResults .Select(a => new { Word = a.word, WordExt = a.extWord, Level = a.currentLevel, LevelUp = a.levlUp, YourResult = a.yourResponse }); Jresult = new { Result = result, List = listOfWords }; wordContext.SaveChanges(); return(Json(Jresult, JsonRequestBehavior.AllowGet)); }