public ActionResult Create(FormCollection collection, GroupWord model) { try { model.Id = Public.GetID2(); model.Word = collection["Word"]; model.C1 = 0; model.C2 = 0; model.C3 = 0; model.C4 = 0; model.C5 = 0; model.ProductId = collection["ProductId"]; db.GroupWords.Add(model); db.SaveChanges(); TempData["success"] = "Thêm thành công."; return(RedirectToAction("List", new { id = model.ProductId })); } catch { TempData["error"] = "Thêm lỗi."; return(RedirectToAction("List")); } }
/// <summary> /// Создает слова для группы /// </summary> /// <param name="groupForUser">группа, к которой нужно добавить слово</param> /// <param name="source">слово</param> /// <param name="translation">перевод</param> /// <param name="image">изображение для слова</param> /// <param name="rating">рейтинг</param> /// <returns>созданные слова для группы, или ничего</returns> public SourceWithTranslation GetOrCreate(GroupForUser groupForUser, PronunciationForUser source, PronunciationForUser translation, byte[] image, int?rating) { var wordsQuery = new WordsQuery(); WordWithTranslation wordWithTranslation = wordsQuery.GetOrCreate(source, translation, image, WordType.Default, null); if (wordWithTranslation == null) { return(null); } SourceWithTranslation result = Adapter.ReadByContext(c => { var wordsWithTranslationsQuery = (from w1 in c.Word join wt in c.WordTranslation on w1.Id equals wt.WordId1 join gw in c.GroupWord on wt.Id equals gw.WordTranslationId join w2 in c.Word on wt.WordId2 equals w2.Id where gw.GroupId == groupForUser.Id && wt.Id == wordWithTranslation.Id select new { gw, wt, w1, w2 }); var firstRecord = wordsWithTranslationsQuery.AsEnumerable().FirstOrDefault(); if (firstRecord == null) { return(null); } //сохранить возможно изменившийся рейтинг GroupWord groupWord = firstRecord.gw; groupWord.Rating = rating; c.SaveChanges(); SourceWithTranslation innerResult = ConverterEntities.ConvertToSourceWithTranslation(firstRecord.wt.Id, firstRecord.wt. Image, wordWithTranslation .Source. LanguageId, firstRecord.w1, firstRecord.w2); return(innerResult); }); if (result == null) { result = Create(groupForUser, wordWithTranslation, rating); } return(result); }
private SourceWithTranslation Create(GroupForUser groupForUser, WordWithTranslation wordWithTranslation, int?rating) { SourceWithTranslation result = null; Adapter.ActionByContext(context => { var groupWord = new GroupWord { WordTranslationId = wordWithTranslation.Id, GroupId = groupForUser.Id, Rating = rating }; context.GroupWord.Add(groupWord); context.SaveChanges(); if (IdValidator.IsValid(groupWord.Id)) { result = new SourceWithTranslation(); result.Set(groupWord.Id, wordWithTranslation.Source, wordWithTranslation.Translations[0]); } }); return(result); }
private Tuple <UserKnowledge, UserRepetitionInterval> ConvertRow(GroupWord groupWord, UserRepetitionInterval userRepetitionInterval) { DateTime minDateTime = new DateTime().GetDbDateTime(); var userKnowledge = new UserKnowledge { Id = groupWord.Id, DataId = groupWord.WordTranslationId, DataType = _dataType, Data = null, UserId = _userId, LanguageId = _languageId, CreationDate = minDateTime, DeletedDate = minDateTime, Hash = null, Tip = null, SystemData = null, Status = (int)KnowledgeStatus.Unknown }; return(new Tuple <UserKnowledge, UserRepetitionInterval>(userKnowledge, userRepetitionInterval)); }