public void Handler(UseCaseResponseMessage response) { var isValid = response.IsValid(); ContentResult.StatusCode = (int)(isValid ? HttpStatusCode.OK : HttpStatusCode.BadRequest); ContentResult.Content = isValid ? JsonSerializer.SerializeObject(response) : JsonSerializer.SerializeObject(response.Errors); }
public void Handle(UseCaseResponseMessage <TResult> response) { Type currentResultType = typeof(TResult); ClientResultAttribute attribute = currentResultType.GetCustomAttribute <ClientResultAttribute>(); if (attribute == null && !currentResultType.IsPrimitive) { throw new Exception("Data format is not allowed. Only primitive types and objects with ClientResult attribute are allowed."); } this.ContentResult.StatusCode = (int)(response.Success ? HttpStatusCode.OK : HttpStatusCode.BadRequest); this.ContentResult.Content = JsonConvert.SerializeObject(response); }
public void Handle_GivenSuccessfulUseCaseResponse_SetsId() { // arrange var presenter = new RegisterUserPresenter(); // act presenter.Handle(new UseCaseResponseMessage("1234", true)); // assert UseCaseResponseMessage data = JsonSerializer.DeSerializeObject <UseCaseResponseMessage>(presenter.ContentResult.Content); Assert.True(data.Success); Assert.Equal("1234", data.Id); }
public void Handle(UseCaseResponseMessage <Tuple <string, byte[]> > response) { //MemoryStream ms = new MemoryStream(response.Result.Item2); //StreamContent sc = new StreamContent(ms); //sc.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment"); //sc.Headers.ContentDisposition.FileName = response.Result.Item1; //sc.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); //sc.Headers.ContentLength = ms.Length; MemoryStream ms = new MemoryStream(response.Result.Item2); this.ContentResult = new FileStreamResult(ms, "application/octet-stream") { FileDownloadName = response.Result.Item1 }; }