public void Handle(RemoveTeamRequest request) { try { //_teamRepo.Delete(request.Id); var team = _teamRepo.Get(request.Id); team.IsDeleted = true; _teamRepo.Replace(team); var response = new RemoveTeamResponse(true); Sender.Tell(response); _logger.Info("Remove Team successfull: {0} {1}", team.NameTeam); } catch (Exception ex) { var response = new RemoveTeamResponse(false); Sender.Tell(response); _logger.Error("Couldn't remove Team by id: {0}: {1}", request.Id, ex.Message); } }
public Task <bool> RemoveTeamByIdAsync(long teamId, CancellationTokenSource cancellationTokenSource) => Task <bool> .Run(async() => { if (!CrossConnectivity.Current.IsConnected) { throw new InvalidOperationException(AppConsts.ERROR_INTERNET_CONNECTION); } bool deleteCompletion = false; RemoveTeamRequest removeTeamRequest = new RemoveTeamRequest() { AccessToken = GlobalSettings.Instance.UserProfile.AccesToken, Url = string.Format(GlobalSettings.Instance.Endpoints.TeamEndPoints.RemoveTeamByIdEndPoint, teamId) }; RemoveTeamResponse removeTeamResponse = null; try { removeTeamResponse = await _requestProvider.PostAsync <RemoveTeamRequest, RemoveTeamResponse>(removeTeamRequest); if (removeTeamResponse != null) { deleteCompletion = true; } else { throw new InvalidOperationException(TeamService.REMOVE_TEAM_BY_ID_COMMON_ERROR_MESSAGE); } } catch (ServiceAuthenticationException exc) { _identityUtilService.RefreshToken(); throw exc; } catch (HttpRequestExceptionEx exc) { removeTeamResponse = JsonConvert.DeserializeObject <RemoveTeamResponse>(exc.Message); string output = string.Format("{0}", removeTeamResponse.Errors?.FirstOrDefault()); output = (string.IsNullOrWhiteSpace(output) || string.IsNullOrEmpty(output)) ? TeamService.REMOVE_TEAM_BY_ID_COMMON_ERROR_MESSAGE : output; throw new InvalidOperationException(output.Trim()); } catch (Exception exc) { Crashes.TrackError(exc); throw; } return(deleteCompletion); }, cancellationTokenSource.Token);