/// <summary>
        /// Return a text representation of this object.
        /// </summary>
        public override String ToString()

        => String.Concat(StationId.ToString(),
                         " => ",
                         ForwardedToRoamingNetworkId,    // ?? "<none>",
                         " / ",
                         ForwardedToChargingStationOperator?.Id.ToString() ?? "<none>");
        public override int GetHashCode()
        {
            int hash = 1;

            if (entityId_ != null)
            {
                hash ^= EntityId.GetHashCode();
            }
            if (merchantId_ != null)
            {
                hash ^= MerchantId.GetHashCode();
            }
            if (stationId_ != null)
            {
                hash ^= StationId.GetHashCode();
            }
            if (Name.Length != 0)
            {
                hash ^= Name.GetHashCode();
            }
            if (IpAddress.Length != 0)
            {
                hash ^= IpAddress.GetHashCode();
            }
            if (Port != 0)
            {
                hash ^= Port.GetHashCode();
            }
            return(hash);
        }
 /// <summary>
 /// Return the HashCode of this object.
 /// </summary>
 /// <returns>The HashCode of this object.</returns>
 public override Int32 GetHashCode()
 {
     unchecked
     {
         return(StationId.GetHashCode());
     }
 }
        public void _setLogInfo()
        {
            EncryptDecrypt ENC = new EncryptDecrypt();

            Response.Cookies.Add(new HttpCookie("ELOG_PAR1", ENC.Encrypt(OperatorId.ToString(), true)));
            Response.Cookies.Add(new HttpCookie("ELOG_PAR2", ENC.Encrypt(LocalIPAddress().ToString(), true)));
            Response.Cookies.Add(new HttpCookie("ELOG_PAR3", ENC.Encrypt(StationId.ToString(), true)));
        }
Esempio n. 5
0
 public override int GetHashCode()
 {
     unchecked {
         int hashCode;
         hashCode = MoniTime.GetHashCode();
         hashCode = (hashCode * 397) ^ StationId.GetHashCode();
         hashCode = (hashCode * 397) ^ ItemId.GetHashCode();
         return(hashCode);
     }
 }
        public JObject ToJSON()

        => JSONObject.Create(
            new JProperty("stationId", StationId.ToString()),
            new JProperty("address", Address.ToJSON()),
            new JProperty("geoCoordinates", GeoCoordinates.Value.ToJSON()),
            new JProperty("evses", JSONArray.Create(
                              EVSEDataRecords.Select(evseDataRecord => evseDataRecord.ToJSON()))
                          )
            );
Esempio n. 7
0
        public override int GetHashCode()
        {
            var hashCode = -510074534;

            hashCode = hashCode * -1521134295 + MeasurementId.GetHashCode();
            hashCode = hashCode * -1521134295 + StationId.GetHashCode();
            hashCode = hashCode * -1521134295 + MeasurementTypeId.GetHashCode();
            hashCode = hashCode * -1521134295 + UnitId.GetHashCode();
            hashCode = hashCode * -1521134295 + Value.GetHashCode();
            hashCode = hashCode * -1521134295 + TimesStamp.GetHashCode();
            return(hashCode);
        }
