コード例 #1
0
        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);
        }
コード例 #2
0
 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());
 }
コード例 #3
0
 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());
 }
コード例 #4
0
        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);
        }
コード例 #5
0
        public void Update(UserDocumentView userDocumentView)
        {
            UserDocument userDocument = mapper.Map <UserDocumentView, UserDocument>(userDocumentView);

            repo.Update(userDocument);
        }
コード例 #6
0
 public IActionResult Edit(UserDocumentView userDocument)
 {
     service.Update(userDocument);
     return(RedirectToAction("Index"));
 }