private async Task <Result <Guid> > PrepareCase(UserItemClientDto userItem) { Result <CallClientDto> callInfoResult = await _callManagementServiceClient.GetCallById(userItem.ItemId); if (callInfoResult.IsFailure) { _logger.Error($"ProcessCall. {callInfoResult.ErrorMessage}"); return(Result.Failure(callInfoResult.ErrorCode, callInfoResult.ErrorMessage)); } var caseFolderIdResult = callInfoResult.Value.Line.CaseFolderId; if (!userItem.CreateCaseCard) { if (caseFolderIdResult.HasValue) { return(Result.Success(caseFolderIdResult.Value)); } var newEmptyCaseFolder = new CaseFolder(); await _caseFolderRepository.Add(newEmptyCaseFolder); return(Result.Success(newEmptyCaseFolder.Id)); } var caseType = await _caseTypeRepository.GetById(userItem.CaseTypeId); if (caseFolderIdResult.HasValue) { var caseFolder = await _caseFolderRepository.GetById(caseFolderIdResult.Value); caseFolder.AddCaseCard(caseType, userItem.UserId); return(Result.Success(caseFolderIdResult.Value)); } var newCaseFolder = new CaseFolder(); newCaseFolder.AddCaseCard(caseType, userItem.UserId); await _caseFolderRepository.Add(newCaseFolder); return(Result.Success(newCaseFolder.Id)); }
// ReSharper disable once InconsistentNaming public async void Get_Case_ShouldExists() { //arrange _unitOfWork.Begin(); var caseType = _caseTypeRepository.GetFirst(); var userId = Guid.NewGuid(); var caseFolder = new CaseFolder(); caseFolder.AddCaseCard(caseType, userId); await _caseFolderRepository.Add(caseFolder); await _unitOfWork.CommitAsync(); //action SetCurrentUserId(userId); demoResult <CaseDto> caseCardResult = await _caseController.GetCase(caseFolder.Id); //Assert caseCardResult.Result.ShouldBeOfType <demoOkResult <CaseDto> >(); }