示例#1
0
        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!"));
        }
示例#2
0
        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);
        }
示例#3
0
        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)
            });
        }
示例#4
0
 public ActionResult Delete(Guid id)
 {
     _teamsRepository.Delete(id);
     return(Ok());
 }