Пример #1
0
        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);
        }
Пример #3
0
    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
            };
        }