private void CalculateTime() { string firstItem = ((CountryList)lstFirst.SelectedItem).Name; string secondItem = ((CountryList)lstSecond.SelectedItem).Name; TimeZoneInfo firstTimeZoneInfo = ((CountryList)lstFirst.SelectedItem).TimeZone; DateTime firstTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, (((CountryList)lstFirst.SelectedItem).TimeZone)); bool IsDayLightTimeAvilable_First = firstTimeZoneInfo.IsDaylightSavingTime(firstTime); TimeZoneInfo secondTimeZoneInfo = ((CountryList)lstSecond.SelectedItem).TimeZone; DateTime secondTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, (((CountryList)lstSecond.SelectedItem).TimeZone)); bool IsDayLightTimeAvilable_Second = secondTimeZoneInfo.IsDaylightSavingTime(secondTime); var country1 = CountryTimeZone.countryTimeDiffernceList.Where(m => m.Country == firstItem && m.isDayLightSaving == IsDayLightTimeAvilable_First).FirstOrDefault().UTCTime; var country2 = CountryTimeZone.countryTimeDiffernceList.Where(m => m.Country == secondItem && m.isDayLightSaving == IsDayLightTimeAvilable_Second).FirstOrDefault().UTCTime; var timeDiffrence = new StringTime(country1).Subtract(new StringTime(country2)); for (int i = 1; i <= 24; i++) { if (stkRowIndia.Children.Count > 1) { stkRowIndia.Children.Remove(stkRowIndia.Children[1]); stkRowUS.Children.Remove(stkRowUS.Children[1]); } } CreateButtonsforTime(timeDiffrence, firstItem, secondItem); }
/// <summary> /// Special method that ensures correct input parameters for specified problem from console arguments /// </summary> /// <param name="args">Console arguments</param> /// <returns>Struct defining input parameters</returns> protected override InputData HandleArguments(string[] args) { string fileName; IoType type = GetType(args); int index = type == IoType.Program ? 0 : 1; if (args.Length <= index) { ErrorHandler.TerminateExecution(ErrorCode.NoFileGiven); } if (!TryExtensions(args[index], out fileName)) { ErrorHandler.TerminateExecution(ErrorCode.NoSuchFile, args[index]); } ExecutionTime time; if (args.Length == 1 || index == 1) { time = ExecutionTime.Unlimited; } else { if (!StringTime.Decode(args[1], out time)) { ErrorHandler.TerminateExecution(ErrorCode.InvalidInputParameter, "Time is not well defined: " + args[1] + "."); } } return(new InputData(fileName, time, index == 0)); }
private void SetAbortSignal() { int timeInMiliseconds = StringTime.Miliseconds(Time); if (timeInMiliseconds == 0) { return; } Thread.Sleep(timeInMiliseconds); _abort = true; }
private static ExecutionTime AskForTime() { ExecutionTime time; var correctInput = false; do { var result = ConsoleHandler.AskForInput(""); if (!StringTime.Decode(result, out time)) { Console.WriteLine("Such time is not valid."); continue; } correctInput = true; } while (!correctInput); return(time); }
private void CreateButtonsforTime(TimeSpan timedifference, string firstTimeChart, string secondTimeChart) { for (int i = 1; i <= 24; i++) { string time = i.ToString() + ":00"; Button btnFirst = new Button(); btnFirst.Name = "First_" + i; btnFirst.Content = time; SetButtonInitalStyle(ref btnFirst); btnFirst.MouseEnter += BtnFirst_MouseEnter; btnFirst.MouseLeave += BtnFirst_MouseLeave; stkRowIndia.Children.Add(btnFirst); lblFirstTimeChart.Content = firstTimeChart; Button btnSecond = new Button(); btnSecond.Name = "Second_" + i; SetButtonInitalStyle(ref btnSecond); TimeSpan timeValue; if (new TimeSpan(new StringTime(timedifference.ToString()).Hours, new StringTime(timedifference.ToString()).Minutes, 0) < new TimeSpan(0, 0, 0)) { timedifference = new StringTime("23:00").Add(new StringTime(timedifference.ToString())); } if (new StringTime(time).Subtract(new StringTime(timedifference.ToString())) < new TimeSpan(0, 0, 0)) { timeValue = (new StringTime("23:00").Add(new StringTime((new StringTime(time).Subtract(new StringTime(timedifference.ToString()))).ToString()))); } else { timeValue = (new StringTime(time).Subtract(new StringTime(timedifference.ToString()))); } btnSecond.Content = timeValue.ToString(@"hh\:mm"); stkRowUS.Children.Add(btnSecond); lblSecondTimeChart.Content = secondTimeChart; } }
public FileHandler(InputData data) { if (!Directory.Exists(OutputFolder)) { Directory.CreateDirectory(OutputFolder); } _inputFileName = data.FileName; if (!File.Exists(data.FileName)) { ErrorHandler.TerminateExecution(ErrorCode.NoSuchFile, _inputFileName); } IoHandler.FilenameFormatter(_inputFileName, out var path, out var fileName, out var extension); var newFileName = "res-" + StringTime.ToString(data.Time) + "-" + fileName; string root = Path.GetPathRoot(path); path = Path.Combine(root, OutputFolder); var outputFileName = IoHandler.FilenameFormatter(path, newFileName, extension); _outputFileName = outputFileName; }
public TimeSpan Add(StringTime time2) { return(this.ToTimeSpan().Add(time2.ToTimeSpan())); }