/// <summary> /// Provide a coalesced set of deadlines for a given user/aircraft in a single string (enables CSV export) /// </summary> /// <param name="szUser">User. May be null for aircraft-only deadlines</param> /// <param name="idAircraft">Deadlines to display</param> /// <param name="separator">Separator to use</param> /// <returns>A string that can be placed in a label</returns> public static string CoalescedDeadlinesForAircraft(string szUser, int idAircraft, string separator = "\r\n") { if (idAircraft <= 0) { throw new MyFlightbookValidationException("Can't show coalesced deadlines for aircraft with invalid aircraft ID"); } IEnumerable <DeadlineCurrency> rgdc = DeadlineCurrency.DeadlinesForUser(szUser, idAircraft, true); List <string> lst = new List <string>(); foreach (DeadlineCurrency dc in rgdc) { lst.Add(String.Format(CultureInfo.CurrentCulture, "{0} - {1}", dc.Name, dc.ExpirationDisplay)); } return(String.Join(separator, lst)); }
/// <summary> /// Generates a description of the change in hours or date between the specified and the new version of the deadline /// </summary> /// <param name="dcOriginal"></param> /// <returns></returns> public string DifferenceDescription(DeadlineCurrency dcOriginal) { if (dcOriginal == null) { throw new ArgumentNullException("dcOriginal"); } if (UsesHours && !dcOriginal.AircraftHours.EqualsToPrecision(AircraftHours)) { return(String.Format(CultureInfo.CurrentCulture, Resources.Currency.DeadlineChangedHours, Name, dcOriginal.AircraftHours, AircraftHours)); } if (!UsesHours && dcOriginal.Expiration.CompareTo(Expiration) != 0) { return(String.Format(CultureInfo.CurrentCulture, Resources.Currency.DeadlineChangedDate, Name, dcOriginal.Expiration, Expiration)); } return(string.Empty); }
public int CompareTo(object obj) { if (obj == null) { return(1); } DeadlineCurrency dc = (DeadlineCurrency)obj; if (dc.AircraftID == AircraftID) { return(DisplayName.CompareCurrentCultureIgnoreCase(dc.DisplayName)); } else { return(AircraftID.CompareTo(dc.AircraftID)); } }
public DeadlineEventArgs(DeadlineCurrency dcOriginal, DeadlineCurrency dcNew) : base() { OriginalDeadline = dcOriginal; NewDeadline = dcNew; }