/// <summary>
        /// Edits the <see cref="Document"/> using <see cref="EditDocumentServiceModel"/>.
        /// </summary>
        /// <param name="model">Number of modified entities.</param>
        /// <returns>Service model with <c>Id</c>, <c>Name</c> and <c>Description</c>.</returns>
        public async Task <int> EditAsync(EditDocumentServiceModel model)
        {
            Document document = this.dbContext.Documents.Find(model.Id);

            document.Name        = model.Name;
            document.Description = model.Description;

            int modifiedEntities = await this.dbContext.SaveChangesAsync();

            return(modifiedEntities);
        }
        public async Task <IActionResult> Edit(DocumentInputModel model)
        {
            if (!this.documentsService.Exists(model.Id))
            {
                return(this.BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(this.RedirectToAction("Error", "Home"));
            }

            EditDocumentServiceModel serviceModel = new EditDocumentServiceModel
            {
                Id          = model.Id,
                Name        = model.DocumentName,
                Description = model.DocumentDescription,
            };

            await this.documentsService.EditAsync(serviceModel);

            return(this.RedirectToAction("Details", "Documents", new { id = serviceModel.Id }));
        }