public ActionResult UpdateAttendanceStatus(int eventPageId, int attendanceStatusId) { if (_workContext.CurrentCustomer.IsGuest()) { return(Json(new { redirect = Url.RouteUrl("Login") }, JsonRequestBehavior.AllowGet)); } try { if (!Enum.IsDefined(typeof(AttendanceStatus), attendanceStatusId)) { throw new ApplicationException("Invalid attendance status."); } var customerId = _workContext.CurrentCustomer.Id; var customerAttendanceStatus = _eventPageAttendanceService.GetCustomerAttendanceStatus(eventPageId, customerId); var previousAttendanceStatusId = attendanceStatusId; if (customerAttendanceStatus == null) // new attendance { customerAttendanceStatus = new EventPageAttendance() { EventPageId = eventPageId, CustomerId = customerId, AttendanceStatusId = attendanceStatusId, DateCreated = DateTime.Now, DateUpdated = DateTime.Now }; _eventPageAttendanceService.Insert(customerAttendanceStatus); } else // update existing attendance { previousAttendanceStatusId = customerAttendanceStatus.AttendanceStatusId; customerAttendanceStatus.AttendanceStatusId = attendanceStatusId; customerAttendanceStatus.DateUpdated = DateTime.Now; _eventPageAttendanceService.Update(customerAttendanceStatus); } return(Json(new { PreviousAttendanceStatusId = previousAttendanceStatusId, EventPageAttendanceId = customerAttendanceStatus.Id, EventPageId = eventPageId, CustomerId = customerId, AttendanceStatusId = attendanceStatusId, FullName = _workContext.CurrentCustomer.GetFullName(), PictureUrl = _pictureService.GetPictureUrl( _workContext.CurrentCustomer.GetAttribute <int>(SystemCustomerAttributeNames.AvatarPictureId), _mobSocialSettings.EventPageAttendanceThumbnailSize, _customerSettings.DefaultAvatarEnabled, defaultPictureType: PictureType.Avatar), ProfileUrl = Url.RouteUrl("CustomerProfileUrl", new { SeName = SeoExtensions.GetSeName(_workContext.CurrentCustomer, 0) }), })); } catch { return(Json(false)); } }