0byt3m1n1
Path:
C:
/
BACKUPS
/
Biometric Backup
/
KELTRON
/
COSEC V14R4.1
/
Setup
/
API Samples
/
CSharp
/
[
Home
]
File: EventDataTab.cs
using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Text; using System.Windows.Forms; namespace CSharp { public partial class EventDataTab : UserControl { public EventDataTab() { InitializeComponent(); } private void EventDataTab_Load(object sender, EventArgs e) { cmbRequestType.SelectedIndex = 0; FillRange(); cmbRange.SelectedIndex = 0; } private void FillRange() { this.cmbRange.Items.AddRange(new object[] { "all", Cosec.apiHelper.strUser, Cosec.apiHelper.strORG, Cosec.apiHelper.strBRC, Cosec.apiHelper.strDPT, Cosec.apiHelper.strDSG, Cosec.apiHelper.strSEC, Cosec.apiHelper.strCTG, Cosec.apiHelper.strGRD}); } private string GetAPIDataFolder() { string SaveDir = AppDomain.CurrentDomain.BaseDirectory.ToString(); if (SaveDir.EndsWith(@"\") == false) SaveDir = SaveDir + @"\"; SaveDir = SaveDir + "ApiData"; return SaveDir; } private string GetAPIDataFileName() { string filName = ""; switch (cmbRequestType.Text) { case "Access Control Events": filName = "acsEvents"; break; case "Time & Attendance Events": filName = "taEvents"; break; case "Daily Attendance Data": filName = "dailyAttendanceData"; break; case "Monthly Attendance Data": filName = "monthlyAttendanceData"; break; } if (rdFormatText.Checked) return filName + ".txt"; else return filName + ".xml"; } void RdSaveToCheckedChanged(object sender, EventArgs e) { if (rdSaveTo.Checked) { string SaveDir = GetAPIDataFolder(); if (System.IO.Directory.Exists(SaveDir) == false) { try { System.IO.Directory.CreateDirectory(SaveDir); } catch (Exception ex) { rdLoadToGrid.Checked = true; MessageBox.Show(ex.Message); } } } } void CmbRequestTypeSelectedIndexChanged(object sender, EventArgs e) { string SaveDir = GetAPIDataFolder() + @"\" + GetAPIDataFileName(); txtSavePath.Text = SaveDir; switch (cmbRequestType.Text) { case "Time & Attendance Events": case "Access Control Events": pnlIndexCount.Left = 5; pnlIndexCount.Top = 31; pnlIndexCount.Visible = true; pnlDateRange.Visible = false; pnlMonthYear.Visible = false; pnlRange.Visible = false; break; case "Daily Attendance Data": pnlDateRange.Left = 5; pnlDateRange.Top = 31; pnlDateRange.Visible = true; pnlIndexCount.Visible = false; pnlMonthYear.Visible = false; pnlRange.Visible = true; break; case "Monthly Attendance Data": pnlMonthYear.Left = 5; pnlMonthYear.Top = 31; pnlDateRange.Visible = false; pnlIndexCount.Visible = false; pnlMonthYear.Visible = true; pnlRange.Visible = true; break; } } void RdFormatTextCheckedChanged(object sender, EventArgs e) { string SaveDir = GetAPIDataFolder() + @"\" + GetAPIDataFileName(); txtSavePath.Text = SaveDir; if (rdFormatText.Checked) { rdSaveTo.Checked = true; rdLoadToGrid.Enabled = false; } else rdLoadToGrid.Enabled = true; } void RdFormatxmlCheckedChanged(object sender, EventArgs e) { string SaveDir = GetAPIDataFolder() + @"\" + GetAPIDataFileName(); txtSavePath.Text = SaveDir; } void BtnGetDataClick(object sender, EventArgs e) { MainForm.Instance.ShowMessage("Requesting...", true); dataGridView1.DataSource = null; Cosec.apiHelper.APIResponse apiResponse = null; Cosec.apiHelper.DataFormat format = Cosec.apiHelper.DataFormat.Text; if (rdFormatText.Checked) format = Cosec.apiHelper.DataFormat.Text; else format = Cosec.apiHelper.DataFormat.XML; try { switch (cmbRequestType.Text) { case "Time & Attendance Events": apiResponse = Cosec.apiHelper.GetEventTA(nudIndex.Value, nudCount.Value, format); break; case "Access Control Events": apiResponse = Cosec.apiHelper.GetEventACS(nudIndex.Value, nudCount.Value, format); break; case "Daily Attendance Data": apiResponse = Cosec.apiHelper.GetAttendanceDaily(dtStartDate.Value.ToString("ddMMyyyy"), dtEndDate.Value.ToString("ddMMyyyy"), cmbRange.Text, txtRangeID.Text, format); break; case "Monthly Attendance Data": apiResponse = Cosec.apiHelper.GetAttendanceMonthly((int)nudMonth.Value, (int)nudYear.Value, cmbRange.Text, txtRangeID.Text, format); break; } if (apiResponse != null) { if (string.IsNullOrEmpty(apiResponse.data) == false) { if (rdLoadToGrid.Checked) { DataSet ds = new DataSet(); ds.ReadXml(apiResponse.dataStream); dataGridView1.DataSource = ds.Tables[0]; } else { string SaveDir = GetAPIDataFolder() + @"\" + GetAPIDataFileName(); System.IO.FileStream fs = System.IO.File.OpenWrite(SaveDir); ((System.IO.MemoryStream)apiResponse.dataStream).WriteTo(fs); fs.Flush(); fs.Close(); } } if (apiResponse.isSuccess) { // Success if (string.IsNullOrEmpty(apiResponse.successFailMessage)) MainForm.Instance.ShowMessage("Request completed", true); else MainForm.Instance.ShowMessage(apiResponse.successFailMessage, true); } else { // Failed MainForm.Instance.ShowMessage(apiResponse.successFailMessage, false); } } } catch (Exception ex) { MainForm.Instance.ClearMessage(); MessageBox.Show(ex.Message); } } private void cmbRange_SelectedIndexChanged(object sender, EventArgs e) { if (cmbRange.SelectedIndex == 0) { txtRangeID.Text = ""; label19.Visible = false; label20.Visible = false; txtRangeID.Visible = false; } else { label19.Visible = true; label20.Visible = true; txtRangeID.Visible = true; } if (cmbRange.SelectedIndex > 1) btnBrowseGroup.Visible = true; else btnBrowseGroup.Visible = false; } private void btnBrowseGroup_Click(object sender, EventArgs e) { FrmGroup frmObj = new FrmGroup(); frmObj.GroupName = cmbRange.Text; if (frmObj.ShowDialog() == DialogResult.OK) { txtRangeID.Text = frmObj.SelectedID; } } } }