/// <summary> /// ascending quick sort by intime using recusrion /// </summary> /// <param name = "list" ></ param > /// < returns ></ returns > public List <VisitorsInformation> QuickSortByInTime(List <VisitorsInformation> list) { if (list.Count <= 1) { return(list); } Random random = new Random(); List <VisitorsInformation> less = new List <VisitorsInformation>(); List <VisitorsInformation> greater = new List <VisitorsInformation>(); int pos = random.Next(list.Count); VisitorsInformation pivot = list[pos]; list.RemoveAt(pos); foreach (VisitorsInformation item in list) { DateTime inTimeItem = DateTime.Parse(item.CheckInTime); DateTime inTimePivot = DateTime.Parse(pivot.CheckInTime); if (inTimeItem < inTimePivot) { less.Add(item); } else { greater.Add(item); } } return(Concat(QuickSortByInTime(less), pivot, QuickSortByInTime(greater))); }
public List <VisitorsInformation> Concat(List <VisitorsInformation> less, VisitorsInformation pivot, List <VisitorsInformation> greater) { List <VisitorsInformation> sorted = new List <VisitorsInformation>(less); sorted.Add(pivot); foreach (VisitorsInformation i in greater) { sorted.Add(i); } return(sorted); }
private void ValidateAndSave() { List <VisitorsInformation> visitorList = new List <VisitorsInformation>(); VisitorsInformation visitor = new VisitorsInformation(); bool errorOccured = false; visitor.ID = Int64.Parse(visitorID.Text); visitor.EntryDate = dateToday.Text; visitor.CheckInTime = CheckInTimePicker.Text; if (CheckOutTimepicker.Visible) { visitor.CheckOutTime = CheckOutTimepicker.Text; } string fName = txtFirstName.Text; if (MuseumManagementSystem.Validators.ValidateEmpty(fName)) { errFirstName.Hide(); visitor.FirstName = fName; } else { errorOccured = true; errFirstName.Show(); } string lName = txtLastName.Text; if (MuseumManagementSystem.Validators.ValidateEmpty(lName)) { errLastName.Hide(); visitor.LastName = lName; } else { errorOccured = true; errLastName.Show(); } string address = txtAddress.Text; if (MuseumManagementSystem.Validators.ValidateEmpty(address)) { errAddress.Hide(); visitor.Address = address; } else { errorOccured = true; errAddress.Show(); } string contact = txtContactNo.Text; if (MuseumManagementSystem.Validators.ValidateNumber(contact)) { errContactNo.Hide(); visitor.ContactNo = Int64.Parse(contact); } else { errorOccured = true; errContactNo.Show(); } string mailAddress = txtEmailAddr.Text; if (MuseumManagementSystem.Validators.ValidateEmailFormat(mailAddress)) { errEmailAddress.Hide(); visitor.EmailAddress = mailAddress; } else { errorOccured = true; errEmailAddress.Show(); } string occupation = txtOccupation.Text; if (MuseumManagementSystem.Validators.ValidateEmpty(occupation)) { errOccupation.Hide(); visitor.Occupation = occupation; } else { errorOccured = true; errOccupation.Show(); } if (errorOccured == false) { visitorList.Add(visitor); bool abc = CheckOutTimepicker.Visible; if (CheckOutTimepicker.Visible) { WriteCheckoutDataToFile(visitorList); } else { WriteCheckInDataToFile(visitorList); } MessageBox.Show("Visitor successfully added."); btnNewVisitor.PerformClick(); } }