コード例 #1
0
        //Method for logging a location-individual contact event and returns object
        public Location_Event LogVisit(int location_id, DateTime date_time, int individual_id)
        {
            Location_Event newevent = _dataStorage.LogVisit(location_id, date_time, individual_id);

            _dataStorage.StoreIndividuals();
            return(newevent);
        }
コード例 #2
0
        //Method for logging new location event
        public Location_Event LogVisit(int location_id, DateTime date_time, int individual_id)
        {
            //Creates new event from factorymethod to ensure ids are correct and counted
            Location_Event newevent = _eventFactory.factoryMethod_location(location_id);

            newevent.Date_time = date_time;

            foreach (Individual ind in _individual)
            {
                if (individual_id == ind.Individual_id)
                {
                    //Add location to individual
                    ind.AddlEvent(newevent);
                }
            }
            return(newevent);
        }
コード例 #3
0
        private void SaveButton_Click(object sender, RoutedEventArgs e)
        {
            if (ConnectionListBox.SelectedItem != null)
            {
                if (ToID == null) //Create New
                {
                    switch ((int)ConTyp)
                    {
                    //From Character
                    case 0:
                        var i1 = new Character_Character();
                        i1.CharacterID1 = FromID;
                        i1.CharacterID2 = (int)((ListBoxItem)ConnectionListBox.SelectedItem).Tag;
                        i1.Description  = DescriptionTextBox.Text;
                        Context.Character_Character.Add(i1);
                        break;

                    case 1:
                        var i2 = new Character_Group();
                        i2.CharacterID = FromID;
                        i2.GroupID     = (int)((ListBoxItem)ConnectionListBox.SelectedItem).Tag;
                        i2.Description = DescriptionTextBox.Text;
                        Context.Character_Group.Add(i2);
                        break;

                    case 2:
                        var i3 = new Character_Location();
                        i3.CharacterID = FromID;
                        i3.LocationID  = (int)((ListBoxItem)ConnectionListBox.SelectedItem).Tag;
                        i3.Description = DescriptionTextBox.Text;
                        Context.Character_Location.Add(i3);
                        break;

                    case 3:
                        var i4 = new Character_Event();
                        i4.CharacterID = FromID;
                        i4.EventID     = (int)((ListBoxItem)ConnectionListBox.SelectedItem).Tag;
                        i4.Description = DescriptionTextBox.Text;
                        Context.Character_Event.Add(i4);
                        break;


                    //From Group
                    case 4:
                        var i5 = new Character_Group();
                        i5.GroupID     = FromID;
                        i5.CharacterID = (int)((ListBoxItem)ConnectionListBox.SelectedItem).Tag;
                        i5.Description = DescriptionTextBox.Text;
                        Context.Character_Group.Add(i5);
                        break;

                    case 5:
                        var i6 = new Group_Group();
                        i6.GroupID1    = FromID;
                        i6.GroupID2    = (int)((ListBoxItem)ConnectionListBox.SelectedItem).Tag;
                        i6.Description = DescriptionTextBox.Text;
                        Context.Group_Group.Add(i6);
                        break;

                    case 6:
                        var i7 = new Location_Group();
                        i7.GroupID     = FromID;
                        i7.LocationID  = (int)((ListBoxItem)ConnectionListBox.SelectedItem).Tag;
                        i7.Description = DescriptionTextBox.Text;
                        Context.Location_Group.Add(i7);
                        break;

                    case 7:
                        var i8 = new Group_Event();
                        i8.GroupID     = FromID;
                        i8.EventID     = (int)((ListBoxItem)ConnectionListBox.SelectedItem).Tag;
                        i8.Description = DescriptionTextBox.Text;
                        Context.Group_Event.Add(i8);
                        break;


                    //From Location
                    case 8:
                        var i9 = new Character_Location();
                        i9.LocationID  = FromID;
                        i9.CharacterID = (int)((ListBoxItem)ConnectionListBox.SelectedItem).Tag;
                        i9.Description = DescriptionTextBox.Text;
                        Context.Character_Location.Add(i9);
                        break;

                    case 9:
                        var i10 = new Location_Group();
                        i10.LocationID  = FromID;
                        i10.GroupID     = (int)((ListBoxItem)ConnectionListBox.SelectedItem).Tag;
                        i10.Description = DescriptionTextBox.Text;
                        Context.Location_Group.Add(i10);
                        break;

                    case 10:
                        var i11 = new Location_Location();
                        i11.LocationID1 = FromID;
                        i11.LocationID2 = (int)((ListBoxItem)ConnectionListBox.SelectedItem).Tag;
                        i11.Description = DescriptionTextBox.Text;
                        Context.Location_Location.Add(i11);
                        break;

                    case 11:
                        var i12 = new Location_Event();
                        i12.LocationID  = FromID;
                        i12.EventID     = (int)((ListBoxItem)ConnectionListBox.SelectedItem).Tag;
                        i12.Description = DescriptionTextBox.Text;
                        Context.Location_Event.Add(i12);
                        break;

                    //From Event
                    case 12:
                        var i13 = new Character_Event();
                        i13.EventID     = FromID;
                        i13.CharacterID = (int)((ListBoxItem)ConnectionListBox.SelectedItem).Tag;
                        i13.Description = DescriptionTextBox.Text;
                        Context.Character_Event.Add(i13);
                        break;

                    case 13:
                        var i14 = new Group_Event();
                        i14.EventID     = FromID;
                        i14.GroupID     = (int)((ListBoxItem)ConnectionListBox.SelectedItem).Tag;
                        i14.Description = DescriptionTextBox.Text;
                        Context.Group_Event.Add(i14);
                        break;

                    case 14:
                        var i15 = new Location_Event();
                        i15.EventID     = FromID;
                        i15.LocationID  = (int)((ListBoxItem)ConnectionListBox.SelectedItem).Tag;
                        i15.Description = DescriptionTextBox.Text;
                        Context.Location_Event.Add(i15);
                        break;

                    case 15:
                        var i16 = new Event_Event();
                        i16.EventID1    = FromID;
                        i16.EventID2    = (int)((ListBoxItem)ConnectionListBox.SelectedItem).Tag;
                        i16.Description = DescriptionTextBox.Text;
                        Context.Event_Event.Add(i16);
                        break;
                    }
                    Context.SaveChanges();
                    this.Close();
                }
                else //Edit
                {
                }
            }
        }
