public bool Follow(long UserID, long SoalID) { try { var u = db.Set <ApplicationUser>().Find(UserID); /// new UserRepository(db).GetById(UserID); //db.Users.FirstOrDefault(e => e.Id.Equals(UserID)); var s = GetById(SoalID); if (s != null && u != null) { var f = new SoalFollower(); f.ApplicationUser = u; f.SoalId = s.Id; //db.SoalFollowers.Add(f); db.Addnew <SoalFollower>(f); return(true); } else { return(false); } } catch { return(false); } }
public bool Post_zirreshteh_for_user_old(long[] ZRId, long UserId) { var user = _Userrepository.GetById(UserId); if (ZRId != null) { var zir = db.Set <ReshtehUser>().Where(z => z.ApplicationUserId.Equals(UserId)); var zr = (from c in zir.Where(x => !ZRId.Contains(x.ZirReshtehId)) select c).ToList(); zr.ForEach(x => x.IsDeleted = true); ZRId.Except(zir.Where(x => !x.IsDeleted).Select(x => x.ZirReshtehId)); //soalVM.Tags.Except(tags.Where(x => !x.Isdeleted).Select(x => x.Id)); //یک فیلتر یا کوئری برای اضافه کردن رکورد جدید به جدول //تگ سوال برای تگهای جدید اضافه //شده توسط کاربر باید نوشته شد foreach (var n in ZRId) { db.Addnew <ReshtehUser>(new ReshtehUser { IsDeleted = false, ZirReshtehId = n, ApplicationUserId = user.Id }); } } else { var tg = db.Set <ReshtehUser>().Where(x => x.ApplicationUserId.Equals(user.Id)).ToList(); tg.ForEach(x => x.IsDeleted = true); } db.SaveAllChanges(); return(true); }
public virtual bool Insert(TEntity entity) { try { context.Addnew(entity); return(true); } catch { return(false); } }
// private IList<SoalToUser> Post_Soal_To_user_by_UserId(long userId) // { // var stu = new List<SoalToUser>(); // var u = _Userrepository.Get_ZirReshtehId_by_UserId(userId); // //سوالهای جدید را بر اساس شناسه سوال که بزگتر از آخرین سوال پرسیده شده از کاربر باشه رو جدا میکند // var sq = _soal.GetAllByzirreshteh(u.FirstOrDefault()) // .Where(x => x.ApplicationUserId != userId && x.Id > lastSoalToUserId(userId)).ToList(); // foreach (var n in u.Skip(1)) // { // var q = _soal.GetAllByzirreshteh(n) // .Where(x => x.ApplicationUserId != userId && x.Id > lastSoalToUserId(userId)).ToList(); // sq.Concat(q); // } // if (sq.Count() < 1) // { return stu; } // var User = _users.GetCurrentUserAsync().Result; // stu = sq.Select(x=> new SoalToUser { // User = User, // Soal = x, // Isanswered = false , // Isdeleted = false, // IsVisited = false // }).ToList(); // db.Set<SoalToUser>().AddRange(stu); // db.SaveAllChanges(); // return stu.ToList(); // } public IList <Soal> Post_Soal_To_user_by_UserId_10(long userId) { var u = _Userrepository.Get_ZirReshtehId_by_UserId(userId); //سوالهای جدید را بر اساس شناسه سوال که بزگتر از آخرین سوال پرسیده شده از کاربر باشه رو جدا میکند var sq = _soal.GetAllByzirreshteh(u.FirstOrDefault()) .Where(x => x.ApplicationUserId != userId && x.Id > lastSoalToUserId(userId)).ToList(); foreach (var n in u.Skip(1)) { var q = _soal.GetAllByzirreshteh(n) .Where(x => x.ApplicationUserId != userId && x.Id > lastSoalToUserId(userId)).ToList(); sq.Concat(q); } if (sq.Count() < 1) { return(null); } var User = _users.GetCurrentUserAsync().Result; foreach (var n in sq.Take(10)) { db.Addnew( new SoalToUser { Isdeleted = false, Soal = n, User = User, IsVisited = true }); } db.SaveAllChanges(); return(sq.Take(10).ToList()); }
public TagVM CreatTag(TagVM tag) { try { if (tag == null) { throw new NullReferenceException(); } Tag tg = new Tag(); tg.Onvan = tag.Onvan; db.Addnew <Tag>(tg); db.SaveAllChanges(); tag.Id = tg.Id; return(tag); } catch { return(null); } }
public bool EditforSoal(SoalEditVM soalVM) { try { var sl = _soalRepository.GetById(soalVM.Id); sl.Matn = soalVM.Matn; if (soalVM.TagsId != null) { var tags = db.Set <TagSoal>().Include(S => S.Soal).ToList().Where(x => x.Soal.Id.Equals(soalVM.Id)); var s = (from c in tags.Where(x => !soalVM.TagsId.Contains(x.Id)) select c).ToList(); s.ForEach(x => x.Isdeleted = true); soalVM.TagsId.Except(tags.Where(x => !x.Isdeleted).Select(x => x.Id)); //یک فیلتر یا کوئری برای اضافه کردن رکورد جدید به جدول //تگ سوال برای تگهای جدید اضافه //شده توسط کاربر باید نوشته شد foreach (var n in soalVM.TagsId) { db.Addnew <TagSoal>(new TagSoal { Isdeleted = false, TagId = n, Soal = sl }); } } else { var tg = db.Set <TagSoal>().Where(x => x.Soal.Id.Equals(soalVM.Id)).ToList(); tg.ForEach(x => x.Isdeleted = true); } db.MarkAsChanged <Soal>(sl); db.SaveAllChanges(); return(true); } catch { return(false); } }
public async Task <TagVM> CreatAsync(TagVM t) { try { Tag tg = new Tag(); tg.Onvan = t.Onvan; db.Addnew <Tag>(tg); await db.SaveAllChangesAsync(); t.Id = tg.Id; return(t); } catch { return(null); } }
public bool Creatjavab(JavabVM jv) { try { var s = _users.GetCurrentUserAsync().Result; var sl = _soals.GetById(jv.IdSoal); if (sl == null || s == null) { return(false); } db.Addnew <Javab>(new Javab { Matn = jv.Matn, IsDeleted = false, Isvisited = false, Soal = sl, User = s, RegDate = DateTime.Now }); db.SaveAllChanges(); return(true); } catch { return(false); } }