public async Task <IActionResult> Delete(int id) { try { var team = await _repository.GetTeamByIdAsync(id); if (team == null) { return(NotFound("Team not found!")); } var entity = await _repository.GetMainStatisticsAsync(team.Name); _repository.Delete(entity); _repository.Delete(team); if (await _repository.SaveChangesAsync()) { return(Ok()); } } catch (Exception) { return(StatusCode(StatusCodes.Status500InternalServerError, "Database Failure!")); } return(BadRequest("Failed to delete team!")); }
public async Task <bool> Delete(int id, string userId) { var existringTeam = await GetTeamById(id, userId); if (existringTeam == null) { return(false); } await _repository.Delete(existringTeam); return(true); }
public async Task <Response <TeamDTO> > Delete(Guid teamId, Guid userId) { var teamUser = await _teamsUsersRepository.GetTeamUser(teamId, userId); if (teamUser == null || teamUser.Status != MembershipStatus.SuperAdmin) { return(new ForbiddenErrorResponse <TeamDTO>(new [] { new Error { Code = ErrorCodes.Security.Forbidden, Message = ErrorMessages.Security.Forbidden } })); } var companyUser = await _companiesUsersRepository.GetCompanyUser(teamUser.Team.CompanyId, userId); if (companyUser == null || companyUser.Status != MembershipStatus.SuperAdmin) { return(new ForbiddenErrorResponse <TeamDTO>(new [] { new Error { Code = ErrorCodes.Security.Forbidden, Message = ErrorMessages.Security.Forbidden } })); } var entity = await _repository.Delete(teamId); return(new Response <TeamDTO> { Data = _mapper.Map <TeamModel, TeamDTO>(entity) }); }
public ActionResult Delete(Guid id) { _teamsRepository.Delete(id); return(Ok()); }