Example #1
0
        /// <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);
        }
Example #2
0
        /// <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);
        }