Esempio n. 1
0
        /// <summary>
        /// Update or Create document
        /// </summary>
        /// <param name="documentSaveRequest"></param>
        /// <returns></returns>
        public static DocumentSaveResponse DocumentSave(DocumentSaveRequest documentSaveRequest)
        {
            var repDocSaveResp = RepDocument.Save(
                documentSaveRequest.headerInfo,
                documentSaveRequest.inDocument,
                documentSaveRequest.saveType);

            var documentSaveResponse = new DocumentSaveResponse();

            documentSaveResponse.document     = documentSaveRequest.inDocument;
            documentSaveResponse.document.UID = repDocSaveResp;
            if (repDocSaveResp == 0)
            {
                documentSaveResponse.response            = new ResponseStatus(MessageType.Error);
                documentSaveResponse.response.Message    = "Error Saving Document.";
                documentSaveResponse.response.Successful = false;
                documentSaveResponse.response.ReturnCode = -0010;
            }
            else
            {
                documentSaveResponse.response = new ResponseStatus(MessageType.Informational);
            }

            return(documentSaveResponse);
        }
Esempio n. 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);
        }