Esempio n. 8
0
        public void Execute(IConsoleShell shell, string argStr, string[] args)
        {
            if (args.Length != 2)
            {
                shell.WriteError(Loc.GetString("shell-wrong-arguments-number"));
                return;
            }

            var player = shell.Player as IPlayerSession;

            if (player == null)
            {
                return;
            }

            var ticker        = EntitySystem.Get <GameTicker>();
            var stationSystem = EntitySystem.Get <StationSystem>();

            if (!ticker.PlayersInLobby.ContainsKey(player) || ticker.PlayersInLobby[player] == LobbyPlayerStatus.Observer)
            {
                Logger.InfoS("security", $"{player.Name} ({player.UserId}) attempted to latejoin while in-game.");
                shell.WriteError($"{player.Name} is not in the lobby.   This incident will be reported.");
                return;
            }

            if (ticker.RunLevel == GameRunLevel.PreRoundLobby)
            {
                shell.WriteLine("Round has not started.");
                return;
            }
            else if (ticker.RunLevel == GameRunLevel.InRound)
            {
                string id = args[0];

                if (!uint.TryParse(args[1], out var sid))
                {
                    shell.WriteError(Loc.GetString("shell-argument-must-be-number"));
                }

                var stationId    = new StationId(sid);
                var jobPrototype = _prototypeManager.Index <JobPrototype>(id);
                if (!stationSystem.IsJobAvailableOnStation(stationId, jobPrototype))
                {
                    shell.WriteLine($"{jobPrototype.Name} has no available slots.");
                    return;
                }
                ticker.MakeJoinGame(player, stationId, id);
                return;
            }

            ticker.MakeJoinGame(player, StationId.Invalid);
        }
Esempio n. 9
0
        public override int GetHashCode()
        {
            var hashCode = -1136939070;

            hashCode = hashCode * -1521134295 + StationId.GetHashCode();
            hashCode = hashCode * -1521134295 + StationTypeId.GetHashCode();
            hashCode = hashCode * -1521134295 + AddressId.GetHashCode();
            hashCode = hashCode * -1521134295 + UserId.GetHashCode();
            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(Name);

            hashCode = hashCode * -1521134295 + Longitude.GetHashCode();
            hashCode = hashCode * -1521134295 + Latitude.GetHashCode();
            return(hashCode);
        }
Esempio n. 10
0
        public override string ToString()
        {
            string header = Length.ToString().PadLeft(4, '0');

            header += Mid.ToString().PadLeft(4, '0');
            header += (Revision > 0) ? Revision.ToString().PadLeft(3, '0') : "   ";
            header += NoAckFlag ? "1" : " ";
            header += (StationId != null) ? StationId.ToString().PadLeft(2, '0') : string.Empty.PadLeft(2, ' ');
            header += (SpindleId != null) ? SpindleId.ToString().PadLeft(2, '0') : string.Empty.PadLeft(2, ' ');
            header += (SequenceNumber > 0) ? SequenceNumber.ToString().PadLeft(2, '0') : string.Empty.PadLeft(2, ' ');
            header += NumberOfMessages.ToString().PadLeft(1, ' ');
            header += MessageNumber.ToString().PadLeft(1, ' ');
            return(header);
        }
Esempio n. 11
0
        public IHttpActionResult GetSiteCurrentAqi(StationId sites)
        {
            string[]       siteIds    = sites.Id.Split(',');
            List <SiteAqi> rs         = new List <SiteAqi>();
            IAqiManager    aqiManager = EngineContext.Current.Resolve <IAqiManager>();
            var            aqis       = aqiManager.GetSiteCurrentAqi(sites.Id);

            for (int i = 0; i < siteIds.Length; i++)
            {
                rs.Add(new SiteAqi()
                {
                    SiteId = siteIds[i], Aqi = aqis[i]
                });
            }
            return(Ok(rs));
        }
        public static bool TryFindRandomTile(out Vector2i tile, out StationId targetStation, out EntityUid targetGrid, out EntityCoordinates targetCoords, IRobustRandom?robustRandom = null, IEntityManager?entityManager = null)
        {
            tile = default;
            robustRandom ??= IoCManager.Resolve <IRobustRandom>();
            entityManager ??= IoCManager.Resolve <IEntityManager>();

            targetCoords  = EntityCoordinates.Invalid;
            targetStation = robustRandom.Pick(entityManager.EntityQuery <StationComponent>().ToArray()).Station;
            var t = targetStation; // thanks C#
            var possibleTargets = entityManager.EntityQuery <StationComponent>()
                                  .Where(x => x.Station == t).ToArray();

            targetGrid = robustRandom.Pick(possibleTargets).Owner;

            if (!entityManager.TryGetComponent <IMapGridComponent>(targetGrid !, out var gridComp))
            {
                return(false);
            }
            var grid = gridComp.Grid;

            var atmosphereSystem = EntitySystem.Get <AtmosphereSystem>();
            var found            = false;
            var gridBounds       = grid.WorldBounds;
            var gridPos          = grid.WorldPosition;

            for (var i = 0; i < 10; i++)
            {
                var randomX = robustRandom.Next((int)gridBounds.Left, (int)gridBounds.Right);
                var randomY = robustRandom.Next((int)gridBounds.Bottom, (int)gridBounds.Top);

                tile = new Vector2i(randomX - (int)gridPos.X, randomY - (int)gridPos.Y);
                if (atmosphereSystem.IsTileSpace(grid, tile) || atmosphereSystem.IsTileAirBlocked(grid, tile))
                {
                    continue;
                }
                found        = true;
                targetCoords = grid.GridTileToLocal(tile);
                break;
            }

            if (!found)
            {
                return(false);
            }

            return(true);
        }
