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); }
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() })); }
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)); } }