public void SaveDocument() { newCostManagementProcessModel.CostManagementProcess = Cost_Management_Process_tbx.Text; List <Information> informations = new List <Information>(); Information information = new Information(); var DocumentID = Document_Information_dgv.Rows[0].Cells[1].Value.ToString(); var DocumentOwner = Document_Information_dgv.Rows[1].Cells[1].Value.ToString(); var IssueDate = Document_Information_dgv.Rows[2].Cells[1].Value.ToString(); var LastSavedDate = Document_Information_dgv.Rows[3].Cells[1].Value.ToString(); var FileName = Document_Information_dgv.Rows[4].Cells[1].Value.ToString(); information.DocumentID = DocumentID; information.DocumentOwner = DocumentOwner; information.IssueDate = IssueDate; information.LastSavedDate = LastSavedDate; information.FileName = FileName; newCostManagementProcessModel.Information = information; List <History> histories = new List <History>(); int Document_HistoryRowCount = Document_History_dgv.RowCount; for (int i = 0; i < Document_HistoryRowCount - 1; i++) { History history = new History(); var Version = Document_History_dgv.Rows[i].Cells[0].Value?.ToString() ?? ""; var IsDate = Document_History_dgv.Rows[i].Cells[1].Value?.ToString() ?? ""; var Changes = Document_History_dgv.Rows[i].Cells[2].Value?.ToString() ?? ""; history.Version = Version; history.IssueDate = IsDate; history.Changes = Changes; histories.Add(history); } newCostManagementProcessModel.Histories = histories; List <Approval> approvals = new List <Approval>(); int approvalCount = Document_Approvals_dgv.RowCount; for (int i = 0; i < approvalCount - 1; i++) { Approval approval = new Approval(); var Role = Document_Approvals_dgv.Rows[i].Cells[0].Value?.ToString() ?? ""; var Name = Document_Approvals_dgv.Rows[i].Cells[1].Value?.ToString() ?? ""; var Signature = Document_Approvals_dgv.Rows[i].Cells[2].Value?.ToString() ?? ""; var Date = Document_Approvals_dgv.Rows[i].Cells[3].Value?.ToString() ?? ""; approval.Name = Name; approval.Role = Role; approval.Signature = Signature; approval.Date = Date; approvals.Add(approval); } newCostManagementProcessModel.Approvals = approvals; newCostManagementProcessModel.Overview = Overview_tbx.Text; newCostManagementProcessModel.DocumentExpense = Document_Expense_tbx.Text; newCostManagementProcessModel.ApproveExpense = Approve_Expense_tbx.Text; newCostManagementProcessModel.UpdateProjectPlan = Update_Project_Plan_tbx.Text; newCostManagementProcessModel.TeamMembers = Team_Member_tbx.Text; newCostManagementProcessModel.ProjectAdmin = Project_Administrator_tbx.Text; newCostManagementProcessModel.ProjectManager = Project_Manager_tbx.Text; newCostManagementProcessModel.ExpenseForm = Expense_Form_tbx.Text; newCostManagementProcessModel.ExpenseRegister = Expense_Register_tbx.Text; List <VersionControl <CostManagementProcessModel> .DocumentModel> documentModels = versionControl.DocumentModels; //MessageBox.Show(JsonConvert.SerializeObject(newCostManagementProcessModel), "save", MessageBoxButtons.OK); if (!versionControl.isEqual(currentCostManagementProcessModel, newCostManagementProcessModel)) { VersionControl <CostManagementProcessModel> .DocumentModel documentModel = new VersionControl <CostManagementProcessModel> .DocumentModel(newCostManagementProcessModel, DateTime.Now, VersionControl <CostManagementProcessModel> .generateID()); documentModels.Add(documentModel); versionControl.DocumentModels = documentModels; string json = JsonConvert.SerializeObject(versionControl); currentCostManagementProcessModel = JsonConvert.DeserializeObject <CostManagementProcessModel>(JsonConvert.SerializeObject(newCostManagementProcessModel)); JsonHelper.saveDocument(json, Settings.Default.ProjectID, "CostManagementProcess"); MessageBox.Show("Risk plan saved successfully", "save", MessageBoxButtons.OK); } }
public void LoadDocument() { string json = JsonHelper.loadDocument(Settings.Default.ProjectID, "CostManagementProcess"); List <string[]> documentInfo = new List <string[]>(); newCostManagementProcessModel = new CostManagementProcessModel(); currentCostManagementProcessModel = new CostManagementProcessModel(); if (json != "") { versionControl = JsonConvert.DeserializeObject <VersionControl <CostManagementProcessModel> >(json); newCostManagementProcessModel = JsonConvert.DeserializeObject <CostManagementProcessModel>(versionControl.getLatest(versionControl.DocumentModels)); currentCostManagementProcessModel = JsonConvert.DeserializeObject <CostManagementProcessModel>(versionControl.getLatest(versionControl.DocumentModels)); Information information = currentCostManagementProcessModel.Information; documentInfo.Add(new string[] { "Document ID", information.DocumentID }); documentInfo.Add(new string[] { "Document Owner", information.DocumentOwner }); documentInfo.Add(new string[] { "Issue Date", information.IssueDate }); documentInfo.Add(new string[] { "Last Save Date", information.LastSavedDate }); documentInfo.Add(new string[] { "File Name", information.FileName }); foreach (var row in documentInfo) { Document_Information_dgv.Rows.Add(row); } Document_Information_dgv.AllowUserToAddRows = false; foreach (var row in currentCostManagementProcessModel.Histories) { Document_History_dgv.Rows.Add(new string[] { row.Version, row.IssueDate, row.Changes }); } foreach (var row in currentCostManagementProcessModel.Approvals) { Document_Approvals_dgv.Rows.Add(new string[] { row.Role, row.Name, row.Signature, row.Date }); } Cost_Management_Process_tbx.Text = currentCostManagementProcessModel.CostManagementProcess; Overview_tbx.Text = currentCostManagementProcessModel.Overview; Document_Expense_tbx.Text = currentCostManagementProcessModel.DocumentExpense; Approve_Expense_tbx.Text = currentCostManagementProcessModel.ApproveExpense; Update_Project_Plan_tbx.Text = currentCostManagementProcessModel.UpdateProjectPlan; Team_Member_tbx.Text = currentCostManagementProcessModel.TeamMembers; Project_Administrator_tbx.Text = currentCostManagementProcessModel.ProjectAdmin; Project_Manager_tbx.Text = currentCostManagementProcessModel.ProjectManager; Expense_Form_tbx.Text = currentCostManagementProcessModel.ExpenseForm; Expense_Register_tbx.Text = currentCostManagementProcessModel.ExpenseRegister; } else { versionControl = new VersionControl <CostManagementProcessModel>(); versionControl.DocumentModels = new List <VersionControl <CostManagementProcessModel> .DocumentModel>(); newCostManagementProcessModel = new CostManagementProcessModel(); 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) { Document_Information_dgv.Rows.Add(row); } Document_Information_dgv.AllowUserToAddRows = false; } }