Esempio n. 13
0
        protected bool TryParseStationId(string stationIdString, out StationId stationId)
        {
            if (ID_LENGTH != stationIdString.Length || false == IDENTIFIER_TYPE_MAP.ContainsKey(stationIdString[2]))
            {
                stationId = null;
                return(false);
            }

            stationId = new StationId
            {
                StationType = IDENTIFIER_TYPE_MAP[stationIdString[2]],
                CountryCode = stationIdString.Substring(0, 2),
                Id          = stationIdString.Substring(3),
                FullId      = stationIdString
            };
            return(true);
        }
 public void MergeFrom(CardTerminal other)
 {
     if (other == null)
     {
         return;
     }
     if (other.entityId_ != null)
     {
         if (entityId_ == null)
         {
             entityId_ = new global::HOLMS.Types.Money.Cards.CardTerminalIndicator();
         }
         EntityId.MergeFrom(other.EntityId);
     }
     if (other.merchantId_ != null)
     {
         if (merchantId_ == null)
         {
             merchantId_ = new global::HOLMS.Types.Money.Cards.CardMerchantIndicator();
         }
         MerchantId.MergeFrom(other.MerchantId);
     }
     if (other.stationId_ != null)
     {
         if (stationId_ == null)
         {
             stationId_ = new global::HOLMS.Types.IAM.ClientInstance();
         }
         StationId.MergeFrom(other.StationId);
     }
     if (other.Name.Length != 0)
     {
         Name = other.Name;
     }
     if (other.IpAddress.Length != 0)
     {
         IpAddress = other.IpAddress;
     }
     if (other.Port != 0)
     {
         Port = other.Port;
     }
 }
Esempio n. 15
0
        public override int GetHashCode()
        {
            int hash = 13;

            hash = (hash * 7) + StationId.GetHashCode();

            if (Location != null)
            {
                hash = (hash * 7) + Location.GetHashCode();
            }

            if (HeightOffset != null)
            {
                hash = (hash * 7) + HeightOffset.GetHashCode();
            }

            if (TimeOffset != null)
            {
                hash = (hash * 7) + TimeOffset.GetHashCode();
            }

            return(hash);
        }
Esempio n. 16
0
 /// <summary>
 /// Return a string representation of this object.
 /// </summary>
 public override String ToString()
 {
     return(StationId.ToString());
 }
Esempio n. 17
0
 public BookingLineBuilder ForStation(StationId station)
 {
     _station = station;
     return(this);
 }
Esempio n. 18
0
 public override void Startup()
 {
     ResetTimeUntilPulse();
     _target = _robustRandom.Pick(_entityManager.EntityQuery <StationComponent>().ToArray()).Station;
     base.Startup();
 }
