Example #1
0
        private void FsdConsumer_AtcDataDtoReceived(object sender, DtoReceivedEventArgs <AtcDataDto> p)
        {
            if (p.Dto.Callsign == "AFVDATA" || p.Dto.Callsign == "SUP" || p.Dto.Callsign == "DATA" || p.Dto.Callsign == "DATASVR" || p.Dto.Callsign.Contains("DCLIENT") || p.Dto.Callsign == "DATA-TOR" || (p.Dto.Callsign.Length > 3 && p.Dto.Callsign.Substring(0, 4) == "AFVS"))
            {
                return;
            }

            if (!p.Dto.Callsign.ToUpper().Contains("_ATIS"))
            {
                FsdController fsdController = _fsdControllers.Find(c => c.Callsign == p.Dto.Callsign);
                if (fsdController == null)
                {
                    return;
                }
                fsdController.HasControllerData = true;
                fsdController.Frequency         = p.Dto.Frequency.Insert(2, ".").Insert(0, "1");
                fsdController.Facility          = p.Dto.FacilityType;
                fsdController.VisualRange       = p.Dto.VisualRange;
                fsdController.LastUpdated       = DateTime.UtcNow;
            }
            else
            {
                FsdAtis fsdAtis = _fsdAtiss.Find(c => c.Callsign == p.Dto.Callsign);
                if (fsdAtis == null)
                {
                    return;
                }
                fsdAtis.HasControllerData = true;
                fsdAtis.Frequency         = p.Dto.Frequency.Insert(2, ".").Insert(0, "1");
                fsdAtis.Facility          = p.Dto.FacilityType;
                fsdAtis.VisualRange       = p.Dto.VisualRange;
                fsdAtis.LastUpdated       = DateTime.UtcNow;
            }
        }
Example #2
0
        private void FsdConsumer_AddClientDtoReceived(object sender, DtoReceivedEventArgs <AddClientDto> p)
        {
            if (_fsdPilots.Any(c => c.Callsign == p.Dto.Callsign) || _fsdControllers.Any(c => c.Callsign == p.Dto.Callsign) || _fsdAtiss.Any(c => c.Callsign == p.Dto.Callsign) || p.Dto.Callsign == "AFVDATA" || p.Dto.Callsign == "SUP" || p.Dto.Callsign == "DATA" || p.Dto.Callsign == "DATASVR" || p.Dto.Callsign.Contains("DCLIENT") || p.Dto.Callsign == "DATA-TOR" || (p.Dto.Callsign.Length > 3 && p.Dto.Callsign.Substring(0, 4) == "AFVS"))
            {
                return;
            }

            if (p.Dto.Type == 1)
            {
                FsdPilot fsdPilot = new FsdPilot
                {
                    Cid            = int.Parse(p.Dto.Cid),
                    Name           = p.Dto.RealName,
                    Callsign       = p.Dto.Callsign,
                    Server         = p.Dto.Server,
                    LogonTime      = DateTime.UtcNow,
                    LastUpdated    = DateTime.UtcNow,
                    PilotRatingSet = false,
                    HasPilotData   = false
                };
                _fsdPilots.Add(fsdPilot);
                _fsdPrefiles.RemoveAll(f => f.Callsign == p.Dto.Callsign);
            }
            else if (p.Dto.Type != 1 && !p.Dto.Callsign.ToUpper().Contains("_ATIS"))
            {
                FsdController fsdController = new FsdController
                {
                    Cid               = int.Parse(p.Dto.Cid),
                    Name              = p.Dto.RealName,
                    Callsign          = p.Dto.Callsign,
                    Server            = p.Dto.Server,
                    Rating            = p.Dto.Rating,
                    LogonTime         = DateTime.UtcNow,
                    LastUpdated       = DateTime.UtcNow,
                    HasControllerData = false
                };
                _fsdControllers.Add(fsdController);
            }
            else if (p.Dto.Type != 1 && p.Dto.Callsign.ToUpper().Contains("_ATIS"))
            {
                FsdAtis fsdAtis = new FsdAtis
                {
                    Cid               = int.Parse(p.Dto.Cid),
                    Callsign          = p.Dto.Callsign,
                    Name              = p.Dto.RealName,
                    Rating            = p.Dto.Rating,
                    Server            = p.Dto.Server,
                    LogonTime         = DateTime.UtcNow,
                    LastUpdated       = DateTime.UtcNow,
                    HasControllerData = false
                };
                _fsdAtiss.Add(fsdAtis);
            }
        }