コード例 #1
0
        private void checkInBtn_Click(object sender, RoutedEventArgs e)
        {
            VisitSingleton        visit  = VisitSingleton.Instance;
            DataHandlingSingleton export = DataHandlingSingleton.Instance;
            string date = Convert.ToString(System.DateTime.Now.ToString("dd/MM/yyyy"));
            string time = System.DateTime.Now.ToShortTimeString();

            // Adding location, date, time to combo boxes, unless already exist to avoid duplication
            if (!chooseVisitLocationList.Items.Contains(locationList.Text))
            {
                chooseVisitLocationList.Items.Add(locationList.Text);
            }
            if (!chooseVisitDateList.Items.Contains(date))
            {
                chooseVisitDateList.Items.Add(date);
                chooseVisitDate2List.Items.Add(date);
            }
            if (!chooseVisitTimeList.Items.Contains(time))
            {
                chooseVisitTimeList.Items.Add(time);
                chooseVisitTime2List.Items.Add(time);
            }
            // Invoking RecordVisit method
            visit.RecordVisit(userList.Text, date, time, locationList.Text);
            foreach (VisitSingleton aVisit in visit.Visits)
            {
                contactList.Items.Add(aVisit.UserId);
                contactList.Items.Add(aVisit.PhoneNumber);
                contactList.Items.Add(aVisit.Location);
                contactList.Items.Add(aVisit.Date);
                contactList.Items.Add(aVisit.Time);
            }
            // Output data to CSV
            export.GenerateCSVVisit(visit.CurrentVisit);
        }
コード例 #2
0
        public void GenerateCSVVisit(VisitSingleton newVisit)
        {
            // Method for creating the Data.csv file if it does not exist already and adding any new visit data to the file.
            string prefix = "Visit:";

            if (!File.Exists(path))
            {
                using (StreamWriter writer = File.CreateText(path))
                {
                    var newLine = string.Format("{0},{1},{2},{3},{4}", prefix, newVisit.UserId, newVisit.Date, newVisit.Time, newVisit.Location);
                    writer.Write(newLine);
                    writer.Write(Environment.NewLine);
                }
            }
            else
            {
                using (StreamWriter writer = File.AppendText(path))
                {
                    var newLine = string.Format("{0},{1},{2},{3},{4}", prefix, newVisit.UserId, newVisit.Date, newVisit.Time, newVisit.Location);
                    writer.Write(newLine);
                    writer.Write(Environment.NewLine);
                }
            }
            writer.Close();
        }
コード例 #3
0
 public void ImportData()
 {
     // Method for Importing all the data from the Data.csv file if it exists.
     if (File.Exists(path))
     {
         string            currentLine = "";
         UserSingleton     user        = UserSingleton.Instance;
         LocationSingleton location    = LocationSingleton.Instance;
         VisitSingleton    visit       = VisitSingleton.Instance;
         ContactSingleton  contact     = ContactSingleton.Instance;
         using (StreamReader reader = new StreamReader(path))
         {
             while ((currentLine = reader.ReadLine()) != null)
             {
                 var values = currentLine.Split(',');
                 if (values[0] == "User:"******"Location:")
                 {
                     string locationNameTemp = values[1];
                     location.NewLocation(locationNameTemp);
                 }
                 else if (values[0] == "Visit:")
                 {
                     string userIdTemp   = values[1];
                     string dateTemp     = values[2];
                     string timeTemp     = values[3];
                     string locationTemp = values[4];
                     visit.RecordVisit(userIdTemp, dateTemp, timeTemp, locationTemp);
                 }
                 else if (values[0] == "Contact:")
                 {
                     string individual1Temp   = values[1];
                     string individual2Temp   = values[2];
                     string individual2Number = values[3];
                     string dateTemp          = values[4];
                     string timeTemp          = values[5];
                     contact.RecordContact(individual1Temp, individual2Temp, individual2Number, dateTemp, timeTemp);
                 }
             }
         }
     }
 }
