/// <inheritdoc /> /// <summary> /// Change acceptance /// </summary> /// <param name="eventId"></param> /// <param name="memberId"></param> /// <param name="acceptance"></param> /// <returns></returns> public async Task <ResultModel> ChangeMemberEventAcceptanceAsync(Guid?eventId, Guid?memberId, EventAcceptance acceptance = EventAcceptance.Tentative) { var evtRequest = await GetEventByIdAsync(eventId); if (!evtRequest.IsSuccess) { return(evtRequest.ToBase()); } var memberState = evtRequest.Result.EventMembers.FirstOrDefault(x => x.UserId.Equals(memberId)); if (memberState == null) { return(new ResultModel { Errors = new List <IErrorModel> { new ErrorModel(string.Empty, "Member not allowed") } }); } memberState.Acceptance = acceptance; _context.EventMembers.Update(memberState); var dbResultRequest = await _context.PushAsync(); if (!dbResultRequest.IsSuccess) { return(dbResultRequest); } var e = evtRequest.Result; CalendarEvents.SystemCalendarEvents.UserChangeAcceptance(new UserChangeAcceptanceEventArgs { Title = e.Title, EventId = e.Id, Member = memberState, AcceptanceState = acceptance.ToString(), Organizer = e.Organizer }); return(dbResultRequest); }
public async Task <JsonResult> ChangeMemberEventAcceptance(Guid?eventId, Guid?memberId, EventAcceptance acceptance = EventAcceptance.Tentative) { return(Json(await _calendarManager.ChangeMemberEventAcceptanceAsync(eventId, memberId, acceptance))); }