public async Task <IActionResult> Edit(int id, DocumentVm document, string[] SelectedFolders, IFormFile File)
        {
            if (id != document.DocumentId)
            {
                return(NotFound());
            }
            RemoveFolders(id);

            if (ModelState.IsValid)
            {
                try
                {
                    Document model = _mapper.Map <Document>(document);

                    AddFile(model, File);
                    AddFolder(model, SelectedFolders);

                    _context.Update(model);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!DocumentExists(document.DocumentId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(document));
        }
        public async Task <IActionResult> Create(DocumentVm document, string[] DocumentFolder, IFormFile File)
        {
            if (ModelState.IsValid)
            {
                Document model = _mapper.Map <Document>(document);
                AddFile(model, File);
                AddFolder(model, DocumentFolder);
                _context.Add(model);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(document));
        }
Example #3
0
        public DocumentVm Init(long userId, long?id)
        {
            var toRet = new DocumentVm
            {
                ActionMode = Enumerations.ActionMode.Add,
                Document   = new Document()
            };

            if (id != null)
            {
                var obj = LoadSingle(userId, Convert.ToInt64(id));
                toRet.Document = obj;

                toRet.ActionMode = Enumerations.ActionMode.Edit;
            }

            return(toRet);
        }
Example #4
0
        public void CosmosService_Should_Return_DocumentId()
        {
            //Arrange
            var mockedRepo = new Mock <IGenericRepository <DocumentVm> >();
            var sut        = new CosmosService(mockedRepo.Object);

            var docVm = new DocumentVm {
                DocumentId = 123
            };

            mockedRepo.Setup(x => x.GetDocumentId(It.IsAny <string>())).Returns(docVm);

            //Act
            var guid   = "abc-123";
            var result = sut.GetDocumentId(guid);

            //Assert
            Assert.Equal(123, result);
        }
        // GET: Documents/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Document document = await _context.Document.Include(f => f.DocumentFolder).FirstOrDefaultAsync(m => m.DocumentId == id);

            DocumentVm vm = _mapper.Map <DocumentVm>(document);

            if (document == null)
            {
                return(NotFound());
            }
            vm.SelectedFolders          = document.DocumentFolder.Select(e => e.FolderId).AsEnumerable();
            ViewData["SelectedFolders"] = new MultiSelectList(_context.Folder.AsEnumerable(), "FolderId", "Title", vm.SelectedFolders);
            return(View(vm));
        }
Example #6
0
        public DocumentVm Save(long userId, DocumentVm toSave)
        {
            var obj = toSave.Document;

            PreSave(userId, ref obj, toSave.ActionMode);
            toSave.Document = obj;

            switch (toSave.ActionMode)
            {
            case Enumerations.ActionMode.Add:
                toSave.Document = Create(userId, toSave.Document);
                break;

            case Enumerations.ActionMode.Edit:
                toSave.Document = Edit(userId, toSave.Document);
                break;
            }

            return(Init(userId, toSave.Document.Id));
        }