public async Task <IDifficultyResult> GetDifficulty( int id, bool fullRecord = true) { var result = new DifficultyResult(); if (id == 0) { result.Success = false; result.Message = DifficultiesMessages.DifficultiesNotFoundMessage; return(result); } try { var response = await difficultiesRepository.GetById(id, fullRecord); if (response.Success) { result.Success = response.Success; result.Message = DifficultiesMessages.DifficultyFoundMessage; result.Difficulty = (Difficulty)response.Object; return(result); } else if (!response.Success && response.Exception != null) { result.Success = response.Success; result.Message = response.Exception.Message; return(result); } else { result.Success = false; result.Message = DifficultiesMessages.DifficultyNotFoundMessage; return(result); } } catch (Exception exp) { result.Success = false; result.Message = exp.Message; return(result); } }
public async Task <IDifficultyResult> CreateDifficulty( string name, string displayName, DifficultyLevel difficultyLevel) { if (string.IsNullOrEmpty(name)) { throw new ArgumentNullException(nameof(name)); } if (string.IsNullOrEmpty(displayName)) { throw new ArgumentNullException(nameof(displayName)); } var result = new DifficultyResult(); try { if (!(await difficultiesRepository.HasDifficultyLevel(difficultyLevel))) { var difficulty = new Difficulty() { Name = name, DisplayName = displayName, DifficultyLevel = difficultyLevel }; var response = await difficultiesRepository.Add(difficulty); if (response.Success) { result.Success = response.Success; result.Message = DifficultiesMessages.DifficultyCreatedMessage; result.Difficulty = (IDifficulty)response.Object; return(result); } else if (!response.Success && response.Exception != null) { result.Success = response.Success; result.Message = response.Exception.Message; return(result); } else { result.Success = false; result.Message = DifficultiesMessages.DifficultyNotCreatedMessage; return(result); } } else { result.Success = false; result.Message = DifficultiesMessages.DifficultyAlreadyExistsMessage; return(result); } } catch (Exception exp) { result.Success = false; result.Message = exp.Message; return(result); } }