Beispiel #1
0
 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());
        }
Beispiel #5
0
 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); }
 }
Beispiel #6
0
        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);
            }
        }
Beispiel #7
0
        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); }
 }