public async Task DeleteAsync(Guid teamId) { await _teamRepository.DeleteAsync(teamId); }
public override async Task <BaseResponse> DeleteAsync(TeamData request, ServerCallContext context) { try { if (request is null) { await _teamsRepository.DeleteAsync(null); } Team team = new() { Id = request.Id, CreatedOn = request.CreatedOn.ToDateTime().ToLocalTime(), Name = request.Name, Description = request.Description }; int result = await _teamsRepository.DeleteAsync(team); if (result == 0) { throw new Exception("Team has not been deleted"); } BaseResponse response = new() { Code = Code.Success, ErrorMessage = string.Empty, DataId = team.Id }; LogData logData = new() { CallSide = nameof(TeamsService), CallerMethodName = nameof(DeleteAsync), CreatedOn = _dateTimeUtil.GetCurrentDateTime(), Request = request, Response = response }; _logger.AddLog(logData); return(response); } catch (NullReferenceException nrex) { LogData logData = new() { CallSide = nameof(TeamsService), CallerMethodName = nameof(DeleteAsync), CreatedOn = _dateTimeUtil.GetCurrentDateTime(), Request = request, Response = nrex }; _logger.AddErrorLog(logData); return(new BaseResponse { Code = Code.DataError, ErrorMessage = nrex.Message }); } catch (InvalidOperationException oex) { LogData logData = new() { CallSide = nameof(TeamsService), CallerMethodName = nameof(DeleteAsync), CreatedOn = _dateTimeUtil.GetCurrentDateTime(), Request = request, Response = oex }; _logger.AddErrorLog(logData); return(new BaseResponse { Code = Code.DataError, ErrorMessage = oex.Message }); } catch (DbUpdateException duex) { LogData logData = new() { CallSide = nameof(TeamsService), CallerMethodName = nameof(DeleteAsync), CreatedOn = _dateTimeUtil.GetCurrentDateTime(), Request = request, Response = duex }; _logger.AddErrorLog(logData); return(new BaseResponse { Code = Code.DbError, ErrorMessage = "An error occured while deleting team" }); } catch (Exception ex) { LogData logData = new() { CallSide = nameof(TeamsService), CallerMethodName = nameof(DeleteAsync), CreatedOn = _dateTimeUtil.GetCurrentDateTime(), Request = request, Response = ex }; _logger.AddErrorLog(logData); return(new BaseResponse { Code = Code.UnknownError, ErrorMessage = ex.Message }); } } public override async Task <BaseResponse> UpdateAsync(TeamData request, ServerCallContext context)
public async Task <ActionResult> DeleteTeamAsync(Guid id) { await _teamsRepository.DeleteAsync(id); return(NoContent()); }