コード例 #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            MemberEvent memberEvent = db.MemberEvents.Find(id);

            db.MemberEvents.Remove(memberEvent);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #2
0
 public ActionResult Edit([Bind(Include = "ID,ProfileId,EventId")] MemberEvent memberEvent)
 {
     if (ModelState.IsValid)
     {
         db.Entry(memberEvent).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.EventId   = new SelectList(db.Events, "ID", "Name", memberEvent.EventId);
     ViewBag.ProfileId = new SelectList(db.Profiles, "ID", "FirstName", memberEvent.ProfileId);
     return(View(memberEvent));
 }
コード例 #3
0
        // Remove a member to a particular event
        public async Task <IActionResult> MemberLeave(int memberID, int eventID)
        {
            // remove member from event
            MemberEvent memberEvent = _context.MemberEvents
                                      .Where(me => me.MemberID == memberID && me.EventID == eventID).First();

            _context.MemberEvents.Remove(memberEvent);
            await _context.SaveChangesAsync();

            //ViewData["message"] = "";
            return(RedirectToAction("Details", new { id = eventID }));
        }
コード例 #4
0
        public ActionResult Create([Bind(Include = "ID,EventId")] MemberEvent memberEvent)

        {
            if (ModelState.IsValid)
            {
                db.MemberEvents.Add(memberEvent);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.EventId   = new SelectList(db.Events, "ID", "Name", memberEvent.EventId);
            ViewBag.ProfileId = new SelectList(db.Profiles, "ID", "FirstName", memberEvent.ProfileId);
            return(View(memberEvent));
        }
コード例 #5
0
        // GET: MemberEvents/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            MemberEvent memberEvent = db.MemberEvents.Find(id);

            if (memberEvent == null)
            {
                return(HttpNotFound());
            }
            return(View(memberEvent));
        }
コード例 #6
0
        // GET: MemberEvents/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            MemberEvent memberEvent = db.MemberEvents.Find(id);

            if (memberEvent == null)
            {
                return(HttpNotFound());
            }
            ViewBag.EventId   = new SelectList(db.Events, "ID", "Name", memberEvent.EventId);
            ViewBag.ProfileId = new SelectList(db.Profiles, "ID", "FirstName", memberEvent.ProfileId);
            return(View(memberEvent));
        }
コード例 #7
0
        public Task MemberUpdatedCallback(MemberEvent memberEvent)
        {
            IServiceClientFactory serviceClientFactory;

            if (!_serviceClientFactories.TryGetValue(memberEvent.Service, out serviceClientFactory))
            {
                return(Task.CompletedTask);
            }

            lock (_locker)
            {
                var newServiceToServiceClients = new Dictionary <byte, List <IServiceClient> >(_serviceToServiceClients);

                List <IServiceClient> serviceClients;
                if (!newServiceToServiceClients.TryGetValue(memberEvent.Service, out serviceClients))
                {
                    serviceClients = new List <IServiceClient>();
                }

                List <IServiceClient> newServiceClients;
                var serviceClient = serviceClients.FirstOrDefault(s => s.ServiceEndPoint.Address.Equals(memberEvent.IP) && s.ServiceEndPoint.Port == memberEvent.ServicePort);
                if (serviceClient == null && memberEvent.State == MemberState.Alive)
                {
                    newServiceClients = new List <IServiceClient>(serviceClients);
                    newServiceClients.Add(serviceClientFactory.CreateServiceClient(new IPEndPoint(memberEvent.IP, memberEvent.ServicePort)));
                }

                else if (serviceClient != null && memberEvent.State >= MemberState.Suspicious)
                {
                    newServiceClients = new List <IServiceClient>(serviceClients);
                    newServiceClients.Remove(serviceClient);
                }

                else
                {
                    return(Task.CompletedTask);
                }

                newServiceToServiceClients[memberEvent.Service] = newServiceClients;
                _serviceToServiceClients = newServiceToServiceClients;

                return(Task.CompletedTask);
            }
        }
