/// <summary> /// Client document delete /// </summary> /// <returns></returns> public static ResponseStatus ClientDocumentDelete(HeaderInfo headerInfo, int clientUID, int clientDocumentSetUID, int clientDocumentUID) { string filePhysicallyRemoved = ""; // Get client document var clientDocument = RepClientDocument.Read(clientDocumentUID); // Delete file from folder var fileNamePath = Utils.getFilePathNameLOCAL(clientDocument.clientDocumentSet.Folder + clientDocument.Location, clientDocument.FileName); if (File.Exists(fileNamePath)) { filePhysicallyRemoved = " File exists but not removed. "; try { File.Delete(fileNamePath); filePhysicallyRemoved = " File exists and has been removed. "; } catch (Exception ex) { LogFile.WriteToTodaysLogFile("Error deleting file after Remove issued" + ex); filePhysicallyRemoved = " File exists but not removed. "; } } // Delete record from database var response = RepClientDocument.Delete(clientUID, clientDocumentSetUID, clientDocumentUID); response.Message = response.Message.Trim() + filePhysicallyRemoved; LogFile.WriteToTodaysLogFile(response.Message + " " + clientDocument.FileName + " " + clientDocument.UID, headerInfo.UserID, "", "BUSClientDocument.cs"); return(response); }
/// <summary> /// Load folder into FCM Database and into FCM folder /// </summary> /// <param name="sourceFolder"></param> /// <param name="uioutput"></param> /// <param name="parentUID"></param> /// <param name="sequenceNumber"></param> /// <param name="headerInfo"></param> /// <returns></returns> static public ResponseStatus LoadFolder(string sourceFolder, IOutputMessage uioutput, int parentUID, int sequenceNumber, HeaderInfo headerInfo) { ResponseStatus response = new ResponseStatus(); response.Message = "Folder loaded successfully."; if (!Directory.Exists(sourceFolder)) { response.ReturnCode = -0010; response.ReasonCode = -0001; response.Message = "Source folder does not exist."; response.UniqueCode = "E00.00.0001"; response.Icon = MessageBoxIcon.Error; return(response); } string[] folderNameSplit = sourceFolder.Split('\\'); string folderName = folderNameSplit[folderNameSplit.Length - 1]; uioutput.Activate(); string[] files = Directory.GetFiles(sourceFolder); // Create folder that contains files and keep the parent // // ... Model.ModelDocument.Document folder = new Model.ModelDocument.Document(); if (folderName.Length >= 7) { folder.CUID = folderName.Substring(0, 7); } else { folder.CUID = folderName; } folder.FileName = folderName; folder.Comments = "Loaded by batch"; folder.Name = folderName; folder.DisplayName = folderName; folder.FKClientUID = 0; folder.IssueNumber = 0; string refPath = MakHelperUtils.getReferenceFilePathName(sourceFolder); if (string.IsNullOrEmpty(refPath)) { response.ReturnCode = -0010; response.ReasonCode = -0002; response.Message = "Folder selected is not under managed template folder."; response.UniqueCode = "E00.00.0001"; return(response); } folder.Location = refPath; // Store the folder being loaded at the root level // folder.Location = MakConstant.SYSFOLDER.TEMPLATEFOLDER; folder.ParentUID = parentUID; folder.SequenceNumber = 0; folder.SourceCode = "FCM"; folder.UID = 0; folder.RecordType = MakHelperUtils.RecordType.FOLDER; folder.DocumentType = MakHelperUtils.DocumentType.FOLDER; folder.SimpleFileName = folder.Name; folder.FileExtension = "FOLDER"; folder.IsProjectPlan = "N"; // parentUID = folder.Save(headerInfo, MakHelperUtils.SaveType.NEWONLY); parentUID = RepDocument.Save(headerInfo, folder, MakHelperUtils.SaveType.NEWONLY); // Store each file // foreach (string file in files) { #region File Processing string name = Path.GetFileName(file); string fileName = Path.GetFileNameWithoutExtension(file); string fileExtension = Path.GetExtension(file); string validExtensions = ".doc .docx .xls .xlsx .pdf .dotx"; // Not every extension will be loaded // if (!validExtensions.Contains(fileExtension)) { continue; } string fileNameExt = Path.GetFileName(file); string simpleFileName = fileNameExt; if (fileNameExt.Length > 10) { simpleFileName = fileNameExt.Substring(10).Trim(); } Model.ModelDocument.Document document = new Model.ModelDocument.Document(); document.CUID = fileName.Substring(0, 6); document.FileName = fileNameExt; //string refPath = // Utils.getReferenceFilePathName(sourceFolder); document.Location = refPath; string issue = "1"; document.IssueNumber = Convert.ToInt32(issue); try { issue = fileName.Substring(7, 2); document.IssueNumber = Convert.ToInt32(issue); } catch (Exception ex) { LogFile.WriteToTodaysLogFile(ex.ToString()); } document.Name = fileName; document.SimpleFileName = simpleFileName; document.DisplayName = simpleFileName; document.SequenceNumber = sequenceNumber; document.ParentUID = parentUID; document.Comments = "Loaded via batch"; document.SourceCode = "FCM"; document.FKClientUID = 0; document.RecordType = MakHelperUtils.RecordType.DOCUMENT; document.FileExtension = fileExtension; document.Status = FCMUtils.FCMConstant.DocumentStatus.ACTIVE; document.IsProjectPlan = "N"; switch (fileExtension) { case ".doc": document.DocumentType = MakHelperUtils.DocumentType.WORD; break; case ".docx": document.DocumentType = MakHelperUtils.DocumentType.WORD; break; case ".dotx": document.DocumentType = MakHelperUtils.DocumentType.WORD; break; case ".xls": document.DocumentType = MakHelperUtils.DocumentType.EXCEL; break; case ".xlsx": document.DocumentType = MakHelperUtils.DocumentType.EXCEL; break; case ".pdf": document.DocumentType = MakHelperUtils.DocumentType.PDF; break; default: document.DocumentType = MakHelperUtils.DocumentType.UNDEFINED; break; } // document.Save(headerInfo, MakHelperUtils.SaveType.NEWONLY); RepDocument.Save(headerInfo, document, MakHelperUtils.SaveType.NEWONLY); uioutput.AddOutputMessage(document.Name, "", userID); sequenceNumber++; #endregion File Processing } // Recursion removed // string[] folders = Directory.GetDirectories(sourceFolder); foreach (string directory in folders) { string name = Path.GetFileName(directory); LoadFolder(directory, uioutput, parentUID, 0, headerInfo); } return(response); }