public async Task <Ticket> GetTicketAsync(string ticketId, ExpectedResultEnum expectedFacadeResult) { BllContract.Require(nameof(expectedFacadeResult), expectedFacadeResult, x => x != ExpectedResultEnum.ContractException); var ticket = await _dalClient.GetTicketAsync(ticketId, expectedFacadeResult); return(ticket); }
public async Task <Ticket> GetTicketAsync(string ticketId, ExpectedResultEnum expectedFacadeResult) { try { return(await GetTicketAsyncInternal(ticketId, expectedFacadeResult)); } catch (FulcrumException fulcrumException) { throw Converter.FromDalToBll(fulcrumException, ServerName); } }
private Ticket GetTicketWithExceptions(string ticketId, ExpectedResultEnum expectedFacadeResult) { FulcrumException fulcrumException = null; switch (expectedFacadeResult) { case ExpectedResultEnum.Ok: return(new Ticket { Id = ticketId }); case ExpectedResultEnum.BusinessRuleException: fulcrumException = new BusinessRuleException("Business rule exception"); break; case ExpectedResultEnum.ConflictException: fulcrumException = new ConflictException("Conflict exception"); break; case ExpectedResultEnum.ServerContractException: fulcrumException = new ServerContractException("Contract exception"); break; case ExpectedResultEnum.NotFoundException: fulcrumException = new NotFoundException("Not found exception"); break; case ExpectedResultEnum.UnauthorizedException: fulcrumException = new UnauthorizedException("Unauthorized exception"); break; case ExpectedResultEnum.AssertionFailedException: fulcrumException = new AssertionFailedException("Assertion failed exception"); break; case ExpectedResultEnum.NotImplementedException: fulcrumException = new NotImplementedException("Not implemented exception"); break; case ExpectedResultEnum.TryAgainException: fulcrumException = new TryAgainException("Try again exception"); break; default: fulcrumException = new AssertionFailedException($"Unexpected switch value: {expectedFacadeResult}"); break; } // This is to be able to test that the properties are copied all the way back to the test case. fulcrumException.Code = fulcrumException.InstanceId; throw fulcrumException; }
private async Task <Ticket> GetTicketAsyncInternal(string ticketId, ExpectedResultEnum expectedFacadeResult) { var response = _ticketFacadeClient.GetTicket(ticketId, expectedFacadeResult); var exception = await Converter.ToFulcrumExceptionAsync(response); if (exception != null) { throw exception; } var s = await response.Content.ReadAsStringAsync(); var json = JObject.Parse(s); var ticket = json.ToObject <Ticket>(); return(ticket); }
public HttpResponseMessage GetTicket(string ticketId, ExpectedResultEnum expectedFacadeResult) { HttpResponseMessage response; try { var ticket = GetTicketWithExceptions(ticketId, expectedFacadeResult); var json = JObject.FromObject(ticket); response = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(json.ToString(Formatting.Indented), Encoding.UTF8, "application/json") }; } catch (System.Exception e) { response = Converter.ToHttpResponseMessage(e, true); } return(response); }