コード例 #4
0
        //Method for loading stoed individuals from csv file
        public void LoadIndividuals()
        {
            //Define input data file
            string individualsFilePath = "TrackandTraceData\\individualsData.csv";

            //Check input file exists
            if (File.Exists(individualsFilePath))
            {
                //Read Whole file into string variable then split into array of lines
                string   whole_file = System.IO.File.ReadAllText(individualsFilePath);
                string[] lines      = whole_file.Split('\r');

                //Loop through each line
                foreach (string temp in lines)
                {
                    //Split said line into the individuals class data
                    string[] i_classdata = temp.Split(',');

                    if (i_classdata[0] == "\n" || i_classdata[0] == "")
                    {
                        break;
                    }

                    //Parse individuals individual_id and create temp individual instance
                    int        id     = int.Parse(i_classdata[0]);
                    Individual tmpind = new Individual(id, i_classdata[1], i_classdata[2]);

                    //Check if individual has stored events
                    if (i_classdata.Length > 3)
                    {
                        //Loop through all events
                        for (int i = 3; i < i_classdata.Length; i++)
                        {
                            //Console.WriteLine($"{i_classdata[i]}"); //For Debugging

                            //Split event string into array
                            string[] e_classdata = i_classdata[i].Split(';');

                            //Check event type - 0 == Location, else (ie ==1) Contact Event
                            if (int.Parse(e_classdata[3]) == 0)
                            {
                                //Get locationEvents from tmp individual, create new event, add to list of events, update event list, add individual to individual list
                                List <Location_Event> tmp_event_list = tmpind.locationEvents;
                                Location_Event        current_event  = new Location_Event(int.Parse(e_classdata[0]), DateTime.Parse(e_classdata[1]), int.Parse(e_classdata[2]));
                                tmp_event_list.Add(current_event);
                                tmpind.locationEvents = tmp_event_list;
                            }
                            else
                            {
                                //Get contactEvents from tmp individual, create new event, add to list of events, update event list.
                                List <Contact_Event> tmp_event_list = tmpind.contactEvents;
                                Contact_Event        current_event  = new Contact_Event(int.Parse(e_classdata[0]), DateTime.Parse(e_classdata[1]), int.Parse(e_classdata[2]));
                                tmp_event_list.Add(current_event);
                                tmpind.contactEvents = tmp_event_list;
                            }
                        }
                        //Add Individual to list
                        _individual.Add(tmpind);
                    }
                    else
                    {
                        //Add Individual to list if there are no event classes
                        _individual.Add(tmpind);
                    }
                }
            }
            //If Input file/dir doesnt exist, create blank input file/dir
            else
            {
                using (System.IO.StreamWriter file = new System.IO.StreamWriter(individualsFilePath)) { }
            }
        }