Esempio n. 19
0
        private void parameterRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                DollarSaverDB.ParameterRow parameter = (DollarSaverDB.ParameterRow)e.Item.DataItem;

                HiddenField paramIdHidden = (HiddenField)e.Item.FindControl("paramIdHidden");
                paramIdHidden.Value = parameter.ParameterId.ToString();

                Label paramNameLabel = (Label)e.Item.FindControl("paramNameLabel");
                paramNameLabel.Text = parameter.Name;

                Label paramTypeLabel = (Label)e.Item.FindControl("paramTypeLabel");
                //paramTypeLabel.Text = parameter.ParameterType.Name;



                PlaceHolder validatorHolder = (PlaceHolder)e.Item.FindControl("validatorHolder");

                RegularExpressionValidator rev;
                RequiredFieldValidator     rfv;



                paramNameLabel.Text = parameter.Name;
                HiddenField  paramValueHidden = (HiddenField)e.Item.FindControl("paramValueHidden");
                Label        paramValueLabel  = (Label)e.Item.FindControl("paramValueLabel");
                TextBox      paramValueBox    = (TextBox)e.Item.FindControl("paramValueBox");
                CheckBox     paramCheckBox    = (CheckBox)e.Item.FindControl("paramCheckBox");
                ListBox      paramList        = (ListBox)e.Item.FindControl("paramList");
                PlaceHolder  timeHolder       = (PlaceHolder)e.Item.FindControl("timeHolder");
                DropDownList hourList         = (DropDownList)e.Item.FindControl("hourList");
                DropDownList minuteList       = (DropDownList)e.Item.FindControl("minuteList");


                switch (parameter.ParameterTypeId)
                {
                case 1:
                    // bit
                    paramValueLabel.Visible = false;
                    paramValueBox.Visible   = false;
                    paramCheckBox.Visible   = true;
                    paramList.Visible       = false;
                    timeHolder.Visible      = false;

                    paramCheckBox.Checked = true;

                    if (parameter.Description != string.Empty)
                    {
                        paramTypeLabel.Text = " " + parameter.Description;
                    }

                    break;

                case 2:
                    // date
                    paramValueLabel.Visible = false;
                    paramValueBox.Visible   = true;
                    paramCheckBox.Visible   = false;
                    paramList.Visible       = false;
                    timeHolder.Visible      = false;

                    paramValueBox.Columns   = 10;
                    paramValueBox.MaxLength = 12;



                    // default value hacking..
                    if (parameter.Name.ToUpper().Trim() == "START DATE")
                    {
                        DateTime startDate = DateTime.Now;
                        startDate = startDate.AddMonths(-1);
                        startDate = new DateTime(startDate.Year, startDate.Month, 1);

                        paramValueBox.Text = startDate.ToString("MM/dd/yyyy");
                    }
                    else if (parameter.Name.ToUpper().Trim() == "END DATE")
                    {
                        DateTime startDate = DateTime.Now;
                        startDate = startDate.AddMonths(-1);
                        startDate = new DateTime(startDate.Year, startDate.Month, 1);
                        DateTime endDate = startDate.AddMonths(1).AddDays(-1);

                        paramValueBox.Text = endDate.ToString("MM/dd/yyyy");
                    }


                    Image calendarImage = (Image)e.Item.FindControl("calendarImage");
                    calendarImage.Visible  = true;
                    calendarImage.ImageUrl = "~/images/calendar_button.gif";
                    calendarImage.Attributes["OnClick"] = "showCalendarControl('" + paramValueBox.ClientID + "');";
                    //paramValueBox.Attributes["onblur"] = "hideCalendarControl();";

                    rev = GenerateDateREV(paramValueBox);
                    validatorHolder.Controls.Add(rev);

                    rfv = GenerateRFV(paramValueBox);
                    validatorHolder.Controls.Add(rfv);

                    paramTypeLabel.Text = " (MM/DD/YYYY)";


                    break;

                case 3:
                    // decimal

                    paramValueLabel.Visible = false;
                    paramValueBox.Visible   = true;
                    paramCheckBox.Visible   = false;
                    paramList.Visible       = false;
                    timeHolder.Visible      = false;

                    paramValueBox.Columns   = 12;
                    paramValueBox.MaxLength = 20;

                    rev = GenerateDecimalREV(paramValueBox);
                    validatorHolder.Controls.Add(rev);

                    rfv = GenerateRFV(paramValueBox);
                    validatorHolder.Controls.Add(rfv);


                    if (parameter.Description != string.Empty)
                    {
                        paramTypeLabel.Text = " " + parameter.Description;
                    }

                    break;

                case 4:
                    // int

                    paramValueLabel.Visible = false;
                    paramValueBox.Visible   = true;
                    paramCheckBox.Visible   = false;
                    paramList.Visible       = false;
                    timeHolder.Visible      = false;

                    paramValueBox.Columns   = 12;
                    paramValueBox.MaxLength = 20;

                    rev = GenerateIntREV(paramValueBox);
                    validatorHolder.Controls.Add(rev);

                    rfv = GenerateRFV(paramValueBox);
                    validatorHolder.Controls.Add(rfv);

                    if (parameter.Description != string.Empty)
                    {
                        paramTypeLabel.Text = " " + parameter.Description;
                    }

                    break;

                case 5:
                    // varchar
                    paramValueLabel.Visible = false;
                    paramValueBox.Visible   = true;
                    paramCheckBox.Visible   = false;
                    paramList.Visible       = false;
                    timeHolder.Visible      = false;

                    paramValueBox.Columns   = 20;
                    paramValueBox.MaxLength = 50;

                    rfv = GenerateRFV(paramValueBox);
                    validatorHolder.Controls.Add(rfv);

                    if (parameter.Description != string.Empty)
                    {
                        paramTypeLabel.Text = " " + parameter.Description;
                    }

                    break;

                case 6:
                    // Station
                    paramValueLabel.Visible = true;
                    paramValueBox.Visible   = false;
                    paramCheckBox.Visible   = false;
                    paramList.Visible       = false;
                    timeHolder.Visible      = false;

                    paramValueLabel.Text   = Station.Name;
                    paramValueHidden.Value = StationId.ToString();

                    break;

                case 7:
                    // Char
                    paramValueLabel.Visible = false;
                    paramValueBox.Visible   = true;
                    paramCheckBox.Visible   = false;
                    paramList.Visible       = false;
                    timeHolder.Visible      = false;

                    paramValueBox.Columns   = 20;
                    paramValueBox.MaxLength = 50;

                    rfv = GenerateRFV(paramValueBox);
                    validatorHolder.Controls.Add(rfv);

                    if (parameter.Description != string.Empty)
                    {
                        paramTypeLabel.Text = " " + parameter.Description;
                    }

                    break;

                case 8:
                    // Date and Time
                    paramValueLabel.Visible = false;
                    paramValueBox.Visible   = true;
                    paramCheckBox.Visible   = false;
                    paramList.Visible       = false;
                    timeHolder.Visible      = true;

                    for (int i = 0; i < 24; i++)
                    {
                        hourList.Items.Add(i.ToString("00"));
                    }

                    for (int i = 0; i < 60; i++)
                    {
                        minuteList.Items.Add(i.ToString("00"));
                    }

                    paramValueBox.Columns   = 10;
                    paramValueBox.MaxLength = 12;

                    /*
                     * if(reportToRun.TypeId == 2) { // MAC reports only
                     *  if(parameter.Name.ToUpper().Trim() == "START DATE") {
                     *      DateTime startDate = DateTime.Now;
                     *      while(startDate.DayOfWeek != DayOfWeek.Saturday) {
                     *          startDate = startDate.AddDays(-1);
                     *      }
                     *      paramValueBox.Text = startDate.ToString("MM/dd/yyyy");
                     *  } else if (parameter.Name.ToUpper().Trim() == "END DATE") {
                     *      paramValueBox.Text = DateTime.Now.ToString("MM/dd/yyyy");
                     *  }
                     * }
                     * */

                    Image calendarImage2 = (Image)e.Item.FindControl("calendarImage");
                    calendarImage2.Visible  = true;
                    calendarImage2.ImageUrl = "~/images/calendar_button.gif";
                    calendarImage2.Attributes["OnClick"] = "showCalendarControl('" + paramValueBox.ClientID + "');";
                    //paramValueBox.Attributes["onblur"] = "hideCalendarControl();";

                    rev = GenerateDateREV(paramValueBox);
                    validatorHolder.Controls.Add(rev);

                    rfv = GenerateRFV(paramValueBox);
                    validatorHolder.Controls.Add(rfv);

                    paramTypeLabel.Text = " (MM/DD/YYYY HH:MM)";


                    break;

                default:
                    throw new Exception("ERROR: Unknown Parameter Type");
                }
            }
        }
