Example #1
0
        public ActionResult Create(Group group)
        {
            if (ModelState.IsValid)
            {
                var datein = DateTime.Now;
                group.DateIn = datein;
                var userID = new AccountController().GetonlineUser_ID();
                group.UserID = userID;
                var user = db.MembershipOfSites.Where(x => x.ID == userID).FirstOrDefault();
                var grade = db.Assistances.Select(x => x.GradeForCreateGroup).FirstOrDefault();
                user.Grade += grade;
                db.Groups.Add(group);
                db.SaveChanges();
                new UserLogsController().Create(new Log() { ActivityType = ActivityType.Create, CaseActivity = CaseActivity.Group, GroupID = group.ID });
                var groupx = db.Groups.Where(x => x.GroupSubject == group.GroupSubject && x.UserID == userID).FirstOrDefault();
                if (groupx != null)
                {
                    var reqgroup = new UserInGroup();
                    reqgroup.ID = Guid.NewGuid();
                    reqgroup.DateIn = DateTime.Now;
                    reqgroup.isAdminUser = true;
                    reqgroup.Status = true;
                    reqgroup.UserID = userID;
                    reqgroup.GroupID = groupx.ID;
                    db.UserInGroups.Add(reqgroup);
                    db.SaveChanges();
                }
                return RedirectToAction("Index");
            }

            ViewBag.UserID = new SelectList(db.MembershipOfSites, "ID", "Name", group.UserID);
            return View(group);
        }
Example #2
0
        public ActionResult InviteUser(int groupID, string StrID)
        {
            if (!string.IsNullOrEmpty(StrID))
            {
                foreach (var item in StrID.Split(','))
                {
                    Guid UID = Guid.Parse(item);
                    var user = db.MembershipOfSites.Find(UID);
                    if (user != null)
                    {
                        var grade = db.Assistances.Select(x => x.GradeForRegisterGroup).FirstOrDefault();
                        user.Grade += grade;
                        var group = db.Groups.Find(groupID);
                        UserInGroup uig = new UserInGroup();
                        uig.ID = Guid.NewGuid();
                        uig.UserID = user.ID;
                        uig.GroupID = groupID;
                        uig.isAdminUser = false;
                        uig.Status = true;
                        uig.DateIn = DateTime.Now;
                        db.UserInGroups.Add(uig);
                        Notification nf = new Notification();
                        nf.ID = Guid.NewGuid();
                        nf.receiverID = user.ID;
                        nf.senderID = new AccountController().GetonlineUser_ID();
                        nf.status = false;
                        nf.title = "دعوت به گروه";
                        nf.text = "مدیر گروه " + group.GroupSubject + "  شما را به این گروه اضافه کرد برای دیدن گروه مورد نظر، لیست گروه های خود را مشاهده نمایید.";
                        nf.dateIn = DateTime.Now;
                        db.Notifications.Add(nf);

                    }
                    db.SaveChanges();
                }
                return Json("done", JsonRequestBehavior.AllowGet);
            }
            return Json("notDone", JsonRequestBehavior.AllowGet);
        }
Example #3
0
        public ActionResult RequestForGroup(int groupID)
        {
            var userID = new AccountController().GetonlineUser_ID();
            var isExist = db.UserInGroups.Where(x => x.UserID == userID && x.GroupID == groupID).FirstOrDefault();
            if (isExist != null)
            {
                return Json("beforsent", JsonRequestBehavior.AllowGet);
            }
            else
            {
                try
                {
                    var reqGroup = new UserInGroup();
                    reqGroup.GroupID = groupID;
                    reqGroup.ID = Guid.NewGuid();
                    reqGroup.UserID = userID;
                    reqGroup.DateIn = DateTime.Now;
                    reqGroup.isAdminUser = false;
                    db.UserInGroups.Add(reqGroup);
                    var noti = new Notification();
                    noti.dateIn = DateTime.Now;
                    noti.ID = Guid.NewGuid();
                    var gp = db.Groups.Find(groupID);
                    noti.receiverID = gp.UserID;
                    noti.senderID = userID;
                    noti.status = false;
                    noti.title = "درخواست عضویت برای گروه";
                    noti.text = "یک کاربر برای گروه " + gp.GroupSubject + " در خواست عضویت داده است لطفا به قسمت لیست درخواست گروه های خود بروید";
                    db.Notifications.Add(noti);
                    db.SaveChanges();
                    return Json(true, JsonRequestBehavior.AllowGet);
                }
                catch
                {
                    return Json("beforsent", JsonRequestBehavior.AllowGet);
                }
            }


        }