public List <VisitorDetails> AllVisitor() { List <VisitorDetails> visitor = new List <VisitorDetails>(); using (StreamReader sr = new StreamReader("data.csv")) { string headerLine = sr.ReadLine(); string line; while ((line = sr.ReadLine()) != null) { var values = line.Split(','); VisitorDetails d = new VisitorDetails(); d.CardNo = values[0]; d.Name = values[1]; d.Email = values[2]; d.ContactNo = values[3]; d.Occupation = values[4]; d.Date = values[5]; d.Day = values[6]; d.InTime = values[7]; d.OutTime = values[8]; d.Duration = values[9]; visitor.Add(d); } } return(visitor); }
private void buttonChkIn_Click(object sender, EventArgs e) { string input = txtCard.Text; List <VisitorDetails> list = new List <VisitorDetails>(); if (input == "") { MessageBox.Show("Please fill up your card number"); // input = Microsoft.VisualBasic.Interaction.InputBox("Enter your Card Number below.", "Visitor Details", "", 500, 300); } else if (!listDetails.Any()) { MessageBox.Show("You are not a registered visitor. Please register first."); } foreach (var item in listDetails) { //MessageBox.Show(item.CardNo); if (item.CardNo == input && item.OutTime != "") { string date = DateTime.Now.ToShortDateString(); time = DateTime.Now.ToLongTimeString(); string day = DateTime.Now.DayOfWeek.ToString(); dt.Rows.Add(item.CardNo, date, day, item.Name, item.Email, item.ContactNo, item.Occupation, time, "--", "--"); this.dataGridView.DataSource = dt; VisitorDetails v = new VisitorDetails(); v.CardNo = item.CardNo; v.Name = item.Name; v.Email = item.Email; v.ContactNo = item.CardNo; v.Occupation = item.Occupation; v.Date = date; v.Day = day; v.InTime = time; v.OutTime = ""; v.Duration = "0"; string data = v.CardNo + "," + v.Name + "," + v.Email + "," + v.ContactNo + "," + v.Occupation + "," + v.Date + "," + v.Day + "," + v.InTime + "," + v.OutTime + "," + v.Duration; listDetails.Add(v); txtCard.Text = ""; name.Text = ""; email.Text = ""; contactNo.Text = ""; occupation.Text = ""; saveToCSV(data); break; } else if (item.CardNo == input && item.OutTime == "") { MessageBox.Show("You have not checked-out yet."); break; } } }
private void ImportDataCSV(string filePath) { string[] lines = System.IO.File.ReadAllLines(filePath); if (lines.Length > 0) { //creating header string firstLine = lines[0]; string[] headerLabels = firstLine.Split(','); //displaying data for (int i = 1; i < lines.Length; i++) { string[] dataWords = lines[i].Split(','); int colIndex = 0; DataRow dr = dt.NewRow(); foreach (string headerWord in headerLabels) { dr[headerWord] = dataWords[colIndex++]; VisitorDetails v = new VisitorDetails(); v.CardNo = dataWords[0]; v.Name = dataWords[1]; v.Email = dataWords[2]; v.ContactNo = dataWords[3]; v.Occupation = dataWords[4]; v.Date = dataWords[5]; v.Day = dataWords[6]; v.InTime = dataWords[7]; v.OutTime = dataWords[8]; v.Duration = dataWords[9]; listDetails.Add(v); //MessageBox.Show(dataWords[0]); } dt.Rows.Add(dr); } } if (dt.Rows.Count > 0) { dataGridView.DataSource = dt; MessageBox.Show("Data Imported", "Success!"); } }
private void buttonReport1_Click_1(object sender, EventArgs e) { dataGrid.Rows.Clear(); dataGridViewAll.Rows.Clear(); dataGridView1.Rows.Clear(); List <string> visitor = visitors(); List <string> visitedCard = new List <string>(); List <VisitorDetails> l = new List <VisitorDetails>(); int count = 0; double totalTime = 0; string[] n; //string choseDate = dateTimePicker1.Text; string theDate = dateTimePicker1.Value.ToString("M/dd/yyyy"); //String path = "details.csv"; var onDate = from date in visitor where date.Contains(dateTimePicker1.Value.ToShortDateString()) select date; foreach (string each in onDate) { n = each.ToString().Split(','); dataGridViewAll.Rows.Add(n[0], n[1], n[5], n[6], n[7], n[8], Math.Round(double.Parse(n[9]), 2)); visitedCard.Add(n[0]); VisitorDetails vi = new VisitorDetails(); vi.CardNo = n[0]; vi.Name = n[1]; vi.Email = n[2]; vi.ContactNo = n[3]; vi.Occupation = n[4]; vi.Date = n[5]; vi.Day = n[6]; vi.InTime = n[7]; vi.OutTime = n[8]; vi.Duration = n[9]; l.Add(vi); } var client = from c in l group c by c.CardNo; string vcard = ""; string vname = ""; double vtotal = 0; foreach (var vtr in client) { vcard = vtr.Key.ToString(); foreach (var v in vtr) { vname = v.Name; vtotal = double.Parse(v.Duration) + vtotal; } this.dataGridView1.Rows.Add(vcard, vname, Math.Round(vtotal, 2).ToString()); vtotal = 0; vcard = ""; vname = ""; } var single = visitedCard.Distinct(); foreach (var u in single) { count = count + 1; } foreach (string v in visitor) { var values = v.Split(',').ToList(); var timeTotal = from date in values where date.Contains(dateTimePicker1.Value.ToShortDateString()) select values[9]; foreach (var item in timeTotal) { if (item != null && item != "") { totalTime = double.Parse(item) + totalTime; } } } this.dataGrid.Rows.Add(count.ToString(), Math.Round(totalTime, 2).ToString()); }
private void buttonCheckIn_Click(object sender, EventArgs e) { //check with the list if the entered cardNo already exists VisitorDetails cardExist = listDetails.Where(x => x.CardNo == txtCardNo.Text).FirstOrDefault(); string cardNo = txtCardNo.Text; string name = txtName.Text; string email = txtEmail.Text; string contactNo = txtContactNo.Text; string occupation = txtOccupation.Text; string date = DateTime.Now.ToShortDateString(); TimeSpan now = DateTime.Now.TimeOfDay; /* * int cardNo = int.Parse(txtCardNo.Text); * int newcardNo = cardNo + 1; * txtCardNo.Text = newcardNo.ToString(); */ time = DateTime.Now.ToLongTimeString(); string day = DateTime.Now.DayOfWeek.ToString(); if (cardExist != null && cardExist.CardNo == txtCardNo.Text) { MessageBox.Show("Card Number Already taken. Please enter another or generate new number"); } else if (txtCardNo.Text.Equals("") || name == "" || email == "" || contactNo == "" || occupation == "") { MessageBox.Show("Dont leave empty fields."); } else if (day == "Monday" || day == "Tuesday" || day == "Wednesday" || day == "Thursday" || day == "Friday") { dt.Rows.Add(cardNo, date, day, name, email, contactNo, occupation, time, "--", "--"); this.dataGridView.DataSource = dt; VisitorDetails v = new VisitorDetails(); v.CardNo = cardNo.ToString(); v.Name = name; v.Email = email; v.ContactNo = contactNo; v.Occupation = occupation; v.Date = date; v.Day = day; v.InTime = time; v.OutTime = ""; v.Duration = "0"; String data = v.CardNo + "," + v.Name + "," + v.Email + "," + v.ContactNo + "," + v.Occupation + "," + v.Date + "," + v.Day + "," + v.InTime + "," + v.OutTime + "," + v.Duration; listDetails.Add(v); saveToCSV(data); txtName.Text = ""; txtCardNo.Text = ""; txtEmail.Text = ""; txtContactNo.Text = ""; txtOccupation.Text = ""; MessageBox.Show("Visitor Checked in."); } else { MessageBox.Show("Museum not open"); } //timer.Start(); }