コード例 #8
0
        // GET: MemberEvents/Create/5
        public ActionResult Create(int eid)
        {
            MemberEvent memberEvent = new MemberEvent();
            Profile     profile     = db.Profiles.Single(p => p.Username == User.Identity.Name);

            memberEvent.Profile = profile;
            memberEvent.EventId = eid;

            if (ModelState.IsValid)
            {
                db.MemberEvents.Add(memberEvent);
                db.SaveChanges();
                return(RedirectToAction("Details", "EventModels", new { id = eid }));
            }


            // ViewBag.ProfileId = new SelectList(db.Profiles, "ID", "FirstName");
            return(View());
        }
コード例 #9
0
        // Assign a member to a particular event
        public async Task <IActionResult> MemberAttend(int memberID, int eventID)
        {
            Members thisMember = _context.Members.Where(m => m.MemberID == memberID).First();
            Events  thisEvent  = _context.Events.Where(e => e.EventID == eventID).First();

            if ((thisMember.Category == thisEvent.Category) || (thisEvent.Category == "All Members"))
            {
                // assign member to event
                MemberEvent memberEvent = new MemberEvent();
                memberEvent.MemberID = memberID;
                memberEvent.EventID  = eventID;
                _context.MemberEvents.Add(memberEvent);
                await _context.SaveChangesAsync();

                //ViewData["message"] = "";
            }
            else
            {
                ViewData["message"] = "You cannot enter this event ~ wrong age Category";
            }
            return(RedirectToAction("Details", new { id = eventID }));
        }
コード例 #10
0
        // GET: KaraokeEvents/Edit/5
        public async Task <IActionResult> Edit(int?id, Member member, MemberEvent memberEvent)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var karaokeEvent = await _context.KaraokeEvent.FindAsync(id);

            if (karaokeEvent == null)
            {
                return(NotFound());
            }
            ViewData["AddressId"] = new SelectList(_context.Set <Address>(), "Id", "Id", karaokeEvent.AddressId);
            ViewData["AppUserId"] = new SelectList(_context.Users, "Id", "Id", karaokeEvent.AppUserId);
            //if(karaokeEvent.RSVP == true)
            //{
            //    var userId = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
            //    member.AppUserId = userId;
            //    _context.Add(karaokeEvent.MemberEvents);
            //}
            return(View(karaokeEvent));
        }
コード例 #11
0
        private object ConvertPayload()
        {
            switch (Event)
            {
            case PingEvent.EventString:
                return(PingEvent.FromJson(PayloadText));

            case CommitCommentEvent.EventString:
                return(CommitCommentEvent.FromJson(PayloadText));

            case CreateEvent.EventString:
                return(CreateEvent.FromJson(PayloadText));

            case DeleteEvent.EventString:
                return(DeleteEvent.FromJson(PayloadText));

            case DeploymentEvent.EventString:
                return(DeploymentEvent.FromJson(PayloadText));

            case DeploymentStatusEvent.EventString:
                return(DeploymentStatusEvent.FromJson(PayloadText));

            case ForkEvent.EventString:
                return(ForkEvent.FromJson(PayloadText));

            case GollumEvent.EventString:
                return(GollumEvent.FromJson(PayloadText));

            case InstallationEvent.EventString:
                return(InstallationEvent.FromJson(PayloadText));

            case InstallationRepositoriesEvent.EventString:
                return(InstallationRepositoriesEvent.FromJson(PayloadText));

            case IssueCommentEvent.EventString:
                return(IssueCommentEvent.FromJson(PayloadText));

            case IssuesEvent.EventString:
                return(IssuesEvent.FromJson(PayloadText));

            case LabelEvent.EventString:
                return(LabelEvent.FromJson(PayloadText));

            case MemberEvent.EventString:
                return(MemberEvent.FromJson(PayloadText));

            case MembershipEvent.EventString:
                return(MembershipEvent.FromJson(PayloadText));

            case MilestoneEvent.EventString:
                return(MilestoneEvent.FromJson(PayloadText));

            case OrganizationEvent.EventString:
                return(OrganizationEvent.FromJson(PayloadText));

            case OrgBlockEvent.EventString:
                return(OrgBlockEvent.FromJson(PayloadText));

            case PageBuildEvent.EventString:
                return(PageBuildEvent.FromJson(PayloadText));

            case ProjectCardEvent.EventString:
                return(ProjectCardEvent.FromJson(PayloadText));

            case ProjectColumnEvent.EventString:
                return(ProjectColumnEvent.FromJson(PayloadText));

            case ProjectEvent.EventString:
                return(ProjectEvent.FromJson(PayloadText));

            case PublicEvent.EventString:
                return(PublicEvent.FromJson(PayloadText));

            case PullRequestEvent.EventString:
                return(PullRequestEvent.FromJson(PayloadText));

            case PullRequestReviewEvent.EventString:
                return(PullRequestReviewEvent.FromJson(PayloadText));

            case PullRequestReviewCommentEvent.EventString:
                return(PullRequestReviewCommentEvent.FromJson(PayloadText));

            case PushEvent.EventString:
                return(PushEvent.FromJson(PayloadText));

            case ReleaseEvent.EventString:
                return(ReleaseEvent.FromJson(PayloadText));

            case RepositoryEvent.EventString:
                return(RepositoryEvent.FromJson(PayloadText));

            case StatusEvent.EventString:
                return(StatusEvent.FromJson(PayloadText));

            case WatchEvent.EventString:
                return(WatchEvent.FromJson(PayloadText));

            default:
                throw new NotImplementedException(
                          $"Event Type: `{Event}` is not implemented. Want it added? Open an issue at https://github.com/promofaux/GithubWebhooks");
            }
        }
