public IEnumerable <FileManager.DataStructure.Folder> GetParents(Guid websiteId) { try { var list = FileManagerComponent.Instance.FolderFacade.GetParents(true); var listfolder = new List <FileManager.DataStructure.Folder>(); var congressFoldersBo = new FolderBO(); foreach (var folder in list) { var congressFolders = congressFoldersBo.Get(this.ConnectionHandler, websiteId, folder.Id); if (congressFolders == null) { continue; } listfolder.Add(folder); } return(listfolder.OrderBy(folder => folder.Title)); } catch (KnownException knownException) { throw new KnownException(knownException.Message, knownException); } catch (Exception ex) { throw new KnownException(ex.Message, ex); } }
public override bool Delete(params object[] keys) { try { this.ConnectionHandler.StartTransaction(IsolationLevel.ReadUncommitted); this.FileManagerConnection.StartTransaction(IsolationLevel.ReadUncommitted); var folderBo = new FolderBO(); var obj = folderBo.Get(this.ConnectionHandler, keys); if (!folderBo.Delete(this.ConnectionHandler, keys)) { throw new Exception("خطایی در حذف پوشه فایل وجود دارد"); } if (!FileManagerComponent.Instance.FolderTransactionalFacade(this.FileManagerConnection).Delete(obj.FolderId)) { throw new Exception("خطایی در حذف پوشه فایل وجود دارد"); } this.ConnectionHandler.CommitTransaction(); this.FileManagerConnection.CommitTransaction(); return(true); } catch (KnownException knownException) { this.ConnectionHandler.RollBack(); this.FileManagerConnection.RollBack(); throw new KnownException(knownException.Message, knownException); } catch (Exception ex) { this.ConnectionHandler.RollBack(); this.FileManagerConnection.RollBack(); throw new KnownException(ex.Message, ex); } }
public ActionResult FolderContent(int folderID) { var dto = FolderBO.GetFolderInfoByID(folderID); ViewBag.FolderID = dto.ID; ViewBag.FolderName = dto.Name; return(View()); }
public String RenameFolder(string foldername, int fid) { int rev = FolderBO.RenameFolder(foldername, fid); if (rev > 0) { return("Folder name updated"); } return("Error for updating folder name"); }
public String RemoveFolder(int fid) { int rev = FolderBO.DeleteFolder(fid); if (rev > 0) { return("Deleted"); } return("Error"); }
public async Task CreateFolderAsync(FolderBO folder) { Validation.Validate.NotNull(folder); var entity = new Entities.Folder { Name = folder.Name, ParentFolderId = folder.ParentFolderId }; await uow.FolderRepository.CreateAsync(entity); }
public void UpdateFolder(FolderBO folder) { Validation.Validate.NotNull(folder); var entity = new Entities.Folder { Id = folder.Id, Name = folder.Name, ParentFolderId = folder.ParentFolderId }; uow.FolderRepository.Update(entity); }
public String CreateFolder(String fname, int uid, int pid) { FolderDTO folder = FolderBO.FindFolderName(fname, uid, pid); if (folder.Id == 0) { // Insert Folder into DB FolderBO.SaveFolder(fname, uid, pid); return("Folder Created!"); } else { return("Folder Exits Already!"); } }
public String CreateFolder(string foldername, int parentid, int ownerid) { var dto = new FolderDTO(); dto.Name = foldername; dto.ParentFolderID = parentid; dto.CreatedOn = DateTime.Now; dto.IsActive = true; int ID = FolderBO.SaveFolderInfo(dto); if (ID > 0) { dto.ID = ID; } return("New child folder created"); }
public List <Folder> GetWithChilds(Guid folderId) { try { var folder = new FolderBO().Get(this.ConnectionHandler, folderId); var folders = new List <Folder> { folder }; FillChild(folder, folders); return(folders); } catch (KnownException knownException) { Log.Save(knownException.Message, LogType.ApplicationError, knownException.Source, knownException.StackTrace); throw new KnownException(knownException.Message, knownException); } catch (Exception ex) { Log.Save(ex.Message, LogType.ApplicationError, ex.Source, ex.StackTrace); throw new KnownException(ex.Message, ex); } }
public List <FolderDTO> GetAllFolder(int parentid, int ownerid) { return(FolderBO.GetAllFolderInfo(parentid, ownerid)); }
public List <FolderDTO> GetAllFolder(int ownerid) { return(FolderBO.GetAllFolderInfo(ownerid)); }
public int DeleteFolder(int fid) { return(FolderBO.DeleteFolder(fid)); }
public List <FolderDTO> GetAllFolders(int uid, int pid) { return(FolderBO.GetAllMainFoldersByUser(uid, pid)); }
public async Task CreateFolderAsync(FolderBO folder) { Validate(folder); await ns.CreateFolderAsync(folder); }
public void UpdateFolderAsync(FolderBO folder) { Validate(folder); ns.UpdateFolder(folder); }
public void GetMetaData(int uid, int pid) { FolderDTO main = FolderBO.GetFolder(uid, pid); List <FolderDTO> folderList = FolderBO.GetAllMainFoldersByUser(uid, pid); String dest = "D:\\Extras\\MetaData.pdf"; var writer = new PdfWriter(dest); var pdf = new PdfDocument(writer); var document = new Document(pdf); document.Add(new Paragraph("Meta Information of Folder: " + main.Name)); document.Add(new Paragraph("Name: " + main.Name)); document.Add(new Paragraph("Type: Folder")); document.Add(new Paragraph("Size: None")); if (main.ParentFolderId == -1) { document.Add(new Paragraph("Parent: Root")); } else { FolderDTO folder1 = FolderBO.GetFolder(main.CreatedBy, main.ParentFolderId); document.Add(new Paragraph("Parent: " + folder1.Name)); } int count = folderList.Count; Queue <FolderDTO> foldersQueue = new Queue <FolderDTO>(); for (int i = 0; i < count; i++) { foldersQueue.Enqueue(folderList[i]); } List <FileDTO> fileList = FileBO.GetAllFiles(uid, pid); count = fileList.Count; Queue <FileDTO> filesQueue = new Queue <FileDTO>(); for (int i = 0; i < count; i++) { filesQueue.Enqueue(fileList[i]); } while (foldersQueue.Count > 0) { FolderDTO folder = foldersQueue.Dequeue(); document.Add(new Paragraph("Name: " + folder.Name)); document.Add(new Paragraph("Type: Folder")); document.Add(new Paragraph("Size: None")); if (folder.ParentFolderId == -1) { document.Add(new Paragraph("Parent: Root")); } else { FolderDTO folder1 = FolderBO.GetFolder(folder.CreatedBy, folder.ParentFolderId); document.Add(new Paragraph("Parent: " + folder1.Name)); } document.Add(new Paragraph("")); folder.ParentFolderId = folder.Id; folderList = FolderBO.GetAllMainFoldersByUser(folder.CreatedBy, folder.ParentFolderId); count = folderList.Count; for (int i = 0; i < count; i++) { foldersQueue.Enqueue(folderList[i]); } fileList = FileBO.GetAllFiles(folder.CreatedBy, folder.ParentFolderId); count = fileList.Count; for (int i = 0; i < count; i++) { filesQueue.Enqueue(fileList[i]); } } while (filesQueue.Count > 0) { FileDTO file = filesQueue.Dequeue(); document.Add(new Paragraph("Name: " + file.Name)); document.Add(new Paragraph("Type: File")); document.Add(new Paragraph("Size: " + file.FileSizeInKB + " KB")); if (file.ParentFolderId == -1) { document.Add(new Paragraph("Parent: Root")); } else { FolderDTO folder1 = FolderBO.GetFolder(uid, file.ParentFolderId); document.Add(new Paragraph("Parent: " + folder1.Name)); } document.Add(new Paragraph("")); } document.Add(new Paragraph("")); document.Close(); return; }
public Object GenerateMetadata(int folderid, int ownerid) { var ParentFolderDTO = FolderBO.GetFolderInfoByID(folderid); var ChildFolderDTO = FolderBO.GetAllFolderInfo(folderid, ownerid); var FileDTO = FileBO.GetAllFileInfo(folderid); // Generating Guid String fileName = Guid.NewGuid().ToString() + ".pdf"; // Physical path of root folder var rootPath = HttpContext.Current.Server.MapPath("~/Files"); var filefullpath = Path.Combine(rootPath, fileName); // Making pdf file var writer = new PdfWriter(filefullpath); var pdf = new PdfDocument(writer); var document = new Document(pdf); document.Add(new Paragraph("Name: " + ParentFolderDTO.Name)); document.Add(new Paragraph("Type: Folder")); document.Add(new Paragraph("Size: NILL")); if (ParentFolderDTO.ParentFolderID == 0) { document.Add(new Paragraph("Parent: ROOT")); } else { document.Add(new Paragraph("Parent: " + FolderBO.GetParentName(ParentFolderDTO.ParentFolderID))); } document.Add(new Paragraph(Environment.NewLine)); //Child Folders info if (ChildFolderDTO.Any(item => item.ID != 0)) { document.Add(new Paragraph(" ******* Sub Directories Information ******")); document.Add(new Paragraph(Environment.NewLine)); foreach (var item in ChildFolderDTO) { document.Add(new Paragraph("Name: " + item.Name)); document.Add(new Paragraph("Type: Folder")); document.Add(new Paragraph("Size: NILL")); document.Add(new Paragraph("Parent: " + ParentFolderDTO.Name)); document.Add(new Paragraph(Environment.NewLine)); } } if (FileDTO.Any(item => item.ID != 0)) { // Files information document.Add(new Paragraph("******* File Information ********")); document.Add(new Paragraph(Environment.NewLine)); foreach (var item in FileDTO) { document.Add(new Paragraph("Name: " + item.Name)); document.Add(new Paragraph("Type: " + item.FileType)); document.Add(new Paragraph("Size: " + (item.Size) + " KB")); document.Add(new Paragraph("Parent: " + ParentFolderDTO.Name)); document.Add(new Paragraph(Environment.NewLine)); } } document.Close(); if (fileName != null) { HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK); byte[] file = File.ReadAllBytes(filefullpath); MemoryStream ms = new MemoryStream(file); response.Content = new ByteArrayContent(file); response.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment"); response.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/pdf"); response.Content.Headers.ContentDisposition.FileName = fileName; return(response); } else { HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.NotFound); return(response); } }
/// <summary> /// This method is used to construct the notification message and send the notification for the alert /// </summary> /// <param name="task"></param> /// <param name="originalQuery"></param> /// <param name="searchBizEntityObj"></param> private void ConstructNotificationMessage(SearchAlertsTaskBEO task, string originalQuery, DocumentQueryEntity searchBizEntityObj) { /* send notification only if * - All result count between prev alert and current alert is changed * - All result count is same but new results found for current alert * - if alert is running for the first time * - if the prev query and current query is not same */ if ((m_LastResultCount != m_AllResultCount) || ((m_LastResultCount == m_AllResultCount) && m_NewResultCount > 0) || (m_AlertLastRunTimestamp.Equals(DateTime.MinValue) || m_AlertLastRunTimestamp.Equals(Constants.MSSQL2005_MINDATE)) || (!String.IsNullOrEmpty(m_PrevSearchQuery) && (!m_PrevSearchQuery.Equals(originalQuery)))) { var dataSetName = (searchBizEntityObj != null && searchBizEntityObj.QueryObject.DatasetId > 0) ? FolderBO.GetFolderDetails(searchBizEntityObj.QueryObject.DatasetId.ToString()).FolderName : String.Empty; var reviewSetName = (searchBizEntityObj != null && searchBizEntityObj.QueryObject.MatterId > 0 && !String.IsNullOrEmpty(searchBizEntityObj.QueryObject.ReviewsetId)) ? ReviewSetBO.GetReviewSetDetails(searchBizEntityObj.QueryObject.MatterId.ToString(), searchBizEntityObj.QueryObject.ReviewsetId).ReviewSetName : String.Empty; // Send notification var alertMessage = Constants.ALERT_NOTIFICATION_MESSAGE; // modify the notification message if this needs to be sent as part of manual alert if (m_ManualAlertNextRunDate != DateTime.MinValue) { alertMessage += Constants.MANUAL_ALERT_MESSAGE; } if (string.IsNullOrEmpty(reviewSetName)) { alertMessage = m_AllResultCount + alertMessage + Constants.Hyphen + HttpUtility.HtmlDecode(task.SearchAlert.Name) + Constants.FOR + Constants.DATASET + HttpUtility.HtmlDecode(dataSetName); } else { alertMessage = m_AllResultCount + alertMessage + Constants.Hyphen + HttpUtility.HtmlDecode(task.SearchAlert.Name) + Constants.FOR + Constants.DATASET + HttpUtility.HtmlDecode(dataSetName) + Constants.INREVIEWSET + HttpUtility.HtmlDecode(reviewSetName); } if ((((m_LastResultCount == m_AllResultCount) && m_NewResultCount > 0) || ((m_LastResultCount > m_AllResultCount) && m_NewResultCount == 0)) && (m_AlertLastRunTimestamp != DateTime.MinValue)) { alertMessage += Constants.SEARCH_ALERT_RESULTS_CHANGED; } // this is required to get the details of the person who actually created the alert if (!string.IsNullOrEmpty(task.SearchAlert.CreatedBy)) { m_UserBusinessEntity = UserBO.GetUserUsingGuid(task.SearchAlert.CreatedBy); } var messageBuilder = new StringBuilder(); messageBuilder.Append(Constants.Table); messageBuilder.Append(Constants.Row); messageBuilder.Append(Constants.Column); messageBuilder.Append(HttpUtility.HtmlEncode(alertMessage)); messageBuilder.Append(Constants.CloseColumn); messageBuilder.Append(Constants.CloseRow); messageBuilder.Append(Constants.Row); messageBuilder.Append(Constants.Column); messageBuilder.Append(Constants.MessageSearchQuery); messageBuilder.Append(HttpUtility.HtmlDecode(originalQuery)); messageBuilder.Append(Constants.CloseColumn); messageBuilder.Append(Constants.CloseRow); messageBuilder.Append(Constants.Row); messageBuilder.Append(Constants.Column); messageBuilder.Append(Constants.MessageDatasetName); messageBuilder.Append(HttpUtility.HtmlDecode(dataSetName)); messageBuilder.Append(Constants.CloseColumn); messageBuilder.Append(Constants.CloseRow); if (!(string.IsNullOrEmpty(reviewSetName))) { messageBuilder.Append(Constants.Row); messageBuilder.Append(Constants.Column); messageBuilder.Append(Constants.MessageReviewsetName); messageBuilder.Append(HttpUtility.HtmlDecode(reviewSetName)); messageBuilder.Append(Constants.CloseColumn); messageBuilder.Append(Constants.CloseRow); } messageBuilder.Append(Constants.CloseTable); SendNotification(task.SearchAlert, alertMessage, messageBuilder.ToString()); } }