Esempio n. 20
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (header_ != null)
            {
                hash ^= Header.GetHashCode();
            }
            if (MeasurementTime != 0D)
            {
                hash ^= MeasurementTime.GetHashCode();
            }
            if (SolutionStatus != 0)
            {
                hash ^= SolutionStatus.GetHashCode();
            }
            if (PositionType != 0)
            {
                hash ^= PositionType.GetHashCode();
            }
            if (BaselineLength != 0F)
            {
                hash ^= BaselineLength.GetHashCode();
            }
            if (Heading_ != 0F)
            {
                hash ^= Heading_.GetHashCode();
            }
            if (Pitch != 0F)
            {
                hash ^= Pitch.GetHashCode();
            }
            if (Reserved != 0F)
            {
                hash ^= Reserved.GetHashCode();
            }
            if (HeadingStdDev != 0F)
            {
                hash ^= HeadingStdDev.GetHashCode();
            }
            if (PitchStdDev != 0F)
            {
                hash ^= PitchStdDev.GetHashCode();
            }
            if (StationId.Length != 0)
            {
                hash ^= StationId.GetHashCode();
            }
            if (SatelliteTrackedNumber != 0)
            {
                hash ^= SatelliteTrackedNumber.GetHashCode();
            }
            if (SatelliteSoulutionNumber != 0)
            {
                hash ^= SatelliteSoulutionNumber.GetHashCode();
            }
            if (SatelliteNumberObs != 0)
            {
                hash ^= SatelliteNumberObs.GetHashCode();
            }
            if (SatelliteNumberMulti != 0)
            {
                hash ^= SatelliteNumberMulti.GetHashCode();
            }
            if (SolutionSource != 0)
            {
                hash ^= SolutionSource.GetHashCode();
            }
            if (ExtendedSolutionStatus != 0)
            {
                hash ^= ExtendedSolutionStatus.GetHashCode();
            }
            if (GalileoBeidouSigMask != 0)
            {
                hash ^= GalileoBeidouSigMask.GetHashCode();
            }
            if (GpsGlonassSigMask != 0)
            {
                hash ^= GpsGlonassSigMask.GetHashCode();
            }
            return(hash);
        }
