Beispiel #1
0
    public async Task <Result <ResourceInfoDto> > SaveResourceAsync(ResourceInfoDto resource)
    {
        HttpResponseMessage httpRes;

        if (resource.ResourceId == Guid.Empty)
        {
            httpRes = await _httpClient.PostAsJsonAsync <ResourceInfoDto>($"api/notes/saveresource", resource);
        }
        else
        {
            httpRes = await _httpClient.PutAsJsonAsync <ResourceInfoDto>($"api/notes/saveresource", resource);
        }

        var res = await httpRes.Content.ReadFromJsonAsync <Result <ResourceInfoDto> >();

        return(res);
    }
Beispiel #2
0
        public async Task <Result <ResourceInfoDto> > SaveResourceAsync(ResourceInfoDto resourceInfo, bool forceNew = false)
        {
            if (resourceInfo == null)
            {
                throw new ArgumentException("Resource can't be null");
            }

            var res = new Result <ResourceInfoDto>();

            var resource = resourceInfo.GetSimpleDto <ResourceDto>();

            var resSaveResource = await SaveResourceAsync(resource, forceNew);

            res.ErrorList = resSaveResource.ErrorList;
            res.Entity    = resSaveResource.Entity.GetSimpleDto <ResourceInfoDto>();

            return(res);
        }
        public async Task <IActionResult> PostImageResource(
            ResourceUploadRequest file)
        {
            if (file?.File == null)
            {
                return(FormattedBadRequest("No data provided"));
            }

            var info = new ResourceInfoDto()
            {
                Name = file.File.FileName,
                Size = file.File.Length,
            };

            try
            {
                info.ContentType = new ContentType(file.File.ContentType);
            }
            catch (Exception e)
            {
                Logger.LogError(e, "Unknown or no Content-Type specified!");
                return(BadRequest("Unknown or no Content-Type specified!"));
            }

            using (var readStream = file.File.OpenReadStream())
            {
                info.Uuid = await _resourceModel.PostImageResource(info, readStream);
            }

            SetCacheControlHeadersToNoCache();
            Response.Headers.Add("ETag", info.ETag);

            return(Json(new ResourceUploadResponse()
            {
                Success = true,
                Id = info.Uuid.ToString(),
                Name = WebUtility.HtmlEncode(info.Name),
                ContentType = info.ContentType.ToString(),
                Size = info.Size,
                ETag = info.ETag,
                Url = "/api/images/" + info.Uuid.ToString()
            }));
        }
Beispiel #4
0
        public async Task <IActionResult> SaveResource([FromBody] ResourceInfoDto entity)
        {
            try
            {
                var resApi = await _service.Notes.SaveResourceAsync(entity);

                if (resApi.IsValid)
                {
                    return(Ok(resApi));
                }
                else
                {
                    return(BadRequest(resApi));
                }
            }
            catch (Exception ex)
            {
                var kresApi = new Result <ResourceDto>();
                kresApi.AddErrorMessage("Generic error: " + ex.Message);
                return(BadRequest(kresApi));
            }
        }