Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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
            }));
        }
Exemplo n.º 3
0
        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)));
        }