private void btnSaveProgram_Click(object sender, EventArgs e) { Boolean isTracked = rdTrack.Checked; int categoryId = (int)cmbCategory.SelectedValue; Cprograms.insert(txtTitle.Text, this.programName, isTracked, "", categoryId, true); this.Close(); }
private void updateActiveSessions() { Cstatus status = new Cstatus(); List <String> systemPrograms = status.GetProcesses(); DataTable dbPrograms = new DataTable(); dbPrograms = Cprograms.getAll(); //sistemdeki tüm programları gez ve bağlı olarak sessionları oluştur veya update et foreach (String programExe in systemPrograms) { //program kayıtlı mı kontrol et var rows = dbPrograms.Select("exe = '" + programExe + "'"); //eğer veri tabanında varsa if (rows.Length != 0) { //ve eğer takip ediliyorsa if ((bool)rows[0]["is_tracked"]) { int programId = (int)rows[0]["programid"]; //programa ait açık sessionları bul DataTable sessions = Csessions.getOpen(programId); //eğer session varsa if (sessions.Rows.Count > 0) { //her açık olan her sessionı update et (normalde birden fazla satır olmaması lazım ama yinede kontrol et) foreach (DataRow session in sessions.Rows) { Csessions.update(programId, (Properties.Settings.Default.loopTime / 1000)); } } else { //açık session yok //session oluştur Csessions.create(programId); } } } else //veri tabanında kaydı yok ise { //programı kaydet ama sonra kullanıcıya sormak üzere işaretle Cprograms.insert(null, programExe, true, null, 1, false); } } //end of for system programs }