如何记录用户已注册的事件-SQLite

问题描述 投票:0回答:1

我正在尝试使用https://fullcalendar.io/更新日历中的事件,以显示该事件的当前用户是否已注册,以显示事件的颜色将从绿色变为红色。

以下方法在我的服务方法之内。

        public List<TimeTableEvent> GetAllEvents()
        {
            return db.TimeTableEvents.ToList();
        }

        public List<EventAttendance> GetAllMembershipEvents(int membershipId)
        {
            var events = GetAllEvents();
            var attendances = db.Attendances.Where(m => m.MembershipId == membershipId);
            var membershipEvents = events.Select(e => new EventAttendance
            {
                Event = e,
                Attendance = attendances.FirstOrDefault(a => a.TimeTableEventId == e.Id)
            }).ToList();
            return membershipEvents;
        }

        public Attendance AddMembershipToEvent(int membershipId, int eventId)
        {
            var attendance = new Attendance { MembershipId = membershipId, TimeTableEventId = eventId, 
                AttendanceStatus = AttendanceStatus.Pending };
            db.Attendances.Add(attendance);
            db.SaveChanges();
            return attendance;
        }

然后我将在控制器中使用此方法

        public JsonResult GetMembershipEvents(int membershipId)
        {
            var events = service.GetAllMembershipEvents(membershipId);
            return Json(events);
        }

然后我的视图中有一个javascript方法。如下所示。

 function FetchEventsAndRenderCalendar() {
                var userId = 1;//User.Claims.FirstOrDefault(c => c.Type == "Id");
                events = []; // clear existing events
                $.ajax({
                    type: "GET",
                    url: "/Timetable/GetMembershipEvents/" + userId,
                    success: function (data) {
                        $.each(data, function (i, json) {
                            events.push(
                                {
                                    id: json.event.id,
                                    title: json.event.title,
                                    description: json.event.description,
                                    start: moment(json.event.start),
                                    end: moment(json.event.end),
                                    color: json.isRegistered?"Red":"Green",
                                    allDay: json.event.allDay
                                }
                            );
                        })

我正在向事件添加用户,因此,事件之一在符合时应显示为红色。但是,它仍显示为绿色。

任何帮助将不胜感激。

我正在尝试使用https://fullcalendar.io/更新日历中的事件,以显示该事件的当前用户是否已注册,以显示事件的颜色将从绿色变为...

javascript c# sqlite .net-core asp.net-ajax
1个回答
0
投票

您可以尝试从此更改功能:

© www.soinside.com 2019 - 2024. All rights reserved.