Esempio n. 21
0
        public bool Equals(epgConfig other)
        {
            if (other == null)
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            //if (!Version.Equals(other.Version)) return false;
            if (!UserAccount.LoginName.Equals(other.UserAccount?.LoginName))
            {
                return(false);
            }
            if (!UserAccount.PasswordHash.Equals(other.UserAccount?.PasswordHash))
            {
                return(false);
            }
            if (!RatingsOrigin.Equals(other.RatingsOrigin))
            {
                return(false);
            }
            if (!DaysToDownload.Equals(other.DaysToDownload))
            {
                return(false);
            }
            if (!TheTvdbNumbers.Equals(other.TheTvdbNumbers))
            {
                return(false);
            }
            if (!PrefixEpisodeTitle.Equals(other.PrefixEpisodeTitle))
            {
                return(false);
            }
            if (!PrefixEpisodeDescription.Equals(other.PrefixEpisodeDescription))
            {
                return(false);
            }
            if (!AlternateSEFormat.Equals(other.AlternateSEFormat))
            {
                return(false);
            }
            if (!AppendEpisodeDesc.Equals(other.AppendEpisodeDesc))
            {
                return(false);
            }
            if (!OadOverride.Equals(other.OadOverride))
            {
                return(false);
            }
            if (!SeasonEventImages.Equals(other.SeasonEventImages))
            {
                return(false);
            }
            if (!SeriesPosterArt.Equals(other.SeriesPosterArt))
            {
                return(false);
            }
            if (!SeriesWsArt.Equals(other.SeriesWsArt))
            {
                return(false);
            }
            if (!TMDbCoverArt.Equals(other.TMDbCoverArt))
            {
                return(false);
            }
            if (!IncludeSdLogos.Equals(other.IncludeSdLogos))
            {
                return(false);
            }
            if (!PreferredLogoStyle.Equals(other.PreferredLogoStyle))
            {
                return(false);
            }
            if (!AlternateLogoStyle.Equals(other.AlternateLogoStyle))
            {
                return(false);
            }
            if (!AutoAddNew.Equals(other.AutoAddNew))
            {
                return(false);
            }
            if (!AutoImport.Equals(other.AutoImport))
            {
                return(false);
            }
            if (!Automatch.Equals(other.Automatch))
            {
                return(false);
            }
            if (!ExcludeCastAndCrew.Equals(other.ExcludeCastAndCrew))
            {
                return(false);
            }
            if (!CreateXmltv.Equals(other.CreateXmltv))
            {
                return(false);
            }
            if (!XmltvIncludeChannelNumbers.Equals(other.XmltvIncludeChannelNumbers))
            {
                return(false);
            }
            if (!XmltvIncludeChannelLogos.Equals(other.XmltvIncludeChannelLogos))
            {
                return(false);
            }
            if (!XmltvAddFillerData.Equals(other.XmltvAddFillerData))
            {
                return(false);
            }
            if (!XmltvFillerProgramLength.Equals(other.XmltvFillerProgramLength))
            {
                return(false);
            }
            if (!XmltvFillerProgramDescription.Equals(other.XmltvFillerProgramDescription))
            {
                return(false);
            }
            if (!XmltvExtendedInfoInTitleDescriptions.Equals(other.XmltvExtendedInfoInTitleDescriptions))
            {
                return(false);
            }
            if (!XmltvSingleImage.Equals(other.XmltvSingleImage))
            {
                return(false);
            }
            if (!XmltvOutputFile.Equals(other.XmltvOutputFile))
            {
                return(false);
            }
            if (!ModernMediaUiPlusSupport.Equals(other.ModernMediaUiPlusSupport))
            {
                return(false);
            }
            if (!BrandLogoImage.Equals(other.BrandLogoImage))
            {
                return(false);
            }
            if (!SuppressStationEmptyWarnings.Equals(other.SuppressStationEmptyWarnings))
            {
                return(false);
            }
            if (!ExpectedServicecount.Equals(other.ExpectedServicecount))
            {
                return(false);
            }

            if (IncludedLineup != null && other.IncludedLineup != null)
            {
                if (IncludedLineup.Any(lineup => !other.IncludedLineup.Contains(lineup)))
                {
                    return(false);
                }
                if (other.IncludedLineup.Any(lineup => !IncludedLineup.Contains(lineup)))
                {
                    return(false);
                }
            }
            else if (IncludedLineup == null ^ other.IncludedLineup == null)
            {
                return(false);
            }

            if (StationId == null || other.StationId == null)
            {
                return(!(StationId == null ^ other.StationId == null));
            }
            var thisStationId  = StationId.Select(stationId => stationId.StationId).ToList();
            var otherStationId = other.StationId.Select(stationId => stationId.StationId).ToList();

            return(thisStationId.All(stationId => otherStationId.Contains(stationId)) && otherStationId.All(stationId => thisStationId.Contains(stationId)));
        }