コード例 #12
0
 public void Add(MemberEvent memberEvent)
 {
     _memberEvents.Add(memberEvent);
 }
コード例 #13
0
        public Graph.Node AddOrUpdateNode(MemberEvent memberEvent)
        {
            Graph.Node node;
            lock (_memberGraphLocker)
            {
                if (!_nodes.TryGetValue(memberEvent.GossipEndPoint, out node))
                {
                    node = new Graph.Node
                    {
                        Id          = memberEvent.GossipEndPoint,
                        Ip          = memberEvent.IP,
                        State       = memberEvent.State,
                        Generation  = memberEvent.Generation,
                        Service     = memberEvent.Service,
                        ServicePort = memberEvent.ServicePort,
                        X           = (byte)_random.Next(0, 255),
                        Y           = (byte)_random.Next(0, 255)
                    };

                    _nodes.Add(memberEvent.GossipEndPoint, node);
                }

                else if (memberEvent.State == MemberState.Alive)
                {
                    node = new Graph.Node
                    {
                        Id          = memberEvent.GossipEndPoint,
                        Ip          = memberEvent.IP,
                        State       = memberEvent.State,
                        Generation  = memberEvent.Generation,
                        Service     = memberEvent.Service,
                        ServicePort = memberEvent.ServicePort,
                        X           = node.X,
                        Y           = node.Y
                    };

                    _nodes[memberEvent.GossipEndPoint] = node;
                }

                else
                {
                    node = new Graph.Node
                    {
                        Id          = memberEvent.GossipEndPoint,
                        Ip          = memberEvent.IP,
                        State       = memberEvent.State,
                        Generation  = memberEvent.Generation,
                        Service     = node.Service,
                        ServicePort = node.ServicePort,
                        X           = node.X,
                        Y           = node.Y
                    };

                    if (memberEvent.State == MemberState.Pruned)
                    {
                        _nodes.Remove(memberEvent.GossipEndPoint);
                    }

                    else
                    {
                        _nodes[memberEvent.GossipEndPoint] = node;
                    }
                }

                return(node);
            }
        }
コード例 #14
0
 public async Task MemberUpdatedCallback(MemberEvent memberEvent)
 {
     _memberEventsStore.Add(memberEvent);
     var node = _memberGraphStore.AddOrUpdateNode(memberEvent);
     await _membersHubContext.Clients.All.SendAsync("MemberUpdatedMessage", memberEvent, node).ConfigureAwait(false);
 }