//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); }
//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); }
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 { } } }
//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)) { } } }