static void Main(string[] args) { IValidation validation = new Validation(); ComputeDays daysElapsed = new ComputeDays(); DateTime StartDate = DateTime.MinValue; DateTime EndDate = DateTime.MaxValue; string yesNo; do { bool validStartDate = false; bool validEndDate = false; //Validating the start date and making user enter until he enters in correct format while (!validStartDate) { Console.Write("Please enter start date in format DD/MM/YYYY: "); string startDateInput = Regex.Replace(Console.ReadLine(), @"\s", ""); validStartDate = validation.ValidateStartDate(startDateInput, ref StartDate); if (!validStartDate) { Console.WriteLine("Invalid Start Date."); } } //Validating the end date and making user enter until he enters in correct format while (!validEndDate) { Console.Write("Please enter end date in format DD/MM/YYYY: "); string endDateInput = Regex.Replace(Console.ReadLine(), @"\s", ""); validEndDate = validation.ValidateEndDate(endDateInput, ref EndDate); if (!validEndDate) { Console.WriteLine("Invalid End Date."); } } if (validStartDate && validStartDate) { Console.WriteLine("Dates Validated!"); int numberOfDays = daysElapsed.CalculateDaysElapse(StartDate, EndDate); Console.WriteLine(numberOfDays); } Console.WriteLine("Press 'e' to exit or 'y' to calculate days for another event"); yesNo = Console.ReadLine().ToLower(); while (!yesNo.Equals("y") && !yesNo.Equals("e")) { Console.WriteLine("Invalid Input!"); Console.WriteLine("Press 'e' to exit or 'y' to perform another conversion"); yesNo = Console.ReadLine().ToLower(); } }while (yesNo.Equals("y")); }
public void TestCleanup() { computeDays = null; validation = null; }
static void Main(string[] args) { IValidation validation = new Validation(); ComputeDays daysElapsed = new ComputeDays(); DateTime StartDate = DateTime.MinValue; DateTime EndDate = DateTime.MaxValue; LoadDataXML dataXML = new LoadDataXML(); string _filePath = Path.GetFullPath(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"..\..\..\CalculateDays.ExternalData\Resources")); dataXML.Loaddata(_filePath); // verifies if the output result file already exists and delete it to allow the system // to create a new one for the next input file if (File.Exists(_filePath + @"\DaysElapsed.txt")) { File.Delete(_filePath + @"\DaysElapsed.txt"); } foreach (EventDetails u in LoadDataXML.events) { bool validStartDate = false; bool validEndDate = false; // validates the start date of an event // if not logs the error in output file and move to the next iteration validStartDate = validation.ValidateStartDate(u.EventStartDate, ref StartDate); if (!validStartDate) { StringBuilder sb = new StringBuilder(); sb.Append("Event Id: " + u.EventId + " - " + "Invalid Start Date"); using (StreamWriter swriter = new StreamWriter(_filePath + @"\DaysElapsed.txt", true)) { swriter.WriteLine(sb.ToString()); } continue; } // validates the end date of an event // if not logs the error in output file and move to the next iteration validEndDate = validation.ValidateEndDate(u.EventEndDate, ref EndDate); if (!validEndDate) { StringBuilder sb = new StringBuilder(); sb.Append("Event Id: " + u.EventId + " - " + "Invalid End Date"); using (StreamWriter swriter = new StreamWriter(_filePath + @"\DaysElapsed.txt", true)) { swriter.WriteLine(sb.ToString()); } continue; } // if the start and end date are valid compute the number of days beween the event // and log the result in the output file if (validStartDate && validStartDate) { int numberOfDays = daysElapsed.CalculateDaysElapse(StartDate, EndDate); StringBuilder sb = new StringBuilder(); sb.Append("Event Id: " + u.EventId + " - " + "Number of Days Elapsed: " + numberOfDays); using (StreamWriter swriter = new StreamWriter(_filePath + @"\DaysElapsed.txt", true)) { swriter.WriteLine(sb.ToString()); } } } }
public void TestInit() { computeDays = new ComputeDays(); validation = new Validation(); }