public DocumentView GetLimitedSharedDocument(string guid, ClaimsPrincipal user, out bool isEditable) { UserView userView = _userService.GetUserByUserClaims(user); UserDocumentView userDoc = _userDocumentService.GetUserDocumentsByGuestId(userView.Email).FirstOrDefault(p => p.Link == guid); DocumentView doc = _documentService.Get(userDoc.DocumentId); isEditable = userDoc.IsEditable; return(doc); }
public IActionResult ConfirmDelete(string id1, int?id2) { if (id1 != null && id2 != null) { UserDocumentView userDocument = service.Get(id1, id2); if (userDocument != null) { return(View(userDocument)); } } return(NotFound()); }
public IActionResult Delete(string id1, int?id2) { if (id1 != null && id2 != null) { UserDocumentView userDocument = service.Get(id1, id2); if (userDocument != null) { service.Delete(id1, id2); return(RedirectToAction("Index")); } } return(NotFound()); }
public string OpenLimitedAccesToFile(int documentId, bool isEditable, ClaimsPrincipal owner, string guestEmail) { if (!_documentService.IsDocumentExist(documentId)) { throw new Exception("Document is not exist"); } if (!_userService.IsUserTheOwnerOfTheDocument(owner, documentId)) { throw new UnauthorizedAccessException("User is not the owner of the file"); } var userDoc = _userDocumentService.Get(guestEmail, documentId); if (userDoc != null) { if (userDoc.IsEditable == isEditable) { return(userDoc.Link); } string createdguid = userDoc.Link; _userDocumentService.Delete(guestEmail, documentId); _userDocumentService.Create(new UserDocumentView { DocumentId = documentId, Link = createdguid, GuestEmail = guestEmail, IsEditable = isEditable }); return(createdguid); } //If we have already had guid for this document, we use it UserDocumentView userDocForSampleGuid = _userDocumentService.GetUserDocumentsByDocumentId(documentId).FirstOrDefault(); string guid; if (userDocForSampleGuid != null) { guid = userDocForSampleGuid.Link; } else { guid = Guid.NewGuid().ToString(); } //need rewriting UserDocumentView userDocum = _userDocumentService.Get(guestEmail, documentId); if (userDocum == null) { _userDocumentService.Create(new UserDocumentView { DocumentId = documentId, Link = guid, GuestEmail = guestEmail, IsEditable = isEditable }); } return(guid); }
public void Update(UserDocumentView userDocumentView) { UserDocument userDocument = mapper.Map <UserDocumentView, UserDocument>(userDocumentView); repo.Update(userDocument); }
public IActionResult Edit(UserDocumentView userDocument) { service.Update(userDocument); return(RedirectToAction("Index")); }