public void saveDocument() { newRequestForProposalModel.projectName = projectModel.ProjectName; newRequestForProposalModel.documentInformations = new List <RequestForProposalModel.DocumentInformation>(); foreach (DataGridViewRow row in dataGridViewDocumentInformation.Rows) { RequestForProposalModel.DocumentInformation newInfo = new RequestForProposalModel.DocumentInformation(); newInfo.type = row.Cells[0].Value?.ToString() ?? ""; newInfo.information = row.Cells[1].Value?.ToString() ?? ""; newRequestForProposalModel.documentInformations.Add(newInfo); } newRequestForProposalModel.documentHistories = new List <RequestForProposalModel.DocumentHistory>(); foreach (DataGridViewRow row in dataGridViewDocumentHistory.Rows) { RequestForProposalModel.DocumentHistory newHistory = new RequestForProposalModel.DocumentHistory(); newHistory.version = row.Cells[0].Value?.ToString() ?? ""; newHistory.issueDate = row.Cells[1].Value?.ToString() ?? ""; newHistory.changes = row.Cells[2].Value?.ToString() ?? ""; newRequestForProposalModel.documentHistories.Add(newHistory); } newRequestForProposalModel.documentApprovals = new List <RequestForProposalModel.DocumentApproval>(); foreach (DataGridViewRow row in dataGridViewDocumentApprovals.Rows) { RequestForProposalModel.DocumentApproval newApproval = new RequestForProposalModel.DocumentApproval(); newApproval.role = row.Cells[0].Value?.ToString() ?? ""; newApproval.name = row.Cells[1].Value?.ToString() ?? ""; newApproval.signature = row.Cells[2].Value?.ToString() ?? ""; newApproval.approvalDate = row.Cells[3].Value?.ToString() ?? ""; newRequestForProposalModel.documentApprovals.Add(newApproval); } newRequestForProposalModel.introductionDescription = txtChangeProcess.Text; newRequestForProposalModel.introductionOverview = txtOverview.Text; newRequestForProposalModel.introductionPurpose = txtPurpose.Text; newRequestForProposalModel.introductionAcknowledgement = txtAcknowledgement.Text; newRequestForProposalModel.introductionRecipients = txtRecipients.Text; newRequestForProposalModel.introductionProcess = txtProcess.Text; newRequestForProposalModel.introductionRules = txtRules.Text; newRequestForProposalModel.introductionQuestions = txtQuestions.Text; newRequestForProposalModel.companyDescription = txtCompany.Text; newRequestForProposalModel.companyVision = txtVision.Text; newRequestForProposalModel.companyObjectives = txtObjectives.Text; newRequestForProposalModel.companySize = txtSize.Text; newRequestForProposalModel.companyLocation = txtLocation.Text; newRequestForProposalModel.companyTypeAndNumberOfCustomers = txtTypeAndNumberOfCustomers.Text; newRequestForProposalModel.companyMarketSegment = txtMarketSegment.Text; newRequestForProposalModel.companyKnowledgeOfIndustryAndExpertise = txtKnowledgeOfIndustryAndExpertise.Text; newRequestForProposalModel.solutionDescription = txtSolution.Text; newRequestForProposalModel.solutions = new List <RequestForProposalModel.Solution>(); foreach (DataGridViewRow row in dataGridViewSolution.Rows) { RequestForProposalModel.Solution newSolution = new RequestForProposalModel.Solution(); newSolution.solutionAndComponents = row.Cells[0].Value?.ToString() ?? ""; newSolution.quantity = row.Cells[1].Value?.ToString() ?? ""; newSolution.price = row.Cells[2].Value?.ToString() ?? ""; newRequestForProposalModel.solutions.Add(newSolution); } newRequestForProposalModel.implementationDescription = txtImplementation.Text; newRequestForProposalModel.otherInformationDescription = txtOtherInformation.Text; newRequestForProposalModel.otherInformationConfidentiality = txtConfidentiality.Text; newRequestForProposalModel.otherInformationDocumentation = txtDocumentation.Text; List <VersionControl <RequestForProposalModel> .DocumentModel> documentModels = versionControl.DocumentModels; if (!versionControl.isEqual(currentRequestForProposalModel, newRequestForProposalModel)) { VersionControl <RequestForProposalModel> .DocumentModel documentModel = new VersionControl <RequestForProposalModel> .DocumentModel(newRequestForProposalModel, DateTime.Now, VersionControl <RequestForProposalModel> .generateID()); documentModels.Add(documentModel); versionControl.DocumentModels = documentModels; string json = JsonConvert.SerializeObject(versionControl); currentRequestForProposalModel = JsonConvert.DeserializeObject <RequestForProposalModel>(JsonConvert.SerializeObject(newRequestForProposalModel)); JsonHelper.saveDocument(json, Settings.Default.ProjectID, "RequestForProposal"); MessageBox.Show("Request for Proposal saved successfully", "save", MessageBoxButtons.OK); } else { MessageBox.Show("No changes were made!", "save", MessageBoxButtons.OK); } }
public void loadDocument() { string json = JsonHelper.loadDocument(Settings.Default.ProjectID, "RequestForProposal"); List <string[]> documentInfo = new List <string[]>(); newRequestForProposalModel = new RequestForProposalModel(); currentRequestForProposalModel = new RequestForProposalModel(); if (json != "") { versionControl = JsonConvert.DeserializeObject <VersionControl <RequestForProposalModel> >(json); newRequestForProposalModel = JsonConvert.DeserializeObject <RequestForProposalModel>(versionControl.getLatest(versionControl.DocumentModels)); currentRequestForProposalModel = JsonConvert.DeserializeObject <RequestForProposalModel>(versionControl.getLatest(versionControl.DocumentModels)); foreach (var row in currentRequestForProposalModel.documentInformations) { dataGridViewDocumentInformation.Rows.Add(new string[] { row.type, row.information }); } foreach (RequestForProposalModel.DocumentHistory row in currentRequestForProposalModel.documentHistories) { dataGridViewDocumentHistory.Rows.Add(new string[] { row.version, row.issueDate.ToString(), row.changes }); } foreach (RequestForProposalModel.DocumentApproval row in currentRequestForProposalModel.documentApprovals) { dataGridViewDocumentApprovals.Rows.Add(new string[] { row.role, row.name, "", row.approvalDate.ToString() }); } txtRequestForProposalProcessProject.Text = projectModel.ProjectName; txtChangeProcess.Text = currentRequestForProposalModel.introductionDescription; txtOverview.Text = currentRequestForProposalModel.introductionOverview; txtPurpose.Text = currentRequestForProposalModel.introductionPurpose; txtAcknowledgement.Text = currentRequestForProposalModel.introductionAcknowledgement; txtRecipients.Text = currentRequestForProposalModel.introductionRecipients; txtProcess.Text = currentRequestForProposalModel.introductionProcess; txtRules.Text = currentRequestForProposalModel.introductionRules; txtQuestions.Text = currentRequestForProposalModel.introductionQuestions; txtCompany.Text = currentRequestForProposalModel.companyDescription; txtVision.Text = currentRequestForProposalModel.companyVision; txtObjectives.Text = currentRequestForProposalModel.companyObjectives; txtSize.Text = currentRequestForProposalModel.companySize; txtLocation.Text = currentRequestForProposalModel.companyLocation; txtTypeAndNumberOfCustomers.Text = currentRequestForProposalModel.companyTypeAndNumberOfCustomers; txtMarketSegment.Text = currentRequestForProposalModel.companyMarketSegment; txtKnowledgeOfIndustryAndExpertise.Text = currentRequestForProposalModel.companyKnowledgeOfIndustryAndExpertise; txtSolution.Text = currentRequestForProposalModel.solutionDescription; foreach (RequestForProposalModel.Solution row in currentRequestForProposalModel.solutions) { dataGridViewSolution.Rows.Add(new string[] { row.solutionAndComponents, row.quantity, "", row.price }); } txtImplementation.Text = currentRequestForProposalModel.implementationDescription; txtOtherInformation.Text = currentRequestForProposalModel.otherInformationDescription; txtConfidentiality.Text = currentRequestForProposalModel.otherInformationConfidentiality; txtDocumentation.Text = currentRequestForProposalModel.otherInformationDocumentation; } else { versionControl = new VersionControl <RequestForProposalModel>(); versionControl.DocumentModels = new List <VersionControl <RequestForProposalModel> .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; } }