public async Task AddPostAsync(Post post) { if (await meProvider.IsMemberOfTeamAsync(post?.TeamId)) { dbContext.Post.Add(post); await dbContext.SaveChangesAsync(); } }
public async Task AddParticipationAsync(Participation participation) { Event evnt = await dbContext.Event.FindAsync(participation.EventId); if (meProvider.IsMemberOfTeam(evnt?.TeamId)) { dbContext.Participation.Add(participation); await dbContext.SaveChangesAsync(); } }
public async Task DeleteEventAsync(int?id) { Event evnt = await GetEventAsync(id); if (evnt != null) { dbContext.Participation.RemoveRange(dbContext.Participation.Where(x => x.EventId == evnt.Id)); dbContext.Event.Remove(evnt); await dbContext.SaveChangesAsync(); } }
public async Task DeleteMembershipAsync(int?teamId, int?personId) { Membership membership = await GetMembershipAsync(teamId, personId); Membership manager = await dbContext.Membership.FirstOrDefaultAsync(x => x.TeamId == teamId && x.Manager && x.PersonId != personId); if (membership != null && manager != null && // Deletion of last manager is not allowed membership.Person.UserName != meProvider.Me.UserName // Deletion of myself is not allowed ) { dbContext.Membership.Remove(membership); await dbContext.SaveChangesAsync(); } }