コード例 #4
0
        private void findVisitorsBtn_Click(object sender, RoutedEventArgs e)
        {
            VisitSingleton visit     = VisitSingleton.Instance;
            List <String>  allVisits = new List <String>();
            string         date      = chooseVisitDateList.Text;
            string         date2     = chooseVisitDate2List.Text;
            string         time      = chooseVisitTimeList.Text;
            string         time2     = chooseVisitTime2List.Text;
            string         location  = chooseVisitLocationList.Text;

            // Make sure allVisits list is empty
            allVisits.Clear();
            allVisits = visit.FindAllVisitors(location, date, date2, time, time2);
            for (int i = 0; i < allVisits.Count; i++)
            {
                visitedList.Items.Add(allVisits[i]);
            }
        }
コード例 #5
0
        public MainWindow()
        {
            InitializeComponent();
            // Importing all data contained within Data.csv file
            UserSingleton         user     = UserSingleton.Instance;
            LocationSingleton     location = LocationSingleton.Instance;
            VisitSingleton        visit    = VisitSingleton.Instance;
            ContactSingleton      contact  = ContactSingleton.Instance;
            DataHandlingSingleton data     = DataHandlingSingleton.Instance;

            // Invoke method to import all data from file
            data.ImportData();
            foreach (UserSingleton aUser in user.Users)
            {
                // Iterate through all user objects and populate user lists
                // Input validation to prevent duplicates
                if (!userList.Items.Contains(aUser.UserId))
                {
                    userList.Items.Add(aUser.UserId);
                }
                if (!individualList1.Items.Contains(aUser.UserId))
                {
                    individualList1.Items.Add(aUser.UserId);
                }
                if (!individualList2.Items.Contains(aUser.UserId))
                {
                    individualList2.Items.Add(aUser.UserId);
                }
                if (!chooseIndividualList.Items.Contains(aUser.UserId))
                {
                    chooseIndividualList.Items.Add(aUser.UserId);
                }
            }
            foreach (LocationSingleton aLocation in location.Locations)
            {
                // Iterate through all location objects and populate location lists
                // Input validation to prevent duplicates
                if (!locationList.Items.Contains(aLocation.LocationName))
                {
                    locationList.Items.Add(aLocation.LocationName);
                }
                if (!chooseVisitLocationList.Items.Contains(aLocation.LocationName))
                {
                    chooseVisitLocationList.Items.Add(aLocation.LocationName);
                }
            }
            foreach (VisitSingleton aVisit in visit.Visits)
            {
                // Iterate through all visit objects and populate visit lists
                // Input validation to prevent duplicates
                if (!chooseVisitDateList.Items.Contains(aVisit.Date))
                {
                    chooseVisitDateList.Items.Add(aVisit.Date);
                }
                if (!chooseVisitDate2List.Items.Contains(aVisit.Date))
                {
                    chooseVisitDate2List.Items.Add(aVisit.Date);
                }
                if (!chooseVisitTimeList.Items.Contains(aVisit.Time))
                {
                    chooseVisitTimeList.Items.Add(aVisit.Time);
                }
                if (!chooseVisitTime2List.Items.Contains(aVisit.Time))
                {
                    chooseVisitTime2List.Items.Add(aVisit.Time);
                }
            }
            foreach (ContactSingleton aContact in contact.Contacts)
            {
                // Iterate through all contact objects and populate contact lists
                // Input validation to prevent duplicates
                if (!chooseIndividualList.Items.Contains(aContact.Individual1))
                {
                    chooseIndividualList.Items.Add(aContact.Individual1);
                }
                if (!chooseDateList.Items.Contains(aContact.Date))
                {
                    chooseDateList.Items.Add(aContact.Date);
                }
                if (!chooseTimeList.Items.Contains(aContact.Time))
                {
                    chooseTimeList.Items.Add(aContact.Time);
                }
            }
        }