コード例 #1
0
ファイル: Form1.cs プロジェクト: NisthaAdhikari/CSharpMuseum
        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);
        }
コード例 #2
0
ファイル: Form1.cs プロジェクト: NisthaAdhikari/CSharpMuseum
        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;
                }
            }
        }
コード例 #3
0
ファイル: Form1.cs プロジェクト: NisthaAdhikari/CSharpMuseum
        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!");
            }
        }
コード例 #4
0
ファイル: Form1.cs プロジェクト: NisthaAdhikari/CSharpMuseum
        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());
        }
コード例 #5
0
ファイル: Form1.cs プロジェクト: NisthaAdhikari/CSharpMuseum
        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();
        }