public ActionResult Create([Bind(Include = "GroupId,Name,Difficult,WordsCount")] Group group, HttpPostedFileBase file) { if (ModelState.IsValid) { if (file != null && file.ContentLength > 0) { MemoryStream target = new MemoryStream(); file.InputStream.CopyTo(target); group.Image = target.ToArray(); } var identity = User.Identity.GetUserId(); if (db.User.Where(x => x.IdentityId == identity).Select(x => x.UserId).Count() > 0) { group.OwnerId = db.User.Where(x => x.IdentityId == identity).Select(x => x.UserId).First(); } else { group.OwnerId = 1; } db.Group.Add(group); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.OwnerId = new SelectList(db.User, "UserId", "UserId", group.OwnerId); return(View(group)); }
public ActionResult Create([Bind(Include = "Id,Text,Translate,GroupId,AuthorId")] Grammar grammar, HttpPostedFileBase file) { if (ModelState.IsValid) { byte[] bytes = null; if (file != null && file.ContentLength > 0) { using (var binaryReader = new BinaryReader(file.InputStream)) { bytes = binaryReader.ReadBytes(file.ContentLength); } } if (bytes == null) { grammar.Voice = UploadVoice(grammar.Text); } else { grammar.Voice = bytes; } db.Grammar.Add(grammar); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.GroupId = new SelectList(db.GrammarGroup.Where(x => x.ParentId != 0), "GroupId", "Name", grammar.GroupId); ViewBag.AuthorId = new SelectList(db.User, "UserId", "UserId", grammar.AuthorId); return(View(grammar)); }
private void SaveHistory(int time, DateTime startTime, double percent, TestHistory history) { var minutes = (DateTime.Now - startTime).TotalMinutes; if (minutes < time && history.SuccessPercent >= percent) { db.TestHistory.Add(history); db.SaveChanges(); } }
public ActionResult Create([Bind(Include = "AnswerId,QuestionId,AnswerText,Rightness")] Answer answer) { if (ModelState.IsValid) { db.Answer.Add(answer); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.QuestionId = new SelectList(db.Question, "QuestionId", "QuestText", answer.QuestionId); return(View(answer)); }
public ActionResult Create([Bind(Include = "QuestionId,TestId,QuestText")] Question question) { if (ModelState.IsValid) { db.Question.Add(question); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.TestId = new SelectList(db.Test, "TestId", "Name", question.TestId); return(View(question)); }
public ActionResult Create([Bind(Include = "WordId,Word1,Translate,GroupId,PartOfSpeech,Transcription,Synonyms")] Word word) { ViewBag.Group = word.GroupId; if (ModelState.IsValid) { word = UploadVoice(word); var group = db.Group.Find(word.GroupId); group.WordsCount = group.WordsCount + 1; db.Entry(group).State = EntityState.Modified; db.Word.Add(word); db.SaveChanges(); return(RedirectToAction("Index", new { GroupId = word.GroupId })); } return(View(word)); }
private void SaveUserLvl(string grpName, double percent) { string userIdentity = User.Identity.GetUserId(); var user = (from u in db.User where u.IdentityId == userIdentity select u).First(); string result = user.ObjLvlListening; if (percent >= 80) { Difficult userLvl = (Difficult)Enum.Parse(typeof(Difficult), user.ObjLvlListening.Replace('-', '_')); foreach (Difficult el in Enum.GetValues(typeof(Difficult))) { string name = el.ToString(); int value = (int)el; if (grpName == "Рівень " + name) { if (value > (int)userLvl) { result = name; } } } } result = result.Replace('_', '-'); user.ObjLvlListening = result; db.SaveChanges(); }
public ActionResult Create([Bind(Include = "GroupId,Name,Difficult,ParentId")] GrammarGroup grammarGroup) { if (ModelState.IsValid) { ELTask task = new ELTask() { AuthorId = 1, Difficult = grammarGroup.Difficult, Group = "Grammar", GrammarGroup = grammarGroup, Name = grammarGroup.Name, Description = "Виконайте граматичну вправу для заданої групи" }; db.ELTask.Add(task); db.GrammarGroup.Add(grammarGroup); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.ParentId = new SelectList(db.GrammarGroup, "GroupId", "Name", grammarGroup.ParentId); return(View(grammarGroup)); }
public async Task <ActionResult> ConfirmEmail(string userId, string code) { if (userId == null || code == null) { return(View("Error")); } var result = await UserManager.ConfirmEmailAsync(userId, code); var db = new EnglishLearningEntities(); Models.User user = new User(); //TODO: try catch может помешать при отлавливании ошибок try { user.IdentityId = userId; user.Level = "Beginner"; user.ObjectiveLevel = "Beginner"; user.LvlListening = "Beginner"; user.LvlReading = "Beginner"; user.LvlWriting = "Beginner"; user.ObjLvlListening = "Beginner"; user.ObjLvlReading = "Beginner"; user.ObjLvlWriting = "Beginner"; user.Tested = false; db.User.Add(user); db.SaveChanges(); } catch { ApplicationUser userToDelete = UserManager.FindById(userId); var login = UserManager.DeleteAsync(userToDelete); return(View("Error")); } return(View(result.Succeeded ? "ConfirmEmail" : "Error")); }
private void SaveUserLvl(TextTask text) { if (text.Name.StartsWith("Текст на рівень знань: ")) { var identity = User.Identity.GetUserId(); var user = db.User.Where(x => x.IdentityId == identity).First(); string result = user.ObjLvlReading; Difficult userLvl = (Difficult)Enum.Parse(typeof(Difficult), user.ObjLvlReading.Replace('-', '_')); foreach (Difficult el in Enum.GetValues(typeof(Difficult))) { string name = Enum.Format(typeof(Difficult), el, "G"); int value = (int)el; if (text.Name == "Текст на рівень знань: " + name) { if (value > (int)userLvl) { result = name; } } } result = result.Replace('_', '-'); user.ObjLvlReading = result; db.SaveChanges(); } }
public bool CheckResult(int id, string value) { List <Word> words = Session["questions"] as List <Word>; bool result = CompareResult(words[Convert.ToInt32(Session["Index"])], id, value, Session["Exercise"].ToString()); if (result) { Session["AnswerCount"] = Convert.ToInt32(Session["AnswerCount"]) + 1; int userId = GetCurrentUserId(); LearningWord learnedWord = (from lw in db.LearningWord where lw.WordId == id && lw.UserId == userId select lw).First(); learnedWord.ExcerciseDate = DateTime.Now; if (learnedWord.LearnPercent >= 100 - 15) { learnedWord.LearnPercent = 100; learnedWord.LearnedDate = DateTime.Now.Date; } else { learnedWord.LearnPercent += 15; } db.SaveChanges(); } return(result); }
public ActionResult Create([Bind(Include = "Id,VideoHtml,Genre,Type,Name,AuthorLink,UserId,Difficult,Order")] Video video) { if (ModelState.IsValid) { try { var identity = User.Identity.GetUserId(); video.UserId = db.User.Where(x => x.IdentityId == identity).Select(x => x.UserId).First(); } catch { video.UserId = 1; } db.Video.Add(video); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(video)); }
public ActionResult Create([Bind(Include = "LectionId,Name,OwnerId,LectionType,Description,Editable,ExportOwner,Complexity,ComplexityOrder,LectionPath")] Lection lection, HttpPostedFileBase file) { if (ModelState.IsValid) { lection.LectionPath = FileOperations.SaveFile(file, Server, pathToSave, extensions); lection.LectionText = new byte[] { }; ELTask task = new ELTask() { AuthorId = 1, Difficult = lection.Complexity, Group = "Lection", Lection = lection, Name = lection.Name, Description = "Прочитайте зазначену лекцію" }; db.ELTask.Add(task); db.Lection.Add(lection); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.OwnerId = new SelectList(db.User, "UserId", "UserId", lection.OwnerId); ViewBag.LectionType = new SelectList(db.LectionGroup, "LectionGroupId", "Name", lection.LectionType); return(View(lection)); }
public ActionResult Create([Bind(Include = "TextId,Name,Text,Words,Difficult")] TextTask textTask) { if (ModelState.IsValid) { if (textTask.Words.EndsWith(";")) { textTask.Words = textTask.Words.TrimEnd(';'); } textTask.AuthorId = 1; ELTask task = new ELTask() { AuthorId = 1, Difficult = textTask.Difficult, Group = "TextTask", TextTask = textTask, Name = textTask.Name, Description = "Прочитайте текст та вставте в проміжки слова" }; db.ELTask.Add(task); db.TextTask.Add(textTask); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(textTask)); }
public string CreateTask(ELTask eLTask, string date, HttpPostedFileBase file) { if (ModelState.IsValid) { eLTask.DocumentPath = FileOperations.SaveFile(file, Server, pathToSave, extensions); eLTask.AuthorId = GetUser(eLTask); if (string.IsNullOrEmpty(eLTask.Name)) { eLTask.Name = ""; } db.ELTask.Add(eLTask); UserELTask userTask = new UserELTask(); DateTime tempDate; try { tempDate = Convert.ToDateTime(date); } catch { tempDate = DateTime.Now.AddDays(7); } userTask.Date = tempDate; userTask.ELTask = eLTask; var userIdentity = User.Identity.GetUserId(); int userId = db.User.Where(x => x.IdentityId == userIdentity).Select(x => x.UserId).First(); userTask.UserId = userId; db.UserELTask.Add(userTask); db.SaveChanges(); } return(eLTask.Name); }
public ActionResult Create([Bind(Include = "TestId,Name,OwnerId,Difficult,TaskCount,TestType,Editable,ExportOwner,Time,Text")] Test test, HttpPostedFileBase file, HttpPostedFileBase testText) { if (ModelState.IsValid) { test.Voice = FileOperations.SaveFile(file, Server, pathToSave, extensions); ELTask task = new ELTask() { AuthorId = 1, Difficult = test.Difficult, Group = "Test", Test = test, Name = test.Name, Description = "Пройдіть заданий тест" }; if (testText != null && testText.ContentLength > 0) { CreateTestFromFile(testText, test); } db.ELTask.Add(task); db.Test.Add(test); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.OwnerId = new SelectList(db.User, "UserId", "UserId", test.OwnerId); ViewBag.TestType = new SelectList(db.TestGroup, "TestGroupId", "Name", test.TestType); return(View(test)); }
public int EditWord(int id, bool check) { LearningWord lw = new LearningWord(); if (check) { int userId = GetUser().UserId; lw = (from learningWord in db.LearningWord where learningWord.UserId == userId && learningWord.WordId == id select learningWord).First(); db.LearningWord.Remove(lw); db.SaveChanges(); } else { lw.AddedDate = DateTime.Now; lw.WordId = id; lw.LearnPercent = 0; lw.UserId = GetUser().UserId; db.LearningWord.Add(lw); db.SaveChanges(); } return(lw.LearningWordId); }
// GET: Profile public ActionResult Index() { var userId = User.Identity.GetUserId(); var user = (from u in db.User where u.IdentityId == userId select u).First(); ViewBag.UserData = user; var tasks = from ut in db.UserELTask.Include("ELTask") where ut.UserId == user.UserId && ut.Done == false && ut.ELTask.AuthorId == 1 select ut; DateTime now = DateTime.Now; var toDelete = tasks.Where(x => x.Date < now).ToList(); var count = toDelete.Count(); db.UserELTask.RemoveRange(toDelete); if ((tasks.Count() - count) < 7) { var bannedTasks = tasks.Select(x => x.ELTask.TaskId); string[] excludedRepeatGroups = new string[] { "Lection", "Test", "TextTask" }; var completedTasks = from ut in db.UserELTask.Include("ELTask") where ut.UserId == user.UserId && ut.Done == true && ut.ELTask.AuthorId == 1 && excludedRepeatGroups.Contains(ut.ELTask.Group) select ut.ELTask.TaskId; bannedTasks = bannedTasks.Concat(completedTasks); var list = bannedTasks.ToList(); UserELTask task; task = AddNewTaskByGroup("Lection", bannedTasks, user.UserId, user.Level); if (task != null) { db.UserELTask.Add(task); } task = AddNewTaskByGroup("Test", bannedTasks, user.UserId, user.Level); if (task != null) { db.UserELTask.Add(task); } task = AddNewTaskByGroup("TextTask", bannedTasks, user.UserId, user.LvlReading); if (task != null) { db.UserELTask.Add(task); } task = AddNewTaskByGroup("Grammar", bannedTasks, user.UserId, user.LvlWriting); if (task != null) { db.UserELTask.Add(task); } task = AddNewTaskByGroup("Other", bannedTasks, user.UserId, user.Level, true); if (task != null) { db.UserELTask.Add(task); } task = AddNewTaskByGroup("Word", bannedTasks, user.UserId, user.Level); if (task != null) { db.UserELTask.Add(task); } } db.SaveChanges(); return(View(user)); }