public async Task <ActionResult <Note> > PutImage(string id, IFormCollection form) { ObjectId objectId = new ObjectId(id); string userId = HttpContext.User.GetUserId(); ColumnDto columnToUpdate = await ColumnToUpdate(userId); var note = new NoteDto { Header = form["header"], Body = form["body"], Id = objectId, UserId = userId, Position = new PositionDto { Column = form["position"] } }; string accessToken = form["accessToken"]; IFormFile imageFile = form.Files.FirstOrDefault(); if (imageFile != null) { NewPhoto uploadedPhoto = await _photoService.AddPhoto(accessToken, userId, imageFile); note.ImagePath = uploadedPhoto.Id; var processedPhoto = await _photoService.GetPhoto(accessToken, uploadedPhoto.Id); note.ImageUrl = $"{processedPhoto.BaseUrl}=w2048-h1024"; } var updateDef = new UpdateDefinitionBuilder <NoteDto>() .Set(x => x.Body, note.Body) .Set(x => x.Header, note.Header) .Set(x => x.ImagePath, note.ImagePath) .Set(x => x.ImageUrl, note.ImageUrl); await _notesCollection.UpdateOneAsync(f => f.Id == objectId, updateDef); Note returnNote = _mapper.Map <Note>(note); return(new ActionResult <Note>(returnNote)); }
public async Task <IActionResult> UploadPhoto(int UserId) { var files = Request.Form.Files; var res = new NewPhoto(); var l = Directory.GetCurrentDirectory(); string path = l + "\\ClientApp\\src\\assets\\images\\" + files[0].Name; res.Path = "../../assets/images/" + files[0].Name; using (var fileStream = new FileStream(path, FileMode.Create)) { await files[0].CopyToAsync(fileStream); } return(new JsonResult( res, new JsonSerializerSettings() { Formatting = Formatting.Indented })); }
public async Task <ActionResult <Note> > Post(IFormCollection form) { var userId = HttpContext.User.GetUserId(); ColumnDto columnToUpdate = await ColumnToUpdate(userId); var note = new NoteDto { Header = form["header"], Body = form["body"] }; string accessToken = form["accessToken"]; note.Position = new PositionDto() { Column = columnToUpdate.ColumnId }; note.UserId = userId; IFormFile imageFile = form.Files.FirstOrDefault(); if (imageFile != null) { NewPhoto uploadedPhoto = await _photoService.AddPhoto(accessToken, userId, imageFile); note.ImagePath = uploadedPhoto.Id; var processedPhoto = await _photoService.GetPhoto(accessToken, uploadedPhoto.Id); note.ImageUrl = $"{processedPhoto.BaseUrl}=w2048-h1024"; } await _notesCollection.InsertOneAsync(note); var noteIds = columnToUpdate.NoteIds.ToList(); noteIds.Insert(0, note.Id); await _columnRepository.Update(userId, columnToUpdate.ColumnId, noteIds); return(new ActionResult <Note>(_mapper.Map <Note>(note))); }