示例#1
0
        // POST: MemberJoinProjects/Delete/5
        //[ValidateAntiForgeryToken]
        public ActionResult DeleteMember(MemberJoinProject memberJoinProject, string id, string oid, string pid)
        {
            var mem = db.MemberJoinProjects.Where(m => m.ProjectID == pid && m.MemberIDJoin == id && m.MemberIDOwner == oid).FirstOrDefault();

            db.MemberJoinProjects.Remove(mem);
            db.SaveChanges();
            var member = db.MemberJoinProjects.Where(m => m.ProjectID == pid && m.MemberIDOwner == oid).FirstOrDefault();

            return(RedirectToAction("CreateW", new { ProjectID = pid, MemberID = oid }));
        }
示例#2
0
        public ActionResult CreateW(ApiAuthRegister data, MemberJoinProject memberJoinProject, string MemberID, string ProjectID, string emailorgname)
        {
            var project = db.Projects.First(x => x.ProjectID == ProjectID);

            ViewBag.ProjectName = project.ProjectName;

            if (Validator.IsValidEmail(emailorgname))
            {
                var gro = db.Members.Where(x => x.Email == emailorgname).FirstOrDefault();
                if (gro == null)
                {
                    //寄送email
                    //data=
                    ViewBag.Message = "此使用者未註冊會員";
                    return(RedirectToAction("CreateW", new { ProjectID, MemberID }));
                }
                else
                {
                    memberJoinProject.ProjectID     = ProjectID;
                    memberJoinProject.MemberIDOwner = MemberID;
                    memberJoinProject.SharePerID    = Share.Share;
                    memberJoinProject.MemberIDJoin  = gro.MemberID;

                    bool exists = db.MemberJoinProjects.Any(m => m.MemberIDOwner == MemberID && m.ProjectID == ProjectID && m.MemberIDJoin == gro.MemberID);
                    db.MemberJoinProjects.Add(memberJoinProject);

                    if (exists == true)
                    {
                        return(RedirectToAction("CreateW", new { ProjectID, MemberID }));
                    }
                }
            }

            else
            {
                bool groupexist = db.Groups.Any(x => x.GroupName == emailorgname);
                if (groupexist == false)
                {
                    ViewBag.Message = "此群組不存在";
                }
                else
                {
                    var gro = db.Groups.First(x => x.GroupName == emailorgname);
                    IEnumerable <GroupMember> groupmemberList = db.GroupMembers.Where(m => m.MemberIDOwner == MemberID && m.GroupID == gro.GroupID);
                    //var groupmemberList = db.GroupMembers.Where(m => m.MemberIDOwner == MemberID && m.GroupID == gro.GroupID);
                    bool exists = db.MemberJoinProjects.Any(m => m.MemberIDOwner == MemberID && m.ProjectID == ProjectID && m.MemberIDJoin == gro.MemberID);
                    if (exists == true)
                    {
                        return(RedirectToAction("CreateW", new { ProjectID, MemberID }));
                    }
                    else
                    {
                        foreach (var item in groupmemberList)
                        {
                            MemberJoinProject m = new MemberJoinProject()
                            {
                                MemberIDJoin  = item.MemberIDInGroup,
                                ProjectID     = ProjectID,
                                MemberIDOwner = MemberID,
                                SharePerID    = Share.Share
                            };
                            db.MemberJoinProjects.Add(m);
                        }
                        db.SaveChanges();
                    }
                    //db.SaveChanges();
                }
            }
            db.SaveChanges();

            var memberJoinProjects = db.MemberJoinProjects.Include(m => m.Member).Include(m => m.Project).Where(m => m.MemberIDOwner == MemberID && m.ProjectID == ProjectID);

            return(RedirectToAction("CreateW", new { ProjectID, MemberID }));
        }