public LicenseManagement() { InitializeComponent(); txtName.Focus(); this.Size = new System.Drawing.Size(Int32.Parse(KnowledgeMatrix.Properties.Settings.Default.PanelWidth), Int32.Parse(KnowledgeMatrix.Properties.Settings.Default.PanelHeight)); // serialBox1.Text = "1234567890ABCDEFGHIJKLMNO"; if (Utility.isAppValidated()) { button1.Text = "Activated!!!"; button1.Enabled = false; } if (Utility.IsAdmin()) { button1.Visible = false; button3.Visible = true; btnRegister.Visible = false; txtIP.Text = EntropyGenerator.GetIPForMachine(); ImpLicFile.Visible = true; txtIP.ReadOnly = false; serialBox1.Text = Guid.NewGuid().ToString().Replace("-", "").Remove(20); } else { ImpLicFile.Visible = false; serialBox1.Text = ""; button1.Visible = true; button3.Visible = false; txtIP.Text = EntropyGenerator.GetIPForMachine(); txtIP.ReadOnly = true; serialBox1.Enabled = true; } }
public bool ValidateLicense() { FileCryptography.DoDecrypt(filename, null); string decryptedData = FileCryptography.decryptedData; if (!string.IsNullOrEmpty(decryptedData)) { string[] prodCatalog = decryptedData.Split('%'); string[] strLic = prodCatalog[0].ToString().Split('|');; // decryptedData.Split('|'); // if ((name == strLic[0]) && (email == strLic[1]) && (licensekey == strLic[2]) && (EntropyGenerator.GetSystemInfo("") == strLic[3])) if ((name == strLic[0]) && (email == strLic[1]) && (licensekey == strLic[2])) { KnowledgeMatrix.Properties.Settings.Default.IP = EntropyGenerator.GetIPForMachine(); KnowledgeMatrix.Properties.Settings.Default.Authenicated = "true"; KnowledgeMatrix.Properties.Settings.Default.Setting = EntropyGenerator.GetSystemInfo(""); KnowledgeMatrix.Properties.Settings.Default.ProductKey = strLic[4]; KnowledgeMatrix.Properties.Settings.Default.DateOfActivation = DateTime.Now; KnowledgeMatrix.Properties.Settings.Default.Save(); FileCryptography.encryptedData = prodCatalog[1]; FileCryptography.entropy = EntropyGenerator.GetKeyBytesForMachine(); FileCryptography.FileName = KnowledgeMatrix.Framework.Utility.XML_QUESTION_NAME; FileCryptography.DoEncrypt(); // FileCryptography.DoEncrypt(prodCatalog[1], KnowledgeMatrix.Framework.Utility.XML_QUESTION_NAME, null); return(true); } else { KnowledgeMatrix.Properties.Settings.Default.IP = "0.0.0.0"; KnowledgeMatrix.Properties.Settings.Default.Authenicated = "false"; KnowledgeMatrix.Properties.Settings.Default.Setting = ""; KnowledgeMatrix.Properties.Settings.Default.ProductKey = ""; KnowledgeMatrix.Properties.Settings.Default.DateOfActivation = DateTime.MaxValue; KnowledgeMatrix.Properties.Settings.Default.LastAccessedDate = DateTime.MaxValue; KnowledgeMatrix.Properties.Settings.Default.Save(); return(false); } } else { KnowledgeMatrix.Properties.Settings.Default.IP = "0.0.0.0"; KnowledgeMatrix.Properties.Settings.Default.Authenicated = "false"; KnowledgeMatrix.Properties.Settings.Default.Setting = ""; KnowledgeMatrix.Properties.Settings.Default.ProductKey = ""; KnowledgeMatrix.Properties.Settings.Default.DateOfActivation = DateTime.MaxValue; KnowledgeMatrix.Properties.Settings.Default.LastAccessedDate = DateTime.MaxValue; KnowledgeMatrix.Properties.Settings.Default.Save(); return(false); } }
public void GenerateLicense() { StringBuilder strLic = new StringBuilder(); strLic.Append(name); strLic.Append("|"); strLic.Append(email); strLic.Append("|"); strLic.Append(LicenseKey); strLic.Append("|"); systeminfo = EntropyGenerator.GetSystemInfo(""); strLic.Append(systeminfo); strLic.Append("|"); productId = Guid.NewGuid().ToString().Replace("-", "").Remove(25); strLic.Append(productId); if (string.IsNullOrWhiteSpace(IP)) { IP = EntropyGenerator.GetIPForMachine(); } //Include the Product Catalog along with the //License info string prodCatalog = System.IO.File.ReadAllText(Application.StartupPath + Utility.FolderType() + @"ProductsManagement\QuestionMaster.txt"); strLic.Append("%"); strLic.Append(prodCatalog); filename = FileCryptography.DoEncrypt(strLic.ToString(), filename, IP); //For Admin Generate Database AdminDatabaseMgmt obj = new AdminDatabaseMgmt(); obj.name = name; obj.email = email; obj.Licensekey = LicenseKey; obj.SystemInfo = systeminfo; obj.ProductId = productId; obj.IP = IP; obj.phoneNumber = phoneNumber; obj.Add(); }
public void RegisterUser() { StringBuilder strLic = new StringBuilder(); strLic.Append(name); strLic.Append("|"); strLic.Append(email); strLic.Append("|"); strLic.Append(organisationName); strLic.Append("|"); strLic.Append(phoneNumber); strLic.Append("|"); systeminfo = EntropyGenerator.GetSystemInfo(""); strLic.Append(systeminfo); strLic.Append("|"); strLic.Append(EntropyGenerator.GetIPForMachine()); filename = FileCryptography.DoEncrypt(strLic.ToString(), filename, KnowledgeMatrix.Properties.Settings.Default.RegistrationKey); //FileCryptography.DoDecrypt(filename, Properties.Settings.Default.RegistrationKey); }
static void Main() { // string [] ab=Environment.GetCommandLineArgs(); //MessageBox.Show(ab[0]); // AuthorizationOperations obj = new AuthorizationOperations(); // obj.isUserAccessible(OperationNames.TypeOfOperations.eTutor_Manage); // Add the event handler for handling UI thread exceptions to the event. Application.ThreadException += new ThreadExceptionEventHandler(ThreadExceptionHandler); // Set the unhandled exception mode to force all Windows Forms errors // to go through our handler. Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); // Utility.compress(@"Second Standard Science - NSO.txt"); // Add the event handler for handling non-UI thread exceptions to the event. AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(UnhandledExceptionHandler); SplashScreen.SplashScreen.ShowSplashScreen(); Application.DoEvents(); SplashScreen.SplashScreen.SetStatus("Validating App Installation..."); //Thread ms_oThread = null; //ms_oThread = new Thread(new ThreadStart(ShowForm)); //ms_oThread.IsBackground = true; //ms_oThread.SetApartmentState(ApartmentState.MTA); //ms_oThread.Start(); //Console.WriteLine("Before sleep"); System.Threading.Thread.Sleep(2500); //Console.WriteLine("After sleep"); validateAndCreateDirectory(@"QuestionPaper"); validateAndCreateDirectory(@"QuestionBank"); validateAndCreateDirectory(@"MockTest"); validateAndCreateDirectory(@"eTutor"); validateAndCreateDirectory(@"ProductsManagement"); //if (!Directory.Exists(Application.StartupPath + @"\QuestionPaper\")) // Directory.CreateDirectory(Application.StartupPath + @"\QuestionPaper\"); //if (!Directory.Exists(Application.StartupPath + @"\QuestionBank\")) // Directory.CreateDirectory(Application.StartupPath + @"\QuestionBank\"); //if (!Directory.Exists(Application.StartupPath + @"\MockTest\")) // Directory.CreateDirectory(Application.StartupPath + @"\MockTest\"); //if (!Directory.Exists(Application.StartupPath + @"\eTutor\")) // Directory.CreateDirectory(Application.StartupPath + @"\eTutor\"); //if (!Directory.Exists(Application.StartupPath + @"\ProductsManagement\")) // Directory.CreateDirectory(Application.StartupPath + @"\ProductsManagement\"); // MessageBox.Show(EntropyGenerator.GetIPForMachine()); // MessageBox.Show(Properties.Settings.Default.IP); // Properties.Settings.Default.Authenicated = "false"; // Properties.Settings.Default.Save(); // MessageBox.Show(Utility.isAppValidated().ToString()); //MessageBox.Show(Application.StartupPath); //EncDec.Encrypt(@"C:\Users\224702\Desktop\Sample.txt", @"C:\Users\224702\Desktop\Sample1.txt", @"127.0.0.1"); //EncDec.Decrypt(@"C:\Users\224702\Desktop\Sample1.txt", @"C:\Users\224702\Desktop\Sample2.txt", @"127.0.0.1"); // Utility.ResetActivation(); if (Utility.isAppValidated()) { //check if the ip is same as in settings SplashScreen.SplashScreen.SetStatus("Validating User Info... "); if (KnowledgeMatrix.Properties.Settings.Default.IP != EntropyGenerator.GetIPForMachine()) { if (KnowledgeMatrix.Properties.Settings.Default.Setting == EntropyGenerator.GetSystemInfo("")) { if (KnowledgeMatrix.Properties.Settings.Default.LastAccessedDate != null && KnowledgeMatrix.Properties.Settings.Default.LastAccessedDate >= DateTime.Now)//Check the datetime { SplashScreen.SplashScreen.CloseForm(); MessageBox.Show("The system is tampered. Contact Administrator."); } else { SplashScreen.SplashScreen.CloseForm(); KnowledgeMatrix.Properties.Settings.Default.IP = EntropyGenerator.GetIPForMachine(); KnowledgeMatrix.Properties.Settings.Default.LastAccessedDate = DateTime.Now; KnowledgeMatrix.Properties.Settings.Default.Save(); MessageBox.Show("The app is used under different IP but in same machine."); Application.EnableVisualStyles(); // Application.SetCompatibleTextRenderingDefault(false); // Application.Run(new frmMasterDetailGrid()); Application.Run(new Form1()); } } else { MessageBox.Show("The app is tampered. Contact Administrator."); } } else { if (KnowledgeMatrix.Properties.Settings.Default.LastAccessedDate != null && KnowledgeMatrix.Properties.Settings.Default.LastAccessedDate >= DateTime.Now)//Check the datetime { MessageBox.Show("The system is tampered. Contact Administrator."); } else { SplashScreen.SplashScreen.CloseForm(); KnowledgeMatrix.Properties.Settings.Default.LastAccessedDate = DateTime.Now; KnowledgeMatrix.Properties.Settings.Default.Save(); Application.EnableVisualStyles(); // Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); //Application.Run(new frmMasterDetailGrid()); } } } else { SplashScreen.SplashScreen.CloseForm(); //FileCryptography.DoEncryptDecrypt(); KnowledgeMatrix.Properties.Settings.Default.LastAccessedDate = DateTime.Now; KnowledgeMatrix.Properties.Settings.Default.Save(); Application.EnableVisualStyles(); // Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); // Application.Run(new frmMasterDetailGrid()); if (System.Environment.UserInteractive) { //string parameter = string.Concat(args); //switch (parameter) //{ //case "--install": //DemoWinAppInstaller obj=new DemoWinAppInstaller(); //obj = null;//.Install();//(new string[] { Assembly.GetExecutingAssembly().Location }); // break; //case "--uninstall": // ManagedInstallerClass.InstallHelper(new string[] { "/u", Assembly.GetExecutingAssembly().Location }); // break; //} } else { } } }
public void AddProductPurchase(LicenseDetailInfo obj) { try { string txtSQLQuery = "insert into ProductPurchase (LicenseMasterID,IP,ProductName,ProductType,DateOfPurchase,DateOfExpiry,CreateDateTime,IPAdmin) values (" + obj.LicenseMasterID + ",'" + obj.IP + "','" + obj.ProductName + "','" + obj.ProductType + "','" + System.DateTime.Now.ToString() + "','" + System.DateTime.Now.AddDays(365).ToString() + "','" + System.DateTime.Now.ToString() + "','" + EntropyGenerator.GetIPForMachine() + "')"; ExecuteQuery(txtSQLQuery); } catch (Exception ex) { LogEntry.WriteLog(ex, "Database DemoT.s3db Record AddProductPurchase Insertion Exception"); //MessageBox.Show(ex.InnerException.ToString()); } }
public PurchaseManagement() { InitializeComponent(); #region DataGrid Definition // getParent = ObjectXMLSerializer<QuestionsData>.Load(XML_QUESTION_NAME); label1.Text = "System IP : " + EntropyGenerator.GetIPForMachine(); this.Size = new System.Drawing.Size(Int32.Parse(KnowledgeMatrix.Properties.Settings.Default.PanelWidth), Int32.Parse(KnowledgeMatrix.Properties.Settings.Default.PanelHeight)); if (File.Exists(Utility.XML_QUESTION_NAME)) { result = ObjectXMLSerializer <QuestionsData> .Load(Utility.XML_QUESTION_NAME); } else { MessageBox.Show("Kindly validate the license. Contact System Administrator"); return; } DataGridViewTextBoxColumn col0 = new DataGridViewTextBoxColumn(); col0.ReadOnly = true; col0.HeaderText = "Product Name"; col0.Name = "ProductName"; dataGridView1.Columns.Add(col0); this.dataGridView1.Columns[0].Width = 445; DataGridViewDisableButtonColumn buttonColumn = new DataGridViewDisableButtonColumn(); buttonColumn.HeaderText = "Km-Knowledge Tutor"; buttonColumn.Name = "eTutor"; buttonColumn.Text = "Purchase"; buttonColumn.Tag = "eTutor"; dataGridView1.Columns.Add(buttonColumn); DataGridViewDisableButtonColumn buttonColumn1 = new DataGridViewDisableButtonColumn(); buttonColumn1.HeaderText = "Km- Knowledge Base"; buttonColumn1.Name = "QuestionBank"; buttonColumn1.Tag = "QuestionBank"; buttonColumn1.Text = "Purchase"; //buttonColumn1.UseColumnTextForButtonValue = false; dataGridView1.Columns.Add(buttonColumn1); DataGridViewDisableButtonColumn buttonColumn2 = new DataGridViewDisableButtonColumn(); buttonColumn2.HeaderText = "Km-Knowledge Assessment"; buttonColumn2.Name = "QuestionPaper"; buttonColumn2.Tag = "QuestionBankGeneration"; buttonColumn2.Text = "Purchase"; //buttonColumn2.UseColumnTextForButtonValue = false; dataGridView1.Columns.Add(buttonColumn2); this.dataGridView1.Columns[3].Width = 100; DataGridViewDisableButtonColumn buttonColumn3 = new DataGridViewDisableButtonColumn(); buttonColumn3.HeaderText = "Km-Knowledge Evaluator"; buttonColumn3.Name = "MockTest"; buttonColumn3.Tag = "MockTest"; buttonColumn3.Text = "Purchase"; // buttonColumn3.UseColumnTextForButtonValue = false; dataGridView1.Columns.Add(buttonColumn3); // dataGridView1.Columns.Add(column0); // dataGridView1.RowCount = 2; // dataGridView1.AutoSize = true; dataGridView1.AllowUserToAddRows = false; dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; dataGridView1.Update();// = buttonColumn3; #endregion dataGridView1.CellClick += new DataGridViewCellEventHandler(dataGridView1_CellClick); // dataGridView1.Dock = DockStyle.Fill; dataGridView1.BackgroundColor = Color.LightGray; dataGridView1.BorderStyle = BorderStyle.Fixed3D; // Set RowHeadersDefaultCellStyle.SelectionBackColor so that its default // value won't override DataGridView.DefaultCellStyle.SelectionBackColor. dataGridView1.RowHeadersDefaultCellStyle.SelectionBackColor = Color.Empty; // Set the selection background color for all the cells. dataGridView1.DefaultCellStyle.SelectionBackColor = Color.White; dataGridView1.DefaultCellStyle.SelectionForeColor = Color.Black; //Set RowHeadersDefaultCellStyle.SelectionBackColor so that its default // value won't override DataGridView.DefaultCellStyle.SelectionBackColor. dataGridView1.RowHeadersDefaultCellStyle.SelectionBackColor = Color.Empty; // Set the background color for all rows and for alternating rows. // The value for alternating rows overrides the value for all rows. dataGridView1.RowsDefaultCellStyle.BackColor = Color.LightBlue; dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.MediumAquamarine; //// Set the text for each button. if (result != null && result.objQuestionMas.Count > 0) { //Get the First Level Node using Parent Node is null getParent = (from QuestionMast in result.objQuestionMas where QuestionMast.ParentParentQuestionNo == 0 && QuestionMast.ParentQuestionNo == 0 select QuestionMast).ToList(); dataGridView1.RowCount = getParent.Count; for (int prntCnt = 0; prntCnt < getParent.Count; prntCnt++) { dataGridView1.Rows[prntCnt].Cells["ProductName"].Value = getParent[prntCnt].Name; if (Utility.IsAdmin()) { dataGridView1.Rows[prntCnt].Cells["eTutor"].Value = "Export"; dataGridView1.Rows[prntCnt].Cells["QuestionBank"].Value = "Export"; dataGridView1.Rows[prntCnt].Cells["QuestionPaper"].Value = "Export"; dataGridView1.Rows[prntCnt].Cells["MockTest"].Value = "Export"; } else { dataGridView1.Rows[prntCnt].Cells["eTutor"].Value = getParent[prntCnt].eTutor; dataGridView1.Rows[prntCnt].Cells["QuestionBank"].Value = getParent[prntCnt].QuesBank; dataGridView1.Rows[prntCnt].Cells["QuestionPaper"].Value = getParent[prntCnt].QuesBankGen; dataGridView1.Rows[prntCnt].Cells["MockTest"].Value = getParent[prntCnt].MockTest; } } } if (Utility.IsAdmin()) { //button3.Visible = true; textBox1.Visible = true; button5.Enabled = false; //textBox1.Text = EntropyGenerator.GetIPForMachine(); label2.Visible = true; } else { button3.Visible = false; button5.Visible = button6.Visible = textBox1.Visible = false; label2.Visible = false; } }
void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { RowIndex = e.RowIndex; #region admin related if (e.ColumnIndex > 0 && Utility.IsAdmin()) { if (string.IsNullOrWhiteSpace(textBox1.Text)) { MessageBox.Show("Please choose Client before to proceed"); return; } folderBrowserDialog1.Description = @"Select the folder to Export file"; DialogResult re = new DialogResult(); if (Utility.isStandard()) { re = folderBrowserDialog1.ShowDialog(); } //eTutor // if (e.ColumnIndex == 1) //{ // string FileName = Application.StartupPath + @"\" + getParent[RowIndex].Name + ".txt"; //} //Admin with Question Bank and Question Paper if (e.ColumnIndex == 2 || e.ColumnIndex == 3 || e.ColumnIndex == 1) { string FileName; string text; if (e.ColumnIndex == 1) { FileName = Application.StartupPath + Utility.FolderType() + @"eTutor\" + getParent[RowIndex].Name + ".txt"; text = System.IO.File.ReadAllText(FileName); } else { FileName = Application.StartupPath + Utility.FolderType() + @"QuestionBank\" + getParent[RowIndex].Name + ".txt"; QuestionDetailData obj1 = ObjectXMLSerializer <QuestionDetailData> .Load(FileName); // ObjectXMLSerializer<QuestionDetailData>.Save(obj1, "NewDoc111.txt"); if (e.ColumnIndex == 2) { obj1.objQuestionDetail = (from QuestionDetailData in obj1.objQuestionDetail where (QuestionDetailData.ModuleName == Utility.MOD_ALL || QuestionDetailData.ModuleName == Utility.MOD_QUEST_BANK) select QuestionDetailData).ToList(); obj1.QuestionType = "QUESTION BANK"; } else { obj1.QuestionType = "QUESTION PAPER"; } ObjectXMLSerializer <QuestionDetailData> .Save(obj1, "NewDoc.txt"); text = System.IO.File.ReadAllText(@"NewDoc.txt"); System.IO.File.Delete(@"NewDoc.txt"); } FileCryptography.entropy = null; string extn = "";; if (e.ColumnIndex == 2) { extn = @"_QB.txt"; } else if (e.ColumnIndex == 3) { extn = @"_QP.txt"; } else if (e.ColumnIndex == 1) { extn = @"_eTutor.txt"; } if (!Utility.isStandard() || DialogResult.OK == re) { string strDestFile = null; if (Utility.isStandard()) { strDestFile = folderBrowserDialog1.SelectedPath + @"\" + getParent[RowIndex].Name + "_" + textBox1.Text + extn; } else { if (e.ColumnIndex == 2) { strDestFile = KnowledgeMatrix.Properties.Settings.Default.SharePath + @"\QuestionBank\" + getParent[RowIndex].Name + "_" + textBox1.Text + extn; } else if (e.ColumnIndex == 3) { strDestFile = KnowledgeMatrix.Properties.Settings.Default.SharePath + @"\QuestionPaper\" + getParent[RowIndex].Name + "_" + textBox1.Text + extn; } else if (e.ColumnIndex == 1) { strDestFile = KnowledgeMatrix.Properties.Settings.Default.SharePath + @"\eTutor\" + getParent[RowIndex].Name + "_" + textBox1.Text + extn; } } if (File.Exists(folderBrowserDialog1.SelectedPath + @"\" + getParent[RowIndex].Name + extn)) { System.IO.File.Delete(folderBrowserDialog1.SelectedPath + @"\" + getParent[RowIndex].Name + extn); } //FileCryptography.DoEncrypt(text, strDestFile, textBox1.Text); FileCryptography.DoEncrypt(text, strDestFile, textBox1.Tag.ToString()); if (e.ColumnIndex == 2) { AuditPurchase(getParent[RowIndex].Name, "Km- Knowledge Base"); } else if (e.ColumnIndex == 3) { AuditPurchase(getParent[RowIndex].Name, "Km-Knowledge Assessment"); } else if (e.ColumnIndex == 1) { AuditPurchase(getParent[RowIndex].Name, "Km-Knowledge eTutor"); } MessageBox.Show("Data Exported to " + strDestFile); } } else if (e.ColumnIndex == 4) { //Mock Test QuestionManagementColl objQuestionManagementColl = null; QuestionDetailData resultQuestions; QuestionManagementWithQuesColl objQuestionManagementWithQuesColl; objQuestionManagementWithQuesColl = new QuestionManagementWithQuesColl(); if (File.Exists(Application.StartupPath + Utility.FolderType() + @"MockTest\MockTestList.txt")) { objQuestionManagementColl = ObjectXMLSerializer <QuestionManagementColl> .Load(Application.StartupPath + Utility.FolderType() + @"MockTest\MockTestList.txt"); } if (objQuestionManagementColl != null) { for (int i = 0; i < objQuestionManagementColl.objQuestionManagement.Count; i++) { if (objQuestionManagementColl.objQuestionManagement[i].QuestionTopic == getParent[RowIndex].Name) { QuestionManagementWithQues objQuestionManagement = new QuestionManagementWithQues(); objQuestionManagement.ExamName = objQuestionManagementColl.objQuestionManagement[i].ExamName; objQuestionManagement.ExamPasPercentageScore = objQuestionManagementColl.objQuestionManagement[i].ExamPasPercentageScore; objQuestionManagement.ExamMode = objQuestionManagementColl.objQuestionManagement[i].ExamMode; objQuestionManagement.QuestionComplexity = objQuestionManagementColl.objQuestionManagement[i].QuestionComplexity; objQuestionManagement.QuestionType = objQuestionManagementColl.objQuestionManagement[i].QuestionType; objQuestionManagement.TotalQuestions = objQuestionManagementColl.objQuestionManagement[i].TotalQuestions; objQuestionManagement.FileName = objQuestionManagementColl.objQuestionManagement[i].FileName; objQuestionManagement.QuestionTopic = objQuestionManagementColl.objQuestionManagement[i].QuestionTopic; objQuestionManagement.Subject = objQuestionManagementColl.objQuestionManagement[i].Subject; objQuestionManagement.TestStatus = objQuestionManagementColl.objQuestionManagement[i].TestStatus; objQuestionManagement.TestResult = objQuestionManagementColl.objQuestionManagement[i].TestResult; objQuestionManagement.TestTime = objQuestionManagementColl.objQuestionManagement[i].TestTime; if (File.Exists(objQuestionManagementColl.objQuestionManagement[i].FileName)) { resultQuestions = ObjectXMLSerializer <QuestionDetailData> .Load(objQuestionManagementColl.objQuestionManagement[i].FileName); objQuestionManagement.objQuestionDetail = new List <QuestionDetail>(); objQuestionManagement.objQuestionDetail.AddRange(resultQuestions.objQuestionDetail); } objQuestionManagementWithQuesColl.objQuestionManagement.Add(objQuestionManagement); } //objQuestionManagementWithQuesColl.objQuestionManagement[].objQuestionDetail.Add( } if (!Utility.isStandard() || DialogResult.OK == re) { ObjectXMLSerializer <QuestionManagementWithQuesColl> .Save(objQuestionManagementWithQuesColl, "NewDoc.txt"); string text = System.IO.File.ReadAllText(@"NewDoc.txt"); System.IO.File.Delete(@"NewDoc.txt"); FileCryptography.entropy = null; string strMockFileName = null; if (Utility.isStandard()) { strMockFileName = folderBrowserDialog1.SelectedPath + @"\" + getParent[RowIndex].Name + "_" + textBox1.Text + "_Mock.txt"; } else { strMockFileName = KnowledgeMatrix.Properties.Settings.Default.SharePath + @"\" + @"MockTest\" + getParent[RowIndex].Name + "_" + textBox1.Text + "_Mock.txt"; } if (File.Exists(strMockFileName)) { System.IO.File.Delete(strMockFileName); } // FileCryptography.DoEncrypt(text, strMockFileName, textBox1.Text); FileCryptography.DoEncrypt(text, strMockFileName, textBox1.Tag.ToString()); AuditPurchase(getParent[RowIndex].Name, "Km-Knowledge Evaluator"); MessageBox.Show("Data Exported to " + strMockFileName); // ObjectXMLSerializer<QuestionManagementWithQuesColl>.Save(objQuestionManagementWithQuesColl, folderBrowserDialog1.SelectedPath + @"\" + getParent[RowIndex].Name + "_Mock.txt"); } } // FileName = Application.StartupPath + @"\" + FileName + ".txt"; } } #endregion else if (e.ColumnIndex > 0) { // MessageBox.Show(dataGridView1.Columns[e.ColumnIndex].Name); if (dataGridView1.Columns[e.ColumnIndex].Name == "QuestionBank" || dataGridView1.Columns[e.ColumnIndex].Name == "QuestionPaper" || dataGridView1.Columns[e.ColumnIndex].Name == "eTutor") { string strDestFile = null; DataGridViewDisableButtonCell buttonCell; if (dataGridView1.Columns[e.ColumnIndex].Name == "QuestionBank") { buttonCell = (DataGridViewDisableButtonCell)dataGridView1. Rows[e.RowIndex].Cells["QuestionBank"]; if (!Utility.isStandard()) { strDestFile = KnowledgeMatrix.Properties.Settings.Default.SharePath + @"\QuestionBank\" + getParent[RowIndex].Name + "_" + EntropyGenerator.GetIPForMachine() + @"_QB.txt"; } } else if (dataGridView1.Columns[e.ColumnIndex].Name == "eTutor") { buttonCell = (DataGridViewDisableButtonCell)dataGridView1. Rows[e.RowIndex].Cells["eTutor"]; if (!Utility.isStandard()) { strDestFile = KnowledgeMatrix.Properties.Settings.Default.SharePath + @"\eTutor\" + getParent[RowIndex].Name + "_" + EntropyGenerator.GetIPForMachine() + @"_eTutor.txt"; } } else { buttonCell = (DataGridViewDisableButtonCell)dataGridView1. Rows[e.RowIndex].Cells["QuestionPaper"]; if (!Utility.isStandard()) { strDestFile = KnowledgeMatrix.Properties.Settings.Default.SharePath + @"\QuestionPaper\" + getParent[RowIndex].Name + "_" + EntropyGenerator.GetIPForMachine() + @"_QP.txt"; } } //if (dataGridView1.Rows[e.RowIndex].Cells["QuestionBank"].Value.ToString() == "Purchase") if (buttonCell.Value.ToString() == "Purchase") { //DataGridViewDisableButtonCell buttonCell = // (DataGridViewDisableButtonCell)dataGridView1. // Rows[e.RowIndex].Cells["QuestionBank"]; //Check whether we can open the file //OpenFileDialog objFile = new OpenFileDialog(); //DialogResult resultdia = objFile.ShowDialog(); // Show the dialog. //if (resultdia == DialogResult.OK) // Test result. //{ // string file = objFile.FileName; // FileCryptography.DoDecrypt(file, null); // string decryptedData = FileCryptography.decryptedData; // if (string.IsNullOrEmpty(decryptedData)) // { // MessageBox.Show("File is invalid"); // } // else string decryptedData = ValidateImport(strDestFile); if (decryptedData != null) { QuestionDetailData result1 = new QuestionDetailData(); eTutorCollData objetutor = new eTutorCollData(); try { string FileName = null; if (dataGridView1.Columns[e.ColumnIndex].Name == "QuestionBank") { FileName = Application.StartupPath + Utility.FolderType() + @"QuestionBank\" + getParent[e.RowIndex].Name + ".txt"; } else if (dataGridView1.Columns[e.ColumnIndex].Name == "eTutor") { FileName = Application.StartupPath + Utility.FolderType() + @"eTutor\" + getParent[e.RowIndex].Name + ".txt"; } else { FileName = Application.StartupPath + Utility.FolderType() + @"QuestionPaper\" + getParent[e.RowIndex].Name + ".txt"; } if (File.Exists(FileName)) { File.Delete(FileName); } FileCryptography.encryptedData = decryptedData; FileCryptography.FileName = FileName; FileCryptography.entropy = UnicodeEncoding.ASCII.GetBytes(KnowledgeMatrix.Properties.Settings.Default.ProductKey); FileCryptography.DoEncrypt(); if (dataGridView1.Columns[e.ColumnIndex].Name == "eTutor") { objetutor = ObjectXMLSerializer <eTutorCollData> .Load(FileName); if (objetutor == null && objetutor.eTutorlst.Count() == 0) { MessageBox.Show("No data available to import. Please contact Sales team"); return; } } else if (dataGridView1.Columns[e.ColumnIndex].Name == "QuestionBank" || dataGridView1.Columns[e.ColumnIndex].Name == "QuestionPaper") { result1 = ObjectXMLSerializer <QuestionDetailData> .Load(FileName); bool isValid = true; if (dataGridView1.Columns[e.ColumnIndex].Name == "QuestionBank" && result1.QuestionType != "QUESTION BANK") { isValid = false; } else if (dataGridView1.Columns[e.ColumnIndex].Name == "QuestionPaper" && result1.QuestionType != "QUESTION PAPER") { isValid = false; } else if (result1 == null && result1.objQuestionDetail.Count() == 0) { isValid = false; } if (!isValid) { File.Delete(FileName); MessageBox.Show("No data available to import. Please contact Sales team"); return; } } { //ObjectXMLSerializer<QuestionDetailData>.Save(result1, FileName); MessageBox.Show("Data imported Successfully"); buttonCell.Value = "Purchased"; buttonCell.Enabled = false; //Update the Product Catalog int idx = result.objQuestionMas.FindIndex( delegate(QuestionMast bk) { return(bk.QuesNo == getParent[e.RowIndex].QuesNo); } ); if (dataGridView1.Columns[e.ColumnIndex].Name == "QuestionBank") { result.objQuestionMas[idx].QuesBank = "Purchased"; } else if (dataGridView1.Columns[e.ColumnIndex].Name == "eTutor") { result.objQuestionMas[idx].eTutor = "Purchased"; } else { result.objQuestionMas[idx].QuesBankGen = "Purchased"; } result.objQuestionMas[idx].QuesBankDate = System.DateTime.Now.ToString(); ObjectXMLSerializer <QuestionsData> .Save(result, KnowledgeMatrix.Framework.Utility.XML_QUESTION_NAME); // FileCryptography.encryptedData = File.ReadAllText(XML_FILE_NAME1); // FileCryptography.FileName = KnowledgeMatrix.Framework.Utility.XML_QUESTION_NAME; //FileCryptography.DoEncrypt(); //File.Delete(XML_FILE_NAME1); //Update the Product Catalog } } catch (Exception ex) { LogEntry.WriteLog(ex, "Thread Exception"); MessageBox.Show("File incorrect. Please contact Sales team"); } } //} } else if (dataGridView1.Rows[e.RowIndex].Cells["QuestionBank"].Value.ToString() == "Purchased" || dataGridView1.Rows[e.RowIndex].Cells["QuestionPaper"].Value.ToString() == "Purchased") { LicenseDetail obj = new LicenseDetail(); int idx = result.objQuestionMas.FindIndex( delegate(QuestionMast bk) { return(bk.QuesNo == getParent[e.RowIndex].QuesNo); } ); obj.objLicenseDetail.ProductName = result.objQuestionMas[idx].Name; obj.objLicenseDetail.ProductType = dataGridView1.Columns[e.ColumnIndex].HeaderText; obj.objLicenseDetail.DateOfPurchase = result.objQuestionMas[idx].QuesBankDate; obj.objLicenseDetail.DateOfExpiry = Convert.ToDateTime(result.objQuestionMas[idx].QuesBankDate).AddDays(365).ToString(); obj.ShowDialog(); } } else if (dataGridView1.Columns[e.ColumnIndex].Name == "MockTest") { DataGridViewDisableButtonCell buttonCell = (DataGridViewDisableButtonCell)dataGridView1.Rows[e.RowIndex].Cells["MockTest"]; //NEW REQ if (buttonCell.Value.ToString() != "Purchases") { string strMockFileName = null; if (!Utility.isStandard()) { strMockFileName = KnowledgeMatrix.Properties.Settings.Default.SharePath + @"\" + @"MockTest\" + getParent[RowIndex].Name + "_" + EntropyGenerator.GetIPForMachine() + "_Mock.txt"; } string decryptedData = ValidateImport(strMockFileName); if (decryptedData != null) { string FileName = Application.StartupPath + Utility.FolderType() + @"MockTest\MockList" + ".txt"; if (File.Exists(FileName)) { File.Delete(FileName); } FileCryptography.encryptedData = decryptedData; FileCryptography.FileName = FileName; FileCryptography.entropy = UnicodeEncoding.ASCII.GetBytes(KnowledgeMatrix.Properties.Settings.Default.ProductKey); FileCryptography.DoEncrypt(); QuestionManagementWithQuesColl result1 = ObjectXMLSerializer <QuestionManagementWithQuesColl> .Load(FileName); if (result1 == null || result1.objQuestionManagement.Count() == 0) { File.Delete(FileName); MessageBox.Show("No data available to import. Please contact Sales team"); } else { FileName = Application.StartupPath + Utility.FolderType() + @"MockTest\MockTestList.txt"; QuestionManagementColl objQuestionManagementColl; if (File.Exists(FileName)) { objQuestionManagementColl = ObjectXMLSerializer <QuestionManagementColl> .Load(FileName); } else { objQuestionManagementColl = new QuestionManagementColl(); objQuestionManagementColl.objQuestionManagement = new List <QuestionManagement>(); } for (int ik = 0; ik < result1.objQuestionManagement.Count(); ik++) { int i = (from QuestionManagement in objQuestionManagementColl.objQuestionManagement where QuestionManagement.ExamName == result1.objQuestionManagement[ik].ExamName select QuestionManagement).ToList().Count(); if (i == 0) { QuestionManagement objQuestionManagement = new QuestionManagement();// =(QuestionManagement) result1.objQuestionManagement[ik]; objQuestionManagement.ExamName = result1.objQuestionManagement[ik].ExamName; objQuestionManagement.ExamPasPercentageScore = result1.objQuestionManagement[ik].ExamPasPercentageScore; objQuestionManagement.TestTime = result1.objQuestionManagement[ik].TestTime; objQuestionManagement.ExamMode = result1.objQuestionManagement[ik].ExamMode; objQuestionManagement.QuestionComplexity = result1.objQuestionManagement[ik].QuestionComplexity; objQuestionManagement.QuestionType = result1.objQuestionManagement[ik].QuestionType; objQuestionManagement.TotalQuestions = result1.objQuestionManagement[ik].TotalQuestions; objQuestionManagement.TestTime = result1.objQuestionManagement[ik].TestTime; QuestionDetailData objQuestions = new QuestionDetailData(); objQuestions.objQuestionDetail = new List <QuestionDetail>(); objQuestions.objQuestionDetail.AddRange(result1.objQuestionManagement[ik].objQuestionDetail); if (File.Exists(XML_FILE_NAME1)) { File.Delete(XML_FILE_NAME1); } ObjectXMLSerializer <QuestionDetailData> .Save(objQuestions, Application.StartupPath + Utility.FolderType() + @"MockTest\" + result1.objQuestionManagement[ik].ExamName + ".txt"); //FileCryptography.encryptedData = File.ReadAllText(XML_FILE_NAME1); //FileCryptography.FileName = Application.StartupPath + @"\QuestionPaper\" + result1.objQuestionManagement[ik].ExamName + ".txt"; //FileCryptography.DoEncrypt(); //File.Delete(XML_FILE_NAME1); //ObjectXMLSerializer<QuestionDetailData>.Save(objQuestions, Application.StartupPath + @"\QuestionPaper\" + result1.objQuestionManagement[ik].ExamName + ".txt"); objQuestionManagement.FileName = Application.StartupPath + Utility.FolderType() + @"MockTest\" + result1.objQuestionManagement[ik].ExamName + ".txt"; objQuestionManagement.QuestionTopic = result1.objQuestionManagement[ik].QuestionTopic; objQuestionManagement.Subject = result1.objQuestionManagement[ik].Subject; objQuestionManagement.TestStatus = result1.objQuestionManagement[ik].TestStatus; objQuestionManagement.TestResult = result1.objQuestionManagement[ik].TestResult; objQuestionManagement.MockTestDate = System.DateTime.Now.ToString(); objQuestionManagementColl.objQuestionManagement.Add(objQuestionManagement); } } if (File.Exists(FileName)) { File.Delete(FileName); } ObjectXMLSerializer <QuestionManagementColl> .Save(objQuestionManagementColl, FileName); buttonCell.Value = "Purchased"; buttonCell.Enabled = false; //Update the Product Catalog int idx = result.objQuestionMas.FindIndex( delegate(QuestionMast bk) { return(bk.QuesNo == getParent[e.RowIndex].QuesNo); } ); result.objQuestionMas[idx].MockTest = "Purchased"; result.objQuestionMas[idx].QuesBankDate = System.DateTime.Now.ToString(); ObjectXMLSerializer <QuestionsData> .Save(result, KnowledgeMatrix.Framework.Utility.XML_QUESTION_NAME); //FileCryptography.encryptedData = File.ReadAllText(XML_FILE_NAME1); //FileCryptography.FileName = FileName; //FileCryptography.DoEncrypt(); //File.Delete(XML_FILE_NAME1); //ObjectXMLSerializer<QuestionManagementColl>.Save(objQuestionManagementColl, FileName); MessageBox.Show("Data imported Successfully"); } } } else { LicenseDetail obj = new LicenseDetail(); int idx = result.objQuestionMas.FindIndex( delegate(QuestionMast bk) { return(bk.QuesNo == getParent[e.RowIndex].QuesNo); } ); obj.objLicenseDetail.ProductName = result.objQuestionMas[idx].Name; obj.objLicenseDetail.ProductType = dataGridView1.Columns[e.ColumnIndex].HeaderText; obj.objLicenseDetail.DateOfPurchase = result.objQuestionMas[idx].QuesBankDate; obj.objLicenseDetail.DateOfExpiry = Convert.ToDateTime(result.objQuestionMas[idx].QuesBankDate).AddDays(365).ToString(); obj.ShowDialog(); } } } }