public void saveDocument() { newTimeMangementProcessModel.DocumentID = dgvDocumentInformation.Rows[0].Cells[1].Value.ToString(); newTimeMangementProcessModel.DocumentOwner = dgvDocumentInformation.Rows[1].Cells[1].Value.ToString(); newTimeMangementProcessModel.IssueDate = dgvDocumentInformation.Rows[2].Cells[1].Value.ToString(); newTimeMangementProcessModel.LastSavedDate = dgvDocumentInformation.Rows[3].Cells[1].Value.ToString(); newTimeMangementProcessModel.FileName = dgvDocumentInformation.Rows[4].Cells[1].Value.ToString(); List <TimeMangementProcessModel.DocumentHistory> documentHistories = new List <TimeMangementProcessModel.DocumentHistory>(); int versionRowsCount = dgvDocumentHistory.Rows.Count; for (int i = 0; i < versionRowsCount - 1; i++) { TimeMangementProcessModel.DocumentHistory documentHistoryModel = new TimeMangementProcessModel.DocumentHistory(); var version = dgvDocumentHistory.Rows[i].Cells[0].Value?.ToString() ?? ""; var issueDate = dgvDocumentHistory.Rows[i].Cells[1].Value?.ToString() ?? ""; var changes = dgvDocumentHistory.Rows[i].Cells[2].Value?.ToString() ?? ""; documentHistoryModel.Version = version; documentHistoryModel.IssueDate = issueDate; documentHistoryModel.Changes = changes; documentHistories.Add(documentHistoryModel); } newTimeMangementProcessModel.DocumentHistories = documentHistories; List <TimeMangementProcessModel.DocumentApproval> documentApprovalsModel = new List <TimeMangementProcessModel.DocumentApproval>(); int approvalRowsCount = dgvDocumentApproval.Rows.Count; for (int i = 0; i < approvalRowsCount - 1; i++) { TimeMangementProcessModel.DocumentApproval documentApproval = new TimeMangementProcessModel.DocumentApproval(); var role = dgvDocumentApproval.Rows[i].Cells[0].Value?.ToString() ?? ""; var name = dgvDocumentApproval.Rows[i].Cells[1].Value?.ToString() ?? ""; var signature = dgvDocumentApproval.Rows[i].Cells[2].Value?.ToString() ?? ""; var date = dgvDocumentApproval.Rows[i].Cells[3].Value?.ToString() ?? ""; documentApproval.Role = role; documentApproval.Name = name; documentApproval.Signature = signature; documentApproval.DateApproved = date; documentApprovalsModel.Add(documentApproval); } newTimeMangementProcessModel.DocumentApprovals = documentApprovalsModel; newTimeMangementProcessModel.TimemanagementprocessDescription = txttimemanagementprocessDescription.Text; newTimeMangementProcessModel.TimemanagementprocessOverview = txttimemanagementprocessOverview.Text; newTimeMangementProcessModel.TimemanagementprocessDocumentTimesheet = txttimemanagementprocessDocumentTimesheet.Text; newTimeMangementProcessModel.TimemanagementprocessApprovedTimesheet = txttimemanagementprocessApprovedTimesheet.Text; newTimeMangementProcessModel.TimemanagementprocessUpdateProcessPlan = txttimemanagementprocessUpdateProcessPlan.Text; newTimeMangementProcessModel.TimemanagementrolesDescription = txttimemanagementrolesDescription.Text; newTimeMangementProcessModel.TimemanagementrolesTeamMember = txttimemanagementrolesTeamMember.Text; newTimeMangementProcessModel.TimemanagementrolesProjectManager = txttimemanagementrolesProjectManager.Text; newTimeMangementProcessModel.TimemanagementrolesProjectAdminstratror = txttimemanagementrolesProjectAdminstratror.Text; newTimeMangementProcessModel.TimemanagementdocumentsDescription = txttimemanagementdocumentsDescription.Text; newTimeMangementProcessModel.TimemanagementdocumentsTimeSheet = txttimemanagementdocumentsTimeSheet.Text; newTimeMangementProcessModel.TimemanagementdocumentsTimeSheetRegister = txttimemanagementdocumentsTimeSheetRegister.Text; List <VersionControl <TimeMangementProcessModel> .DocumentModel> documentModels = versionControl.DocumentModels; if (!versionControl.isEqual(currentTimeMangementProcessModel, newTimeMangementProcessModel)) { VersionControl <TimeMangementProcessModel> .DocumentModel documentModel = new VersionControl <TimeMangementProcessModel> .DocumentModel(newTimeMangementProcessModel, DateTime.Now, VersionControl <ProjectModel> .generateID()); currentTimeMangementProcessModel = JsonConvert.DeserializeObject <TimeMangementProcessModel>(JsonConvert.SerializeObject(newTimeMangementProcessModel)); documentModels.Add(documentModel); versionControl.DocumentModels = documentModels; string json = JsonConvert.SerializeObject(versionControl); JsonHelper.saveDocument(json, Settings.Default.ProjectID, "TimeMangement"); MessageBox.Show("Time Management Process saved successfully", "save", MessageBoxButtons.OK); } }
private void loadDocument() { string json = JsonHelper.loadDocument(Settings.Default.ProjectID, "TimeMangement"); List <string[]> documentInfo = new List <string[]>(); newTimeMangementProcessModel = new TimeMangementProcessModel(); currentTimeMangementProcessModel = new TimeMangementProcessModel(); if (json != "") { versionControl = JsonConvert.DeserializeObject <VersionControl <TimeMangementProcessModel> >(json); newTimeMangementProcessModel = JsonConvert.DeserializeObject <TimeMangementProcessModel>(versionControl.getLatest(versionControl.DocumentModels)); currentTimeMangementProcessModel = JsonConvert.DeserializeObject <TimeMangementProcessModel>(versionControl.getLatest(versionControl.DocumentModels)); documentInfo.Add(new string[] { "Document ID", currentTimeMangementProcessModel.DocumentID }); documentInfo.Add(new string[] { "Document Owner", currentTimeMangementProcessModel.DocumentOwner }); documentInfo.Add(new string[] { "Issue Date", currentTimeMangementProcessModel.IssueDate }); documentInfo.Add(new string[] { "Last Save Date", currentTimeMangementProcessModel.LastSavedDate }); documentInfo.Add(new string[] { "File Name", currentTimeMangementProcessModel.FileName }); foreach (var row in documentInfo) { dgvDocumentInformation.Rows.Add(row); } dgvDocumentInformation.AllowUserToAddRows = false; //foreach (var row in documentInfo) //{ // dgvDocumentHistory.Rows.Add(row); //} //dgvDocumentHistory.AllowUserToAddRows = false; foreach (var row in currentTimeMangementProcessModel.DocumentHistories) { dgvDocumentHistory.Rows.Add(new string[] { row.Version, row.IssueDate, row.Changes }); } foreach (var row in currentTimeMangementProcessModel.DocumentApprovals) { dgvDocumentApproval.Rows.Add(new string[] { row.Role, row.Name, "", row.DateApproved }); } txttimemanagementprocessDescription.Text = currentTimeMangementProcessModel.TimemanagementprocessDescription; txttimemanagementprocessOverview.Text = currentTimeMangementProcessModel.TimemanagementprocessOverview; txttimemanagementprocessDocumentTimesheet.Text = currentTimeMangementProcessModel.TimemanagementprocessDocumentTimesheet; txttimemanagementprocessApprovedTimesheet.Text = currentTimeMangementProcessModel.TimemanagementprocessApprovedTimesheet; txttimemanagementprocessUpdateProcessPlan.Text = currentTimeMangementProcessModel.TimemanagementprocessUpdateProcessPlan; txttimemanagementrolesDescription.Text = currentTimeMangementProcessModel.TimemanagementrolesDescription; txttimemanagementrolesTeamMember.Text = currentTimeMangementProcessModel.TimemanagementrolesTeamMember; txttimemanagementrolesProjectManager.Text = currentTimeMangementProcessModel.TimemanagementrolesProjectManager; txttimemanagementrolesProjectAdminstratror.Text = currentTimeMangementProcessModel.TimemanagementrolesProjectAdminstratror; txttimemanagementdocumentsDescription.Text = currentTimeMangementProcessModel.TimemanagementdocumentsDescription; txttimemanagementdocumentsTimeSheet.Text = currentTimeMangementProcessModel.TimemanagementdocumentsTimeSheet; txttimemanagementdocumentsTimeSheetRegister.Text = currentTimeMangementProcessModel.TimemanagementdocumentsTimeSheetRegister; } else { versionControl = new VersionControl <TimeMangementProcessModel>(); versionControl.DocumentModels = new List <VersionControl <TimeMangementProcessModel> .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", "" }); newTimeMangementProcessModel = new TimeMangementProcessModel(); foreach (var row in documentInfo) { dgvDocumentInformation.Rows.Add(row); } dgvDocumentHistory.AllowUserToAddRows = false; } }