public void loadDocument() { string json = JsonHelper.loadDocument(Settings.Default.ProjectID, "QualityPlan"); List <string[]> documentInfo = new List <string[]>(); newQualityPlanModel = new QualityPlanModel(); currentQualityPlanModel = new QualityPlanModel(); if (json != "") { versionControl = JsonConvert.DeserializeObject <VersionControl <QualityPlanModel> >(json); newQualityPlanModel = JsonConvert.DeserializeObject <QualityPlanModel>(versionControl.getLatest(versionControl.DocumentModels)); currentQualityPlanModel = JsonConvert.DeserializeObject <QualityPlanModel>(versionControl.getLatest(versionControl.DocumentModels)); documentInfo.Add(new string[] { "Document ID", currentQualityPlanModel.documentID }); documentInfo.Add(new string[] { "Document Owner", currentQualityPlanModel.documentOwner }); documentInfo.Add(new string[] { "Issue Date", currentQualityPlanModel.issueDate }); documentInfo.Add(new string[] { "Last Save Date", currentQualityPlanModel.lastSavedDate }); documentInfo.Add(new string[] { "File Name", currentQualityPlanModel.fileName }); foreach (var row in documentInfo) { dataGridViewDocumentInformation.Rows.Add(row); } dataGridViewDocumentInformation.AllowUserToAddRows = false; foreach (var row in currentQualityPlanModel.documentHistories) { dataGridViewDocumentHistory.Rows.Add(new string[] { row.version, row.issueDate, row.changes }); } foreach (var row in currentQualityPlanModel.documentApprovals) { dataGridViewDocumentApprovals.Rows.Add(new String[] { row.role, row.name, row.changes, row.date }); } foreach (var row in currentQualityPlanModel.documentQualityTargets) { dataGridViewQualityTargets.Rows.Add(new String[] { row.requirement, row.deliverable, row.criteria, row.standards }); } foreach (var row in currentQualityPlanModel.documentQualityAssurances) { dataGridViewQAP.Rows.Add(new String[] { row.technique, row.description, row.frequency }); } foreach (var row in currentQualityPlanModel.documentQualityControls) { dataGridViewQCP.Rows.Add(new String[] { row.technique, row.description, row.frequency }); } WriteAllToList(listBoxAssumptions, currentQualityPlanModel.assumptions); WriteAllToList(listBoxConstraints, currentQualityPlanModel.constraints); WriteAllToList(listBoxQualityActivities, currentQualityPlanModel.activites); WriteAllToList(listBoxQualityRoles, currentQualityPlanModel.roles); WriteAllToList(listBoxQualityDocuments, currentQualityPlanModel.documents); } else { versionControl = new VersionControl <QualityPlanModel>(); versionControl.DocumentModels = new List <VersionControl <QualityPlanModel> .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", "" }); newQualityPlanModel = new QualityPlanModel(); foreach (var row in documentInfo) { dataGridViewDocumentInformation.Rows.Add(row); } dataGridViewDocumentInformation.AllowUserToAddRows = false; } }
//Back-End public void SaveDocument() { newQualityPlanModel.documentID = dataGridViewDocumentInformation.Rows[0].Cells[1].Value.ToString(); newQualityPlanModel.documentOwner = dataGridViewDocumentInformation.Rows[1].Cells[1].Value.ToString(); newQualityPlanModel.issueDate = dataGridViewDocumentInformation.Rows[2].Cells[1].Value.ToString(); newQualityPlanModel.lastSavedDate = dataGridViewDocumentInformation.Rows[3].Cells[1].Value.ToString(); newQualityPlanModel.fileName = dataGridViewDocumentInformation.Rows[4].Cells[1].Value.ToString(); List <QualityPlanModel.DocumentHistory> documentHistories = new List <QualityPlanModel.DocumentHistory>(); int versionRowCount = dataGridViewDocumentHistory.Rows.Count - 1; for (int i = 0; i < versionRowCount; i++) { QualityPlanModel.DocumentHistory documentHistory = new QualityPlanModel.DocumentHistory(); var tempVersion = dataGridViewDocumentHistory.Rows[i].Cells[0].Value?.ToString() ?? ""; var tempIssueDate = dataGridViewDocumentHistory.Rows[i].Cells[1].Value?.ToString() ?? ""; var tempChanges = dataGridViewDocumentHistory.Rows[i].Cells[2].Value?.ToString() ?? ""; documentHistory.version = tempVersion; documentHistory.issueDate = tempIssueDate; documentHistory.changes = tempChanges; documentHistories.Add(documentHistory); } newQualityPlanModel.documentHistories = documentHistories; List <QualityPlanModel.DocumentApprovals> documentApprovals = new List <QualityPlanModel.DocumentApprovals>(); int approvalRowsCount = dataGridViewDocumentApprovals.Rows.Count - 1; for (int i = 0; i < approvalRowsCount; i++) { QualityPlanModel.DocumentApprovals documentApproval = new QualityPlanModel.DocumentApprovals(); var tempRole = dataGridViewDocumentApprovals.Rows[i].Cells[0].Value?.ToString() ?? ""; var tempName = dataGridViewDocumentApprovals.Rows[i].Cells[1].Value?.ToString() ?? ""; var tempChanges = dataGridViewDocumentApprovals.Rows[i].Cells[2].Value?.ToString() ?? ""; var tempDate = dataGridViewDocumentApprovals.Rows[i].Cells[3].Value?.ToString() ?? ""; documentApproval.role = tempRole; documentApproval.name = tempName; documentApproval.changes = tempChanges; documentApproval.date = tempDate; documentApprovals.Add(documentApproval); } newQualityPlanModel.documentApprovals = documentApprovals; List <QualityPlanModel.DocumentQualityTargets> documentQualityTargets = new List <QualityPlanModel.DocumentQualityTargets>(); int qualTargetCount = dataGridViewQualityTargets.Rows.Count - 1; for (int i = 0; i < qualTargetCount; i++) { QualityPlanModel.DocumentQualityTargets documentQualityTarget = new QualityPlanModel.DocumentQualityTargets(); var tempRequirements = dataGridViewQualityTargets.Rows[i].Cells[0].Value?.ToString() ?? ""; var tempDeliverable = dataGridViewQualityTargets.Rows[i].Cells[1].Value?.ToString() ?? ""; var tempCriteria = dataGridViewQualityTargets.Rows[i].Cells[2].Value?.ToString() ?? ""; var tempStandards = dataGridViewQualityTargets.Rows[i].Cells[3].Value?.ToString() ?? ""; documentQualityTarget.requirement = tempRequirements; documentQualityTarget.deliverable = tempDeliverable; documentQualityTarget.criteria = tempCriteria; documentQualityTarget.standards = tempStandards; documentQualityTargets.Add(documentQualityTarget); } newQualityPlanModel.documentQualityTargets = documentQualityTargets; List <QualityPlanModel.DocumentQualityAssurance> documentQualityAssurances = new List <QualityPlanModel.DocumentQualityAssurance>(); int qualAssuranceCount = dataGridViewQAP.Rows.Count - 1; for (int i = 0; i < qualAssuranceCount; i++) { QualityPlanModel.DocumentQualityAssurance documentQualityAssurance = new QualityPlanModel.DocumentQualityAssurance(); var tempTechnique = dataGridViewQAP.Rows[i].Cells[0].Value?.ToString() ?? ""; var tempDescription = dataGridViewQAP.Rows[i].Cells[1].Value?.ToString() ?? ""; var tempFrequency = dataGridViewQAP.Rows[i].Cells[2].Value?.ToString() ?? ""; documentQualityAssurance.technique = tempTechnique; documentQualityAssurance.description = tempDescription; documentQualityAssurance.frequency = tempFrequency; documentQualityAssurances.Add(documentQualityAssurance); } newQualityPlanModel.documentQualityAssurances = documentQualityAssurances; List <QualityPlanModel.DocumentQualityControl> documentQualityControls = new List <QualityPlanModel.DocumentQualityControl>(); int qualControlCount = dataGridViewQCP.Rows.Count; for (int i = 0; i < qualControlCount; i++) { QualityPlanModel.DocumentQualityControl documentQualityControl = new QualityPlanModel.DocumentQualityControl(); var tempTechnique = dataGridViewQCP.Rows[i].Cells[0].Value?.ToString() ?? ""; var tempDescription = dataGridViewQCP.Rows[i].Cells[1].Value?.ToString() ?? ""; var tempFrequency = dataGridViewQCP.Rows[i].Cells[2].Value?.ToString() ?? ""; documentQualityControl.technique = tempTechnique; documentQualityControl.description = tempDescription; documentQualityControl.frequency = tempFrequency; documentQualityControls.Add(documentQualityControl); } newQualityPlanModel.documentQualityControls = documentQualityControls; newQualityPlanModel.assumptions = ReadAllFromList(listBoxAssumptions); newQualityPlanModel.constraints = ReadAllFromList(listBoxConstraints); newQualityPlanModel.activites = ReadAllFromList(listBoxQualityActivities); newQualityPlanModel.roles = ReadAllFromList(listBoxQualityRoles); newQualityPlanModel.documents = ReadAllFromList(listBoxQualityDocuments); List <VersionControl <QualityPlanModel> .DocumentModel> documentModels = versionControl.DocumentModels; if (!versionControl.isEqual(currentQualityPlanModel, newQualityPlanModel)) { VersionControl <QualityPlanModel> .DocumentModel documentModel = new VersionControl <QualityPlanModel> .DocumentModel(newQualityPlanModel, DateTime.Now, VersionControl <ProjectModel> .generateID()); documentModels.Add(documentModel); versionControl.DocumentModels = documentModels; currentQualityPlanModel = JsonConvert.DeserializeObject <QualityPlanModel>(JsonConvert.SerializeObject(newQualityPlanModel)); string json = JsonConvert.SerializeObject(versionControl); JsonHelper.saveDocument(json, Settings.Default.ProjectID, "QualityPlan"); MessageBox.Show("Quality plan saved successfully", "save", MessageBoxButtons.OK); } }