public ActionResult Edit(EditDocumentViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var document = db.Documents.Include(x => x.Images).FirstOrDefault(x => x.Id == model.Id); if (document == null) { throw new HttpException(404, "Не найдено"); } document.DocumentName = model.DocumentName; //Загружаем изображение, если есть if (model.UploadedImage != null && model.UploadedImage.ContentLength > 0) { var image = new DocumentImage() { ImageUrl = FileUploader.UploadFile(model.UploadedImage) }; document.Images.Add(image); } //Сохраняем изменения db.Entry(document).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Edit", "AdminDocuments", new { id = model.Id })); }
public PartialViewResult EditDocument(DocumentLibraryDocumentPrimaryKey documentLibraryDocumentPrimaryKey) { var documentLibraryDocument = documentLibraryDocumentPrimaryKey.EntityObject; var viewModel = new EditDocumentViewModel(documentLibraryDocument); return(ViewEditDocument(documentLibraryDocument, viewModel)); }
public async Task <ActionResult> Edit(EditDocumentViewModel viewModel) { var user = await GetApplicationUser(); if (user == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var document = await db.Documents.FirstOrDefaultAsync(c => c.Name == viewModel.Name); if (document == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound)); } if (user.Id != document.Owner.Id) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } document.Title = viewModel.Title; document.Body = viewModel.Body; document.Index = viewModel.Index; document.ModifiedAt = DateTime.Now; await db.SaveChangesAsync(); return(RedirectToAction("Details", new { name = document.Name })); }
public void Execute(EditDocumentViewModel document) { if (!ValidateJson(document.JsonData) || !ValidateJson(document.JsonMetadata)) { return; } document.PrepareForSave(); var jdoc = document.JsonDocument; server.OpenSession().Advanced.AsyncDatabaseCommands .PutAsync(document.Id, jdoc.Etag, jdoc.DataAsJson, jdoc.Metadata) .ContinueOnSuccess(put => { var inner = document.JsonDocument; inner.Key = put.Result.Key; inner.Metadata = inner.Metadata.FilterHeaders(isServerDocument: false); inner.Etag = put.Result.ETag; inner.LastModified = DateTime.Now; document.UpdateDocumentFromJsonDocument(); events.Publish(new DocumentUpdated(document)); }); }
public IActionResult Edit(EditDocumentViewModel vm) { var presenter = _presenterFactory.Edit(MessageHandler, ErrorHandler); if (!ModelState.IsValid) { return(View(vm)); } var request = vm.ToRequest(CurrentUserId); try { var uc = _useCaseFactory.Edit; var response = uc.Execute(request); return(RedirectToAction(nameof(Index), new { id = presenter.Present(response) })); } catch (InvalidRequestException ire) { presenter.PresentErrors(ire.Message, ire.Errors); return(View(vm)); } catch (Exception e) { presenter.PresentMessage(MessageType.Error, e.Message); return(View(vm)); } }
public IActionResult EditDocument(int id) { var document = _context.Document.SingleOrDefault(t => t.Id == id); if (document == null) { // TODO return(View("Error")); } else { var documentViewModel = new EditDocumentViewModel() { DocumentType = document.DocumentTypeId, Id = document.Id, Name = document.Name, DocumentTypes = _context.DocumentType.Select(dt => new SelectListItem { Text = dt.Name, Value = dt.Id.ToString() }), TopicId = document.TopicId, FilePath = document.DocumentTypeId == (int)ProjectEnum.DocumentType.PDF ? document.Path : null, Url = document.DocumentTypeId == (int)ProjectEnum.DocumentType.Video ? document.Path : null }; return(View(documentViewModel)); } }
public static EditDocumentRequest ToRequest(this EditDocumentViewModel vm, string userId) { return(new EditDocumentRequest(userId) { Id = Identity.FromString(vm.Id), Name = vm.Name, Content = vm.Content, Links = vm.Links, }); }
public EditDocumentWindow(DocumentHeader selectedHeader) { InitializeComponent(); ClientNameTextBox.Text = selectedHeader.ClientName; DateTextBox.Text = selectedHeader.Date.ToString(); NetPriceTextBox.Text = selectedHeader.NetPrice.ToString(); DataContext = new EditDocumentViewModel(null); ProductsItems.ItemsSource = DocumentDatabaseHelper.GetProductsByDocumentId(selectedHeader.ID); }
public void Execute(EditDocumentViewModel screen) { events.Publish(new WorkStarted("refreshing document")); server.OpenSession().Advanced.AsyncDatabaseCommands .GetAsync(screen.Id) .ContinueOnSuccess(get => { events.Publish(new WorkCompleted("refreshing document")); screen.Initialize(get.Result); events.Publish(new NotificationRaised(screen.Id + " refreshed", NotificationLevel.Info)); }); }
public ActionResult Create(EditDocumentViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var document = new Document() { DocumentName = model.DocumentName }; db.Documents.Add(document); db.SaveChanges(); return(RedirectToAction("Index")); }
public void Execute(EditDocumentViewModel document) { if(!ValidateJson(document.JsonData) || !ValidateJson(document.JsonMetadata)) return; document.PrepareForSave(); var jdoc = document.JsonDocument; server.OpenSession().Advanced.AsyncDatabaseCommands .PutAsync(document.Id, jdoc.Etag, jdoc.DataAsJson, jdoc.Metadata) .ContinueOnSuccess(put => { document.Id = put.Result.Key; events.Publish(new DocumentUpdated(document)); }); }
public void Execute(EditDocumentViewModel document) { if (!ValidateJson(document.JsonData) || !ValidateJson(document.JsonMetadata)) { return; } document.PrepareForSave(); var jdoc = document.JsonDocument; server.OpenSession().Advanced.AsyncDatabaseCommands .PutAsync(document.Id, jdoc.Etag, jdoc.DataAsJson, jdoc.Metadata) .ContinueOnSuccess(put => { document.Id = put.Result.Key; events.Publish(new DocumentUpdated(document)); }); }
private void Delete(EditDocumentViewModel document) { document.PrepareForSave(); var jdoc = document.JsonDocument; server.OpenSession().Advanced.AsyncDatabaseCommands .PutAsync(document.Id, jdoc.Etag, jdoc.DataAsJson, jdoc.Metadata) .ContinueOnSuccess(put => { var inner = document.JsonDocument; inner.Key = put.Result.Key; inner.Metadata = inner.Metadata.FilterHeaders(isServerDocument: false); inner.Etag = put.Result.ETag; inner.LastModified = DateTime.Now; document.UpdateDocumentFromJsonDocument(); events.Publish(new DocumentUpdated(document)); }); }
public void Execute(EditDocumentViewModel document) { if(!ValidateJson(document.JsonData) || !ValidateJson(document.JsonMetadata)) return; if (document.Id.StartsWith("Raven/")) { showMessageBox( "Are you sure that you want to edit a system document?", "Confirm Edit", MessageBoxOptions.OkCancel, box => { if (box.WasSelected(MessageBoxOptions.Ok)) { Delete(document); } }); return; } Delete(document); }
public void Execute(EditDocumentViewModel document) { if(!ValidateJson(document.JsonData) || !ValidateJson(document.JsonMetadata)) return; document.PrepareForSave(); var jdoc = document.JsonDocument; server.OpenSession().Advanced.AsyncDatabaseCommands .PutAsync(document.Id, jdoc.Etag, jdoc.DataAsJson, jdoc.Metadata) .ContinueOnSuccess(put => { document.Id = put.Result.Key; document.JsonDocument.Metadata = document.JsonDocument.Metadata.FilterHeaders(isServerDocument: false); document.JsonDocument.Etag = put.Result.ETag; document.JsonDocument.LastModified = DateTime.Now; document.UpdateDocumentFromJsonDocument(); events.Publish(new DocumentUpdated(document)); }); }
public async Task <ActionResult> Edit(string name) { if (name == null) { return(RedirectToAction("Index", "Home")); } var user = await GetApplicationUser(); if (user == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var document = await db.Documents.FirstOrDefaultAsync(c => c.Name == name); if (document == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound)); } if (user.Id != document.Owner.Id) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var viewModel = new EditDocumentViewModel() { Name = document.Name, Title = document.Title, Index = document.Index, Body = document.Body }; return(View(viewModel)); }
public void Execute(EditDocumentViewModel document) { if (!ValidateJson(document.JsonData) || !ValidateJson(document.JsonMetadata)) { return; } if (document.Id.StartsWith("Raven/")) { showMessageBox( "Are you sure that you want to edit a system document?", "Confirm Edit", MessageBoxOptions.OkCancel, box => { if (box.WasSelected(MessageBoxOptions.Ok)) { HandleActualSave(document); } }); return; } HandleActualSave(document); }
private void OnDetailClicked(object sender, MouseButtonEventArgs e) { // -> new window : edit details of admin item (specific) var clickedItem = (DocumentViewModel)((FrameworkElement)sender).DataContext; var documentForEdit = GetDocumentForEditQuery.Get(new GetDocumentForEditRequest { Id = clickedItem.Id }); // -> navigate to detail of document var editDocumentViewModel = new EditDocumentViewModel { Id = documentForEdit.Id, DocumentType = documentForEdit.DocumentType, Beschrijving = documentForEdit.Beschrijving, CorrespondentId = documentForEdit.CorrespondentId, Datum = documentForEdit.DatumOntvangen, PersonId = documentForEdit.PersonId, CustomFields = new ObservableCollection <CustomFieldDto>(documentForEdit.CustomFields), Scans = new ObservableCollection <ScanDto>(documentForEdit.Scans) }; EditDocument.ShowEditDocument(this, editDocumentViewModel); }
public void Execute(EditDocumentViewModel document) { windows.ShowDialog(document, "Preview"); }
public DocumentUpdated(EditDocumentViewModel document) : base("Document Saved", NotificationLevel.Info) { this.document = document; }
public IActionResult EditDocument(EditDocumentViewModel documentViewModel) { if (documentViewModel.DocumentType == (int)ProjectEnum.DocumentType.PDF) { ModelState.Remove("Url"); } else if (documentViewModel.DocumentType == (int)ProjectEnum.DocumentType.Video) { ModelState.Remove("File"); } if (ModelState.IsValid) { var document = _context.Document.SingleOrDefault(d => d.Id == documentViewModel.Id); if (document == null) { return(View("Error")); } // Update some values of the document document.Name = documentViewModel.Name; document.TopicId = documentViewModel.TopicId; if (documentViewModel.DocumentType == (int)ProjectEnum.DocumentType.PDF && documentViewModel.File != null) { if (document.DocumentTypeId == (int)ProjectEnum.DocumentType.PDF) { // Deleting the old file of the document if it was a pdf file before DeleteDocumentFile(document); } var fileName = documentViewModel.File.FileName; var trainingFilesFolderPath = Path.Combine(_hostingEnvironment.WebRootPath, "trainingfiles"); var filePath = Path.Combine(trainingFilesFolderPath, fileName); if (!_context.Document.Any(d => d.Path == filePath)) { using (var fileStream = new FileStream(filePath, FileMode.Create)) { documentViewModel.File.CopyTo(fileStream); } // Update the document path as a pdf document type document.Path = Path.Combine("/trainingfiles/", fileName); document.DocumentTypeId = documentViewModel.DocumentType; _context.SaveChanges(); return(RedirectToAction("Index")); } else { ModelState.AddModelError("File", "That file is already used in the package"); } } else if (documentViewModel.DocumentType == (int)ProjectEnum.DocumentType.Video) { if (document.DocumentTypeId == (int)ProjectEnum.DocumentType.PDF) { // Deleting the old file of the document if it was a pdf file before DeleteDocumentFile(document); } try { // Update the document path as a video document type ConvertToYoutubeEmbed(documentViewModel.Url); document.Path = documentViewModel.Url; document.DocumentTypeId = documentViewModel.DocumentType; _context.SaveChanges(); return(RedirectToAction("Index")); } catch (ArgumentException ex) { ModelState.AddModelError("Url", "Invalid YouTube video URL"); } } else { document.DocumentTypeId = documentViewModel.DocumentType; _context.SaveChanges(); return(RedirectToAction("Index")); } } documentViewModel.DocumentTypes = _context.DocumentType.Select(dt => new SelectListItem { Text = dt.Name, Value = dt.Id.ToString() }); return(View(documentViewModel)); }
public DocumentUpdated(EditDocumentViewModel document) : base( "Document Saved", NotificationLevel.Info) { this.document = document; }
private PartialViewResult ViewEditDocument(DocumentLibraryDocument documentLibraryDocument, EditDocumentViewModel viewModel) { var documentCategories = documentLibraryDocument.DocumentLibrary.DocumentLibraryDocumentCategories.Select(x => x.DocumentCategory) .ToSelectListWithEmptyFirstRow(x => x.DocumentCategoryID.ToString(CultureInfo.InvariantCulture), x => x.DocumentCategoryDisplayName); var viewData = new EditDocumentViewData(documentCategories); return(RazorPartialView <EditDocument, EditDocumentViewData, EditDocumentViewModel>(viewData, viewModel)); }
public ActionResult EditDocument(DocumentLibraryDocumentPrimaryKey documentLibraryDocumentPrimaryKey, EditDocumentViewModel viewModel) { var documentLibraryDocument = documentLibraryDocumentPrimaryKey.EntityObject; if (!ModelState.IsValid) { return(ViewEditDocument(documentLibraryDocument, viewModel)); } HttpRequestStorage.DatabaseEntities.DocumentLibraryDocumentRoles.Load(); var documentLibraryDocumentRoles = HttpRequestStorage.DatabaseEntities.AllDocumentLibraryDocumentRoles.Local; viewModel.UpdateModel(documentLibraryDocument, CurrentFirmaSession, documentLibraryDocumentRoles); SetMessageForDisplay($"Document '{documentLibraryDocument.DocumentTitle}' successfully updated."); return(new ModalDialogFormJsonResult()); }