public void saveDocument() { newChangeManagementProcessModel.DocumentID = dataGridViewDocumentInformation.Rows[0].Cells[1].Value.ToString(); newChangeManagementProcessModel.DocumentOwner = dataGridViewDocumentInformation.Rows[1].Cells[1].Value.ToString(); newChangeManagementProcessModel.IssueDate = dataGridViewDocumentInformation.Rows[2].Cells[1].Value.ToString(); newChangeManagementProcessModel.LastSavedDate = dataGridViewDocumentInformation.Rows[3].Cells[1].Value.ToString(); newChangeManagementProcessModel.FileName = dataGridViewDocumentInformation.Rows[4].Cells[1].Value.ToString(); newChangeManagementProcessModel.DocumentHistories = new List <ChangeManagementProcessModel.DocumentHistory>(); int historyCount = dataGridViewDocumentHistory.Rows.Count; for (int i = 0; i < historyCount - 1; i++) { var version = dataGridViewDocumentHistory.Rows[i].Cells[0].Value?.ToString() ?? ""; var issueDate = dataGridViewDocumentHistory.Rows[i].Cells[1].Value?.ToString() ?? ""; var changes = dataGridViewDocumentHistory.Rows[i].Cells[2].Value?.ToString() ?? ""; newChangeManagementProcessModel.DocumentHistories .Add(new ChangeManagementProcessModel.DocumentHistory(version, issueDate, changes)); } newChangeManagementProcessModel.DocumentApprovals = new List <ChangeManagementProcessModel.DocumentApproval>(); int approvalRowsCount = dataGridViewDocumentApprovals.Rows.Count; for (int i = 0; i < approvalRowsCount - 1; i++) { var role = dataGridViewDocumentApprovals.Rows[i].Cells[0].Value?.ToString() ?? ""; var name = dataGridViewDocumentApprovals.Rows[i].Cells[1].Value?.ToString() ?? ""; var signature = dataGridViewDocumentApprovals.Rows[i].Cells[2].Value?.ToString() ?? ""; var date = dataGridViewDocumentApprovals.Rows[i].Cells[3].Value?.ToString() ?? ""; newChangeManagementProcessModel.DocumentApprovals .Add(new ChangeManagementProcessModel.DocumentApproval(role, name, signature, date)); } newChangeManagementProcessModel.ChangeProcessDescription = txtChangeProcess.Text; newChangeManagementProcessModel.ChangeProcessOverview = txtOverview.Text; newChangeManagementProcessModel.ChangeProcessIdentifyChange = txtIdentifyChange.Text; newChangeManagementProcessModel.ChangeProcessReviewChange = txtReviewChange.Text; newChangeManagementProcessModel.ChangeProcessApproveChange = txtApproveChange.Text; newChangeManagementProcessModel.ChangeProcessImplementChange = txtImplementChange.Text; newChangeManagementProcessModel.ChangeRolesDescription = txtChangeRoles.Text; newChangeManagementProcessModel.ChangeRolesTeamMember = txtTeamMember.Text; newChangeManagementProcessModel.ChangeRolesProjectManager = txtProjectManager.Text; newChangeManagementProcessModel.ChangeRolesProjectBoard = txtProjectBoard.Text; newChangeManagementProcessModel.ChangeDocumentDescription = txtChangeDocuments.Text; newChangeManagementProcessModel.ChangeDocumentChangeRequestForm = txtChangeRequestForm.Text; newChangeManagementProcessModel.ChangeDocumentChangeRegister = txtChangeRegister.Text; List <VersionControl <ChangeManagementProcessModel> .DocumentModel> documentModels = versionControl.DocumentModels; if (!versionControl.isEqual(currentChangeManagementProcessModel, newChangeManagementProcessModel)) { versionControl.DocumentModels.Add(new VersionControl <ChangeManagementProcessModel> .DocumentModel(newChangeManagementProcessModel, DateTime.Now, VersionControl <ChangeManagementProcessModel> .generateID())); string json = JsonConvert.SerializeObject(versionControl); currentChangeManagementProcessModel = JsonConvert.DeserializeObject <ChangeManagementProcessModel>(JsonConvert.SerializeObject(newChangeManagementProcessModel)); JsonHelper.saveDocument(json, Settings.Default.ProjectID, "ChangeManagementProcess"); MessageBox.Show("Change Management Process saved successfully", "save", MessageBoxButtons.OK); } else { MessageBox.Show("No changes was made!", "save", MessageBoxButtons.OK); } }
private void loadDocument() { string json = JsonHelper.loadDocument(Settings.Default.ProjectID, "ChangeManagementProcess"); List <string[]> documentInfo = new List <string[]>(); newChangeManagementProcessModel = new ChangeManagementProcessModel(); currentChangeManagementProcessModel = new ChangeManagementProcessModel(); if (json != "") { versionControl = JsonConvert.DeserializeObject <VersionControl <ChangeManagementProcessModel> >(json); newChangeManagementProcessModel = JsonConvert.DeserializeObject <ChangeManagementProcessModel>(versionControl.getLatest(versionControl.DocumentModels)); currentChangeManagementProcessModel = JsonConvert.DeserializeObject <ChangeManagementProcessModel>(versionControl.getLatest(versionControl.DocumentModels)); documentInfo.Add(new string[] { "Document ID", currentChangeManagementProcessModel.DocumentID }); documentInfo.Add(new string[] { "Document Owner", currentChangeManagementProcessModel.DocumentOwner }); documentInfo.Add(new string[] { "Issue Date", currentChangeManagementProcessModel.IssueDate }); documentInfo.Add(new string[] { "Last Save Date", currentChangeManagementProcessModel.LastSavedDate }); documentInfo.Add(new string[] { "File Name", currentChangeManagementProcessModel.FileName }); foreach (var row in documentInfo) { dataGridViewDocumentInformation.Rows.Add(row); } dataGridViewDocumentInformation.AllowUserToAddRows = false; foreach (var row in currentChangeManagementProcessModel.DocumentHistories) { dataGridViewDocumentHistory.Rows.Add(new string[] { row.Version, row.IssueDate, row.Changes }); } foreach (var row in currentChangeManagementProcessModel.DocumentApprovals) { dataGridViewDocumentApprovals.Rows.Add(new string[] { row.Role, row.Name, "", row.DateApproved }); } txtChangeManagementProcessProjectName.Text = projectModel.ProjectName; txtChangeProcess.Text = currentChangeManagementProcessModel.ChangeProcessDescription; txtOverview.Text = currentChangeManagementProcessModel.ChangeProcessOverview; txtIdentifyChange.Text = currentChangeManagementProcessModel.ChangeProcessIdentifyChange; txtReviewChange.Text = currentChangeManagementProcessModel.ChangeProcessReviewChange; txtApproveChange.Text = currentChangeManagementProcessModel.ChangeProcessApproveChange; txtImplementChange.Text = currentChangeManagementProcessModel.ChangeProcessImplementChange; txtChangeRoles.Text = currentChangeManagementProcessModel.ChangeRolesDescription; txtTeamMember.Text = currentChangeManagementProcessModel.ChangeRolesTeamMember; txtProjectManager.Text = currentChangeManagementProcessModel.ChangeRolesProjectManager; txtProjectBoard.Text = currentChangeManagementProcessModel.ChangeRolesProjectBoard; txtChangeDocuments.Text = currentChangeManagementProcessModel.ChangeDocumentDescription; txtChangeRequestForm.Text = currentChangeManagementProcessModel.ChangeDocumentChangeRequestForm; txtChangeRegister.Text = currentChangeManagementProcessModel.ChangeDocumentChangeRegister; } else { versionControl = new VersionControl <ChangeManagementProcessModel>(); versionControl.DocumentModels = new List <VersionControl <ChangeManagementProcessModel> .DocumentModel>(); documentInfo.Add(new string[] { "Document ID", "" }); documentInfo.Add(new string[] { "Document Owner", "" }); documentInfo.Add(new string[] { "Issue Date", "" }); documentInfo.Add(new string[] { "Last Save Date", "" }); documentInfo.Add(new string[] { "File Name", "" }); foreach (var row in documentInfo) { dataGridViewDocumentInformation.Rows.Add(row); } dataGridViewDocumentInformation.AllowUserToAddRows = false; } }