public static ArrayList GetEventsList() { CreateEventsXml(); lock (ContactsDirLock) { lock (EventsDirLock) { eventsList = new ArrayList(); XDocument doc = XDocument.Load(EventsDir); IEnumerable <XElement> enumEvents = doc.Elements("Events").Elements(); DateTime dateStart; DateTime dateEnd; bool appointment; bool recurring; //ArrayList recurringType; Contact person; int cId; string cName, cSName, cAddr1, cAddr2, cLoc; int eId = 0; foreach (var xmlEvents in enumEvents) { CalEvent ev = new CalEvent(); ev.SetId(eId); eId++; String format = (xmlEvents.Element("dateStart").Value); dateStart = Convert.ToDateTime(format); format = (xmlEvents.Element("dateEnd").Value); dateEnd = Convert.ToDateTime(format); ev.SetStartDate(dateStart); ev.SetEndDate(dateEnd); //dateStart = XmlConvert.ToDateTime(xmlEvents.Element("dateStart").Value); Console.WriteLine(dateStart.ToString()); //dateStart = new DateTime((xmlEvents.Element("dateStart").Value).ToString()); //ev.SetStartDate(xmlEvents.Element("dateStart").Value); //ev.SetEndDate(xmlEvents.Element("dateEnd").Value); ev.SetTitle(xmlEvents.Element("title").Value); if ((xmlEvents.Element("appointment").Value) == "False") { appointment = false; } else { appointment = true; } ev.SetAppointment(appointment); if ((xmlEvents.Element("recurring").Value) == "False") { recurring = false; } else { recurring = true; } ev.SetRecurring(recurring); //MessageBox.Show(recurring.ToString()); //MessageBox.Show(ev.IsRecurring().ToString()); //MessageBox.Show(xmlEvents.Element("recurringType").Value); if (recurring) { string recLong = xmlEvents.Element("recurringType").Value; string[] recType = recLong.Split(','); ev.SetRecurringType(recType); } else if (xmlEvents.Element("recurringType").Value == "NIL") { ev.SetRecurringType("NIL"); } else if (ev.IsRecurring() && ev.GetRecurringTypeString().Contains("Weekly")) { ev.SetRecurring(true); ev.SetRecurringType("Weekly"); } else { MessageBox.Show("Something is wrong with recType: XmlControl.GetEventsList()"); } //MessageBox.Show(ev.ToString()); cId = int.Parse(xmlEvents.Element("person").Element("id").Value); cName = (xmlEvents.Element("person").Element("name").Value); cSName = (xmlEvents.Element("person").Element("surname").Value); cAddr1 = (xmlEvents.Element("person").Element("address1").Value); cAddr2 = (xmlEvents.Element("person").Element("address2").Value); cLoc = (xmlEvents.Element("person").Element("postcode").Value); Contact contact = new Contact(cName, cSName, cAddr1, cAddr2, cLoc); contact.SetId(cId); person = contact; ev.SetContact(person); ev.SetLocation(xmlEvents.Element("postcode").Value); eventsList.Add(ev); } } } return(eventsList); }