Exemplo n.º 1
0
 /// <summary>
 /// Removes a specific attribute from the seat
 /// </summary>
 /// <param name="si">Seat</param>
 /// <param name="att">Specific attribute</param>
 public static void RemoveAttribute(this SeatInfo si, SeatAttributeEnum att)
 {
     si.SeatAttributes = si.SeatAttributes.Except(new[] { att }).ToArray();
 }
Exemplo n.º 2
0
 /// <summary>
 /// Adds a specific attribute to the seat
 /// </summary>
 /// <param name="si">Seat</param>
 /// <param name="att">Specific attribute</param>
 public static void AddAttribute(this SeatInfo si, SeatAttributeEnum att)
 {
     si.SeatAttributes = si.SeatAttributes.Union(new[] { att }).ToArray();
 }
Exemplo n.º 3
0
 /// <summary>
 /// Checks if the seats has a specific attribute
 /// </summary>
 /// <param name="si">Seat</param>
 /// <param name="att">Specific attribute</param>
 /// <returns>True if the seats has a specific attribute</returns>
 public static bool HasAttribute(this SeatInfo si, SeatAttributeEnum att)
 {
     return(si.SeatAttributes.Contains(att));
 }
Exemplo n.º 4
0
 /// <summary>
 /// Removes the attribute from every seats
 /// </summary>
 /// <param name="seats">Seat collection</param>
 /// <param name="att">The attribute</param>
 public static void ClearAttribute(this IEnumerable <SeatInfo> seats, SeatAttributeEnum att)
 {
     seats.WithAttribute(att).ToList().ForEach(x => x.RemoveAttribute(att));
 }
Exemplo n.º 5
0
 /// <summary>
 /// Takes away the attribute from the seats having it, and gives it to the new one who needs it
 /// </summary>
 /// <param name="seats">Seat collection</param>
 /// <param name="receiver">Seat that needs the attribute</param>
 /// <param name="att">The attribute</param>
 public static void MoveAttributeTo(this IEnumerable <SeatInfo> seats, SeatInfo receiver, SeatAttributeEnum att)
 {
     seats.ClearAttribute(att);
     receiver?.AddAttribute(att);
 }
Exemplo n.º 6
0
 /// <summary>
 /// Filters Seats that contains the attribute
 /// </summary>
 /// <param name="seats">Seat collection</param>
 /// <param name="att">Expected attribute</param>
 /// <returns>Seats that contains the attribute</returns>
 public static IEnumerable <SeatInfo> WithAttribute(this IEnumerable <SeatInfo> seats, SeatAttributeEnum att)
 {
     return(seats.Where(s => s.HasAttribute(att)));
 }