Esempio n. 1
0
        /// <summary>
        /// Upload document list
        /// </summary>
        /// <param name="document"></param>
        private void UploadDocument(TreeNode docSelected)
        {
            var rm = new scClientDocSetDocLink();

            rm = (scClientDocSetDocLink)docSelected.Tag; // Cast

            if (rm.document.DocumentType == MackkadoITFramework.Helper.Utils.DocumentType.FOLDER)
            {
                foreach (TreeNode tn in docSelected.Nodes)
                {
                    // Print Document
                    var docToPrint = new scClientDocSetDocLink();
                    docToPrint = (scClientDocSetDocLink)docSelected.Tag;

                    UploadDocument(tn);
                }
            }
            else
            {
                //  Utils.OpenDocument( txtDestinationFolder.Text + rm.clientDocument.Location, rm.clientDocument.FileName, rm.clientDocument.DocumentType );

                string file = Utils.getFilePathName(destinationFolder + rm.clientDocument.Location, rm.clientDocument.FileName);

                try
                {
                    UploaderStatus.Text = "Uploading " + file;
                    this.Refresh();
                    modelGoogle.UploadFile(file);
                    UploaderStatus.Text = "Successfully uploaded " + file;
                    UpdateDocList();
                }
                catch (ArgumentException)
                {
                    DialogResult result = MessageBox.Show("Error, unable to upload the file: '" + file + "'. It is not one of the valid types.", "Upload Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);
                    UploaderStatus.Text = "Problems uploading";
                    if (result == DialogResult.Cancel)
                    {
                        return;
                    }
                }
                catch (Exception ex)
                {
                    DialogResult result = MessageBox.Show("Error, unable to upload the file: '" + file + "'. " + ex.Message, "Upload Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);
                    UploaderStatus.Text = "Problems uploading";
                    if (result == DialogResult.Cancel)
                    {
                        return;
                    }
                }
            }
        }
Esempio n. 2
0
        // ---------------------------------------------------------------------------------
        //                      Save
        // ---------------------------------------------------------------------------------
        private void tsbSave_Click(object sender, EventArgs e)
        {
            if (parentDocument.UID <= 0)
            {
                MessageBox.Show("Main document is not selected.");
                return;
            }

            foreach (TreeNode tn in tvLinkedDocuments.Nodes[0].Nodes)
            {
                var nodeType = tn.Tag.GetType().Name;
                if (nodeType == "scClientDocSetDocLink")
                {
                    var doc = new scClientDocSetDocLink();
                    doc = (scClientDocSetDocLink)tn.Tag;

                    // Add parentClientDocument and childClientDocument... Daniel 17/08/2010
                    //
                    ClientDocumentLink.LinkDocuments(
                        clientUID: selectedClient.UID,
                        clientDocumentSetUID: selectedClientDocumentSet.UID,
                        parentDocumentUID: parentDocument.UID,
                        childDocumentUID: doc.document.UID,
                        LinkType: cbxLinkType.Text);
                }

                if (nodeType == "Document")
                {
                    Document doc = new Document();
                    doc = (Document)tn.Tag;

                    ClientDocumentLink.LinkDocuments(
                        clientUID: selectedClient.UID,
                        clientDocumentSetUID:  selectedClientDocumentSet.UID,
                        parentDocumentUID: parentDocument.UID,
                        childDocumentUID: doc.UID,
                        LinkType: cbxLinkType.Text);
                }
            }
            MessageBox.Show("Saved successfully.");
        }
Esempio n. 3
0
        private void uploadDocumentToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (!modelGoogle.loggedIn)
            {
                MessageBox.Show("Please log in before uploading documents", "Upload Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            //
            // Get selected document from tree
            //
            tndocSelected = tvFileList.SelectedNode;
            var rm = new scClientDocSetDocLink();

            if (tndocSelected == null)
            {
                return;
            }

            UploadDocument(tndocSelected);
        }
Esempio n. 4
0
        private void btnEdit_Click(object sender, EventArgs e)
        {
            //
            // Get selected document from tree
            //
            TreeNode tndocSelected = tvDocumentList.SelectedNode;

            if (tndocSelected == null)
            {
                return;
            }

            var cds = new scClientDocSetDocLink();

            cds = (scClientDocSetDocLink)tndocSelected.Tag;

            var Location = cds.clientDocument.Location;
            var FileName = cds.clientDocument.FileName;
            var FileType = cds.clientDocument.DocumentType;

            //string filePathName =
            //         Utils.getFilePathName(Location,
            //                               FileName);


            //if (!string.IsNullOrEmpty(filePathName))
            //{
            //    WordDocumentTasks.OpenDocument(filePathName);
            //}
            //else
            //{
            //    MessageBox.Show("Document is empty.");
            //}

            Utils.OpenDocument(Location, FileName, FileType, vkReadOnly: false);
        }
Esempio n. 5
0
        /// <summary>
        /// Delete document selected.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void DeleteDocument_Click(object sender, EventArgs e)
        {
            var resp =
                MessageBox.Show("Are you sure?", "Delete Document", MessageBoxButtons.YesNo);

            if (resp != DialogResult.Yes)
            {
                return;
            }

            //
            // Get selected document from tree
            //
            TreeNode docSelected = tvFileList.SelectedNode;

            if (docSelected == null)
            {
                return;
            }

            if (docSelected.Tag.GetType().Name == "scClientDocSetDocLink")
            {
                var rm = new scClientDocSetDocLink();
                rm = (scClientDocSetDocLink)docSelected.Tag; // Cast

                try
                {
                    // rm.document.Delete( rm.document.UID );

                    // RepDocument.Delete(rm.document.UID);
                    BUSDocument.DeleteDocument(rm.document.UID);
                }
                catch
                {
                    // Using Logical Deletion
                    // rm.document.SetToVoid( rm.document.UID );

                    // RepDocument.SetToVoid(rm.document.UID);
                    BUSDocument.SetToVoid(rm.document.UID);
                }
            }

            if (docSelected.Tag.GetType().Name == "Document")
            {
                var rm = new Document();
                rm = (Document)docSelected.Tag; // Cast

                try
                {
                    // rm.Delete( rm.UID );

                    // RepDocument.Delete(rm.UID);
                    BUSDocument.DeleteDocument(rm.UID);
                }
                catch
                {
                    // rm.SetToVoid( rm.UID );
                    // RepDocument.SetToVoid(rm.UID);
                    BUSDocument.SetToVoid(rm.UID);
                }
            }

            // Physically delete items

            // Remove item
            docSelected.Remove();
        }
Esempio n. 6
0
        // -------------------------------------------------------------------
        //                Saves TreeNode of a client tree
        // -------------------------------------------------------------------
        private static TreeNode SaveTreeNodeToClient(TreeNode treeNode, int parentID, ClientDocumentSet clientDocumentSet)
        {
            TreeNode       ret  = new TreeNode();
            ClientDocument cdsl = new ClientDocument();

            var t = treeNode.Tag.GetType();

            // If the type is not document, it is an existing document
            //
            // var documentLink = new FCMStructures.scClientDocSetDocLink();
            var documentLink = new scClientDocSetDocLink();

            if (t.Name == "scClientDocSetDocLink")
            {
                documentLink = (scClientDocSetDocLink)treeNode.Tag;
                documentLink.clientDocument.SequenceNumber = treeNode.Index;
            }

            //
            // If the type is Document, it means a new document added to the client
            // list
            //
            if (t.Name == "Document")
            #region Document
            {
                documentLink.document = new Document.Document();
                documentLink.document = (Document.Document)treeNode.Tag;

                documentLink.clientDocument    = new ClientDocument();
                documentLink.clientDocumentSet = new ClientDocumentSet();

                // Fill in the extra details...
                //

                documentLink.clientDocument.EndDate = System.DateTime.MaxValue;
                documentLink.clientDocument.FKClientDocumentSetUID = clientDocumentSet.ClientSetID; // Utils.ClientSetID;
                documentLink.clientDocument.FKClientUID            = clientDocumentSet.FKClientUID; //Utils.ClientID;
                if (clientDocumentSet.FKClientUID <= 0)
                {
                    MessageBox.Show("Client ID not supplied.");
                    return(null);
                }
                documentLink.clientDocument.FKDocumentUID     = documentLink.document.UID;
                documentLink.clientDocument.Generated         = 'N';
                documentLink.clientDocument.SourceIssueNumber = documentLink.document.IssueNumber;
                documentLink.clientDocument.ClientIssueNumber = 00;

                // When the source is client, the name will have already all the numbers
                //
                //if (documentLink.document.SourceCode == Utils.SourceCode.CLIENT)
                //{
                //    documentLink.clientDocument.ComboIssueNumber = documentLink.document.CUID;
                //}
                //else
                //{

                //}

                if (documentLink.document.RecordType == Utils.RecordType.FOLDER)
                {
                    documentLink.clientDocument.ComboIssueNumber = documentLink.document.CUID;
                    documentLink.clientDocument.FileName         = documentLink.document.SimpleFileName;
                }
                else
                {
                    documentLink.clientDocument.ComboIssueNumber =
                        ClientDocument.GetComboIssueNumber(documentLink.document.CUID,
                                                           documentLink.document.IssueNumber,
                                                           clientDocumentSet.FKClientUID);

                    documentLink.clientDocument.FileName = documentLink.clientDocument.ComboIssueNumber + " " +
                                                           documentLink.document.SimpleFileName;
                }
                documentLink.clientDocument.IsProjectPlan = documentLink.document.IsProjectPlan;
                documentLink.clientDocument.DocumentCUID  = documentLink.document.CUID;
                documentLink.clientDocument.DocumentType  = documentLink.document.DocumentType;
                // The client document location includes the client path (%CLIENTFOLDER%) plus the client document set id
                // %CLIENTFOLDER%\CLIENTSET201000001R0001\


                // How to identify the parent folder
                //
                // documentLink.clientDocument.ParentUID = destFolder.clientDocument.UID;
                documentLink.clientDocument.ParentUID = parentID;

                //  documentLink.clientDocument.Location = txtDestinationFolder.Text +
                //                                         Utils.GetClientPathInside(documentLink.document.Location);

                documentLink.clientDocument.Location = GetClientDocumentLocation(parentID);

                documentLink.clientDocument.RecordType     = documentLink.document.RecordType;
                documentLink.clientDocument.SequenceNumber = treeNode.Index;
                documentLink.clientDocument.SourceFileName = documentLink.document.FileName;
                documentLink.clientDocument.SourceLocation = documentLink.document.Location;

                documentLink.clientDocument.StartDate = System.DateTime.Today;
                documentLink.clientDocument.UID       = 0;

                documentLink.clientDocumentSet.UID          = clientDocumentSet.ClientSetID; // clientDocumentSet.UID; // Utils.ClientSetID;
                documentLink.clientDocumentSet.SourceFolder = clientDocumentSet.SourceFolder;
                documentLink.clientDocumentSet.ClientSetID  = clientDocumentSet.ClientSetID; // Utils.ClientSetID;
                documentLink.clientDocumentSet.FKClientUID  = clientDocumentSet.FKClientUID;
                documentLink.clientDocumentSet.Folder       = clientDocumentSet.Folder;
            }
            #endregion Document

            // Save link to database
            //
            documentLink.clientDocument.UID = cdsl.LinkDocumentToClientSet(documentLink);

            foreach (TreeNode children in treeNode.Nodes)
            {
                SaveTreeNodeToClient(children, documentLink.clientDocument.UID, clientDocumentSet);
            }


            return(ret);
        }
Esempio n. 7
0
        //
        // List documents for a client
        //
        public void List(int clientID, int clientDocumentSetUID)
        {
            clientDocSetDocLink = new List <scClientDocSetDocLink>();

            using (var connection = new MySqlConnection(ConnString.ConnectionString))
            {
                var commandString = string.Format(
                    " SELECT " +
                    "   UID " +
                    "  ,FKClientUID " +
                    "  ,FKClientDocumentSetUID " +
                    "  ,FKDocumentUID " +
                    "  ,SequenceNumber " +
                    "  ,StartDate " +
                    "  ,EndDate " +
                    "  ,IsVoid " +
                    "  ,SourceLocation " +
                    "  ,SourceFileName " +
                    "  ,Location " +
                    "  ,FileName " +
                    "  ,SourceIssueNumber " +
                    "  ,Generated " +
                    "  ,RecordType " +
                    "  ,ParentUID " +
                    "   FROM ClientDocument " +
                    "   WHERE FKClientUID = {0} " +
                    "   AND FKClientDocumentSetUID = {1} " +
                    "   ORDER BY ParentUID ASC, SequenceNumber ASC ",
                    clientID,
                    clientDocumentSetUID
                    );

                using (var command = new MySqlCommand(
                           commandString, connection))
                {
                    connection.Open();
                    using (MySqlDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            // Ignore voids
                            if (Convert.ToChar(reader["IsVoid"]) == 'Y')
                            {
                                continue;
                            }

                            var docItem = new scClientDocSetDocLink();

                            // Get document
                            //
                            docItem.document     = new Model.ModelDocument.Document();
                            docItem.document.UID = Convert.ToInt32(reader["FKDocumentUID"]);
                            // docItem.document.Read();

                            docItem.document = RepDocument.Read(false, docItem.document.UID);


                            // Get Client Document Set
                            //
                            docItem.clientDocumentSet             = new ClientDocumentSet();
                            docItem.clientDocumentSet.UID         = Convert.ToInt32(reader["FKClientDocumentSetUID"].ToString());
                            docItem.clientDocumentSet.FKClientUID = Convert.ToInt32(reader["FKClientUID"].ToString());

                            // Set Client Document
                            //
                            docItem.clientDocument                        = new ClientDocument();
                            docItem.clientDocument.UID                    = Convert.ToInt32(reader["UID"].ToString());
                            docItem.clientDocument.FKDocumentUID          = Convert.ToInt32(reader["FKDocumentUID"].ToString());
                            docItem.clientDocument.SequenceNumber         = Convert.ToInt32(reader["SequenceNumber"].ToString());
                            docItem.clientDocument.FKClientDocumentSetUID = Convert.ToInt32(reader["FKClientDocumentSetUID"].ToString());
                            docItem.clientDocument.IsVoid                 = Convert.ToChar(reader["IsVoid"].ToString());
                            docItem.clientDocument.StartDate              = Convert.ToDateTime(reader["StartDate"].ToString());
                            docItem.clientDocument.SourceLocation         = reader["SourceLocation"].ToString();
                            docItem.clientDocument.SourceFileName         = reader["SourceFileName"].ToString();
                            docItem.clientDocument.Location               = reader["Location"].ToString();
                            docItem.clientDocument.FileName               = reader["FileName"].ToString();
                            docItem.clientDocument.SourceIssueNumber      = Convert.ToInt32(reader["SourceIssueNumber"].ToString());
                            docItem.clientDocument.Generated              = Convert.ToChar(reader["Generated"]);
                            docItem.clientDocument.RecordType             = reader["RecordType"].ToString();
                            docItem.clientDocument.ParentUID              = Convert.ToInt32(reader["ParentUID"].ToString());


                            try
                            {
                                docItem.clientDocument.EndDate = Convert.ToDateTime(reader["EndDate"].ToString());
                            }
                            catch
                            {
                                docItem.clientDocument.EndDate = System.DateTime.MaxValue;
                            }

                            this.clientDocSetDocLink.Add(docItem);
                        }
                    }
                }
            }
        }
Esempio n. 8
0
        /// <summary>
        /// Add FCM document to Client Set
        /// </summary>
        /// <param name="headerInfo"></param>
        /// <param name="clientUID"></param>
        /// <param name="clientDocumentSetUID"></param>
        /// <param name="documentUID"></param>
        /// <returns></returns>
        public static ResponseStatus AddDocumentToSet(HeaderInfo headerInfo, int clientUID, int clientDocumentSetUID, int documentUID)
        {
            string sourceFolder      = "";
            string destinationFolder = "";


            if (clientUID <= 0)
            {
                return new ResponseStatus {
                           Message = "Client UID was not supplied.", XMessageType = MessageType.Error, ReturnCode = -0020, ReasonCode = 0001
                }
            }
            ;

            if (clientDocumentSetUID <= 0)
            {
                return new ResponseStatus {
                           Message = "Client Document Set UID  was not supplied.", XMessageType = MessageType.Error, ReturnCode = -0020, ReasonCode = 0002
                }
            }
            ;

            if (documentUID <= 0)
            {
                return new ResponseStatus {
                           Message = "Document UID  was not supplied.", XMessageType = MessageType.Error, ReturnCode = -0020, ReasonCode = 0003
                }
            }
            ;

            // Find Document
            //
            DocumentReadRequest documentReadRequest = new DocumentReadRequest();

            documentReadRequest.headerInfo = headerInfo;
            documentReadRequest.retrieveVoidedDocuments = false;
            documentReadRequest.UID = documentUID;

            var documentReadResponse = BUSDocument.DocumentRead(documentReadRequest);
            var documentSelected     = new Document();

            documentSelected = documentReadResponse.document;

            // Find parent of the document
            //
            var folderReadRequestParent = new DocumentReadRequest();

            folderReadRequestParent.headerInfo = headerInfo;
            folderReadRequestParent.retrieveVoidedDocuments = false;
            folderReadRequestParent.UID = documentSelected.ParentUID; // Reading parent

            var folderParentResponse = BUSDocument.DocumentRead(folderReadRequestParent);
            var folderParent         = new Document();

            folderParent = folderParentResponse.document;

            // Find the equivalent parent in ClientDocumentSetDocument
            //
            var foundParent = RepClientDocument.Find(folderParent.UID, clientDocumentSetUID, 'N', clientUID);

            if (foundParent.UID <= 0)
            {
                return new ResponseStatus {
                           Message = "Parent folder not found.", XMessageType = MessageType.Error, ReturnCode = -0020, ReasonCode = 0006
                }
            }
            ;

            // Find ClientDocumentSet
            //
            var clientDocumentSet = new ClientDocumentSet();

            clientDocumentSet.UID         = clientDocumentSetUID;
            clientDocumentSet.FKClientUID = clientUID;
            clientDocumentSet.Read();

            if (clientDocumentSet.UID <= 0)
            {
                return new ResponseStatus {
                           Message = "Client Document Set not found.", XMessageType = MessageType.Error, ReturnCode = -0030, ReasonCode = 0004
                }
            }
            ;

            // Create link
            //
            var documentLink = new scClientDocSetDocLink();

            if (documentSelected.RecordType == "DOCUMENT")
            #region Document
            {
                documentLink.document = new Document();

                documentLink.document = documentSelected;

                documentLink.clientDocument    = new ClientDocument();
                documentLink.clientDocumentSet = new ClientDocumentSet();

                // Fill in the extra details...
                //

                documentLink.clientDocument.EndDate = System.DateTime.MaxValue;
                documentLink.clientDocument.FKClientDocumentSetUID = clientDocumentSet.UID;
                documentLink.clientDocument.FKClientUID            = clientDocumentSet.FKClientUID;
                documentLink.clientDocument.FKDocumentUID          = documentLink.document.UID;
                documentLink.clientDocument.Generated         = 'N';
                documentLink.clientDocument.SourceIssueNumber = documentLink.document.IssueNumber;
                documentLink.clientDocument.ClientIssueNumber = 00;

                if (documentLink.document.RecordType == FCMConstant.RecordType.FOLDER)
                {
                    documentLink.clientDocument.ComboIssueNumber = documentLink.document.CUID;
                    documentLink.clientDocument.FileName         = documentLink.document.SimpleFileName;
                }
                else
                {
                    documentLink.clientDocument.ComboIssueNumber =
                        BUSClientDocument.GetComboIssueNumber(documentLink.document.CUID,
                                                              documentLink.document.IssueNumber,
                                                              clientDocumentSet.FKClientUID);


                    documentLink.clientDocument.FileName = documentLink.clientDocument.ComboIssueNumber + " " +
                                                           documentLink.document.SimpleFileName;
                }
                documentLink.clientDocument.IsProjectPlan = documentLink.document.IsProjectPlan;
                documentLink.clientDocument.DocumentCUID  = documentLink.document.CUID;
                documentLink.clientDocument.DocumentType  = documentLink.document.DocumentType;
                // The client document location includes the client path (%CLIENTFOLDER%) plus the client document set id
                // %CLIENTFOLDER%\CLIENTSET201000001R0001\


                // How to identify the parent folder
                //
                documentLink.clientDocument.ParentUID = foundParent.UID;

                // Daniel
                // 01-Jul-2013
                // Retrieving the clientdocument parent using the UID for the parent clientdocument
                //
//                documentLink.clientDocument.Location = BUSClientDocument.GetClientDocumentLocation(folderReadRequestParent.UID);
                documentLink.clientDocument.Location = BUSClientDocument.GetClientDocumentLocation(foundParent.UID);

                documentLink.clientDocument.RecordType     = documentLink.document.RecordType;
                documentLink.clientDocument.SequenceNumber = 1;
                documentLink.clientDocument.SourceFileName = documentLink.document.FileName;
                documentLink.clientDocument.SourceLocation = documentLink.document.Location;

                documentLink.clientDocument.StartDate = System.DateTime.Today;
                documentLink.clientDocument.UID       = 0;

                documentLink.clientDocumentSet.UID          = clientDocumentSetUID;
                documentLink.clientDocumentSet.SourceFolder = sourceFolder;
                documentLink.clientDocumentSet.ClientSetID  = clientDocumentSet.UID;
                documentLink.clientDocumentSet.FKClientUID  = clientDocumentSet.FKClientUID;
                documentLink.clientDocumentSet.Folder       = destinationFolder;
            }
            #endregion Document

            // Save link to database
            //
            // documentLink.clientDocument.UID = cdsl.LinkDocumentToClientSet(documentLink);

            documentLink.clientDocument.UID = LinkDocumentToClientSet(documentLink);

            return(new ResponseStatus());
        }
Esempio n. 9
0
 public static int LinkDocumentToClientSet(scClientDocSetDocLink doco)
 {
     return(RepClientDocument.LinkDocumentToClientSet(doco));
 }