public static void WriteMemberToList(ListMember member) { Object[] member_values = member.GetValues(); string filename = (string)member_values[0]; int row = Convert.ToInt32(member_values[1]); byte[] bytes; using (ExcelPackage p = new ExcelPackage(new FileInfo(filename))) { ExcelWorksheet ws = p.Workbook.Worksheets.First(); ws.Cells[row, 1].Value = member_values[3]; //serial ws.Cells[row, 2].Value = member_values[4]; //uid ws.Cells[row, 3].Value = member_values[8]; //entry times ws.Cells[row, 4].Value = member_values[7]; //entry days ws.Cells[row, 5].Value = ws.Cells[row - 1, 5].Value; //copy down options ws.Cells[row, 6].Value = member_values[5]; //user ws.Cells[row, 7].Value = member_values[6]; //description bytes = p.GetAsByteArray(); } File.WriteAllBytes(filename, bytes); }
//add new card to selected list private void button4_Click(object sender, EventArgs e) { ListMember member = ListUtilities.GenerateNewMember((string)checkedListBox1.SelectedItem); FillTabPage3(member.GetValues().SubArray(0, 9).Cast <string>().ToArray()); tabPage3.Name = "Add"; tabControl1.TabPages.Add(tabPage3); tabControl1.SelectedTab = tabPage3; }
private async Task SearchAndFill() { string tbt = textBox1.Text.Trim(); if (tbt != previous_search) { dataGridView1.Enabled = false; previous_search = tbt; if (tbt != "") { if (tbt.Length > 1) { if (tbt[0] == '*' && tbt[1] == 'h') { try { tbt = UInt64.Parse(tbt.Substring(2), System.Globalization.NumberStyles.HexNumber) + ""; } catch (Exception ex) { return; } } } else if (tbt[0] == '*') { tbt = ""; } DataTable local_dt = null; await Task.Run(() => { local_dt = dt.Clone(); local_dt.Clear(); for (int index_counter = 0; index_counter < members.Length; index_counter++) { ListMember lm = members[index_counter]; if (lm.Contains(tbt)) { local_dt.Rows.Add(new Func <Object[]>(() => { Object[] objects = lm.GetValues(); objects[objects.Length - 1] = index_counter; return(objects); }).Invoke()); } } }); dataGridView1.DataSource = local_dt; dt = local_dt; } else { dt.Clear(); } dataGridView1.Enabled = true; } }
private async Task ModifyLM() { //public ListMember(string source_filename, int source_row, bool is_active, int serial, UInt64 uid, string name, string description, string active_days, string active_times) string table_name = GetSelectedTableName(); if (table_name == null) { MessageBox.Show(this, "A table must be selected to continue."); return; } //if (MessageBox.Show(this, "Are you sure that you want to add this card?", "Prompt", MessageBoxButtons.OKCancel) == DialogResult.Cancel) // return; UInt64 uid = GetUIDFromTextBox(); if (uid > 0) { textBox1.Text = ""; } else { MessageBox.Show(this, "Invalid UID"); return; } int uid_search_result = ListUtilities.FindUID(table_name, uid); if (uid_search_result > -1 && prompt_if_exists) { if (MessageBox.Show(this, "The UID was found in the selected list. Do you want to continue?", "Prompt", MessageBoxButtons.OKCancel) == DialogResult.Cancel) { return; } } ListMember to_update = uid_search_result == -1 ? null : (await ListUtilities.GetListMembers(new string[] { table_name })).Where(x => x.UID.CompareTo(uid) == 1).First(); string[] default_values = GenerateDefaults(selected_default); if (to_update != null) { to_update.ActiveDays = default_values[0]; to_update.ActiveTimes = default_values[1]; ListUtilities.WriteMemberToList(to_update); } else { int next_row_index = ListUtilities.GetRowRange(table_name) + 1; int next_list_serial = ListUtilities.GetSerialRange(table_name) + 1; ListUtilities.WriteMemberToList(new ListMember( table_name, next_row_index, false, next_list_serial, uid, "", "", default_values[0], default_values[1])); } }