Exemplo n.º 1
0
        private void GenerateStations(IStationsRepository stationsRepository)
        {
            var stations = stationsRepository.GetAll();

            foreach (var station in stations)
            {
                station.RegisterFlightEvent(OnFlightEvent);
                if (station.IsStartingStation)
                {
                    switch (station.Strip)
                    {
                    case StripEnum.AirStrip:
                        baseDepartureStations.Add(station);
                        break;

                    case StripEnum.LandingStrip:
                        baseLandStations.Add(station);
                        break;

                    default:
                        baseDepartureStations.Add(station);
                        baseLandStations.Add(station);
                        break;
                    }
                }
            }
        }
Exemplo n.º 2
0
        public StationsController(ILogger <StationsController> logger, IStationsRepository stationRepository)
        {
            _logger = logger ??
                      throw new ArgumentNullException(nameof(logger));

            _stationRepository = stationRepository ??
                                 throw new ArgumentNullException(nameof(stationRepository));
        }
Exemplo n.º 3
0
 public StationAppService(IStationsRepository stationsRepository
                          , IMapper mapper
                          , IUnitOfWork unitOfWork)
 {
     _stationsRepository = stationsRepository;
     _mapper             = mapper;
     _unitOfWork         = unitOfWork;
 }
Exemplo n.º 4
0
 public VtunerController(
     IOptions <VtunerConfig> cfg,
     IStationsRepository repo,
     ILogger <VtunerController> logger)
 {
     this._cfg          = cfg.Value;
     this._stationsRepo = repo;
     this._logger       = logger;
 }
Exemplo n.º 5
0
        /// <summary>
        /// FlightsManager constructor.
        /// </summary>
        public FlightsManager(IFlightsTimeManager flightsTimeManager, IFlightsRepository flightsRepository, IStationsManager stationsManager, IStationsRepository stationsRepository)
        {
            _flightsRepository  = flightsRepository;
            _flightsTimeManager = flightsTimeManager;
            _flightsTimeManager.RegisterToTimerElapsedEvent(OnTimerEvent);
            _stationsManager    = stationsManager;
            _stationsRepository = stationsRepository;

            _stationsManager.RegisterToFlightStartEvent(OnFlightEnterEvent);
        }
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="stationsRepository"></param>
        public StationWatingsManager(IStationsRepository stationsRepository)
        {
            baseLandStations      = new List <StationModel>();
            baseDepartureStations = new List <StationModel>();

            LandingFlights          = new List <FlightModel>();
            DepartureFlights        = new List <FlightModel>();
            this.stationsRepository = stationsRepository;
            GenerateStations(stationsRepository);
        }
        public FirebaseSyncService(
            IStationsRepository stationsRepo,
            ILogger <FirebaseSyncService> logger,
            IOptions <FirebaseConfig> conf)
        {
            _stationsRepo = stationsRepo;
            _flurlClient  = new FlurlClient();
            _fbConf       = conf.Value;
            _log          = logger;

            _stationsRepo.ItemsChanged += stationsRepo_ItemsChanged;
            SyncFromFbToRepo().Wait();
            _listenTask = ListenForFirebaseEvents();
        }
 /// <summary>
 /// Constructor helper initialize the stations list.
 /// </summary>
 /// <param name="stationsRepository"></param>
 private void GenerateStations(IStationsRepository stationsRepository)
 {
     stations = stationsRepository.GetAll();
     foreach (StationModel station in stations)
     {
         station.RegisterFlightEvent(OnFlightEvent);
         if (station.IsDepartureStart)
         {
             baseDepartureStations.Add(station);
         }
         if (station.IsLandingStart)
         {
             baseLandStations.Add(station);
         }
     }
 }
Exemplo n.º 9
0
 public EditStationVm(IStationsRepository stationsRepo, ILogger <EditStationVm> logger)
 {
     this.stationsRepo = stationsRepo;
     this.logger       = logger;
 }
Exemplo n.º 10
0
 public StationsController(ILogger <StationsController> logger, IStationsRepository repository, IHostEnvironment hostingEnvironment)
 {
     _logger                 = logger;
     this.repository         = repository;
     this.hostingEnvironment = hostingEnvironment;
 }
Exemplo n.º 11
0
        public GroupsModule(ILoggerService logger, IGroupsService service, IStationsRepository stationsRepository, ISecurityService securityService,

                            IConnectionManager signalR


                            )
        {
            _logger             = logger;
            _service            = service;
            _stationsRepository = stationsRepository;
            _securityService    = securityService;
            _signalR            = signalR;

            if (Debugger.IsAttached)
            {
                this.RequiresApiAuthentication();
            }
            else
            {
                this.RequiresAuthentication();
            }

            Get["/web/groups"] = _ =>
            {
                var access = _securityService.CheckUserAccess(((UserIdentity)Context.CurrentUser).Guid, "ViewOrChangeGroups");
                if (!access)
                {
                    return new Response {
                               StatusCode = HttpStatusCode.Forbidden, ReasonPhrase = WebResources.Error_PermissionDenied
                    }
                }
                ;


                //Hubs.RadioNetworksStatusHub.SetStationOnline(_signalR, Guid.ParseExact("2d42263c463a43d396806673c03b3e9d", "N"));
                //Hubs.RadioNetworksStatusHub.SetStationOnline(_signalR, Guid.ParseExact("d56025ce863b4d8c9eadda06c1460535", "N"));
                //Hubs.RadioNetworksStatusHub.SetStationOnline(_signalR, Guid.ParseExact("57228cfcdc1440ae82062953c3a0d792", "N"));
                //Hubs.RadioNetworksStatusHub.SetStationOnline(_signalR, Guid.ParseExact("7286b28b7f9747cfb6da8ca3cf599161", "N"));
                //Hubs.RadioNetworksStatusHub.SetStationOnline(_signalR, Guid.ParseExact("a0deb9e657224eb786b6ad9c4e02f9ac", "N"));
                //Hubs.RadioNetworksStatusHub.SetStationOnline(_signalR, Guid.ParseExact("421362042c3c4d5ab7aac2ef36292900", "N"));
                //Hubs.RadioNetworksStatusHub.SetStationOnline(_signalR, Guid.ParseExact("d105d8941a3e4bc1939585bfd1971af3", "N"));
                //Hubs.RadioNetworksStatusHub.SetStationOffline(_signalR, Guid.ParseExact("ebdee74feda74ad19f7f11b1463297b1", "N"));

                return(View["Groups.cshtml", new GroupResponseModel(_service.GetAll())]);
            };

            Get["/api/groups"] = _ =>
            {
                try
                {
                    if (string.IsNullOrWhiteSpace(Context.Request.Headers.Authorization))
                    {
                        var access = _securityService.CheckUserAccess(((UserIdentity)Context.CurrentUser).Guid, "ViewOrChangeGroups");
                        if (!access)
                        {
                            return new Response {
                                       StatusCode = HttpStatusCode.Forbidden, ReasonPhrase = WebResources.Error_PermissionDenied
                            }
                        }
                        ;
                    }
                    var groups = _service.GetAll();

                    List <object> result = new List <object>();

                    foreach (var group in groups)
                    {
                        var radio = _stationsRepository.Find(x => x.Guid == group.RadioGuid);

                        dynamic resultGroup = new
                        {
                            guid       = group.Guid,
                            radioGuid  = radio?.Guid,
                            radioAlias = radio?.Alias,
                            alias      = group.Alias
                        };
                        result.Add(resultGroup);
                    }

                    return(Response.AsJson(result));
                }
                catch (Exception e)
                {
                    _logger.LogError(e);

                    return(new Response {
                        StatusCode = HttpStatusCode.InternalServerError, ReasonPhrase = WebResources.Error_FailureObtainingGroups
                    });
                }
            };

            Post["/api/groups/add", true] = async(_, __) =>
            {
                try
                {
                    if (string.IsNullOrWhiteSpace(Context.Request.Headers.Authorization))
                    {
                        var access = _securityService.CheckUserAccess(((UserIdentity)Context.CurrentUser).Guid, "ViewOrChangeGroups");
                        if (!access)
                        {
                            return new Response {
                                       StatusCode = HttpStatusCode.Forbidden, ReasonPhrase = WebResources.Error_PermissionDenied
                            }
                        }
                        ;
                    }

                    var model  = this.Bind <GroupModel>(x => x.Guid);
                    var result = this.Validate(model);
                    if (result.IsValid)
                    {
                        await _service.AddAsync(GroupModelToDbGroupModel(model));

                        return(Response.AsJson(model, HttpStatusCode.OK));
                    }
                    else
                    {
                        return(Negotiate.WithAllowedMediaRange("application/json").WithModel(result).WithStatusCode(HttpStatusCode.BadRequest).WithReasonPhrase(WebResources.Error_FailureValidatingItem));
                    }
                }
                catch (Exception e)
                {
                    _logger.LogError(e);

                    return(new Response {
                        StatusCode = HttpStatusCode.InternalServerError, ReasonPhrase = WebResources.Error_FailureSavingGroup
                    });
                }
            };

            Post["/api/groups/update", true] = async(_, __) =>
            {
                try
                {
                    if (string.IsNullOrWhiteSpace(Context.Request.Headers.Authorization))
                    {
                        var access = _securityService.CheckUserAccess(((UserIdentity)Context.CurrentUser).Guid, "ViewOrChangeGroups");
                        if (!access)
                        {
                            return new Response {
                                       StatusCode = HttpStatusCode.Forbidden, ReasonPhrase = WebResources.Error_PermissionDenied
                            }
                        }
                        ;
                    }

                    var model  = this.Bind <GroupModel>();
                    var result = this.Validate(model);

                    if (result.IsValid)
                    {
                        await _service.UpdateAsync(GroupModelToDbGroupModel(model)).ConfigureAwait(false);

                        return(Response.AsJson(new object(), HttpStatusCode.OK));
                    }
                    else
                    {
                        return(Negotiate.WithAllowedMediaRange("application/json").WithModel(result).WithStatusCode(HttpStatusCode.BadRequest).WithReasonPhrase(WebResources.Error_FailureValidatingItem));
                    }
                }
                catch (Exception e)
                {
                    _logger.LogError(e);

                    return(new Response {
                        StatusCode = HttpStatusCode.InternalServerError, ReasonPhrase = WebResources.Error_FailureSavingGroup
                    });
                }
            };

            Post["/api/groups/delete", true] = async(_, __) =>
            {
                try
                {
                    if (string.IsNullOrWhiteSpace(Context.Request.Headers.Authorization))
                    {
                        var access = _securityService.CheckUserAccess(((UserIdentity)Context.CurrentUser).Guid, "ViewOrChangeGroups");
                        if (!access)
                        {
                            return new Response {
                                       StatusCode = HttpStatusCode.Forbidden, ReasonPhrase = WebResources.Error_PermissionDenied
                            }
                        }
                        ;
                    }

                    foreach (var record in this.Bind <IEnumerable <GroupModel> >())
                    {
                        var result = this.Validate(record);
                        if (result.IsValid)
                        {
                            await _service.DeleteAsync(GroupModelToDbGroupModel(record));
                        }
                        else
                        {
                            return(Negotiate.WithModel(result).WithStatusCode(HttpStatusCode.BadRequest));
                        }
                    }

                    return(Response.AsJson(new object(), HttpStatusCode.OK));
                }
                catch (Exception e)
                {
                    _logger.LogError(e);

                    return(Negotiate.WithStatusCode(HttpStatusCode.InternalServerError).WithReasonPhrase(WebResources.Error_FailureDeletingGroup));
                }
            };
        }
Exemplo n.º 12
0
 public StationsManager(IStationsRepository stationsRepository, IStationsWaitingsManager stationsWaitingsManager)
 {
     _stationsRepository      = stationsRepository;
     _stationsWaitingsManager = stationsWaitingsManager;
 }
Exemplo n.º 13
0
 public RC_Stations(IStationsRepository rep_st)
 {
     this.rep_st = rep_st;
 }
Exemplo n.º 14
0
 public RC_Stations()
 {
     this.rep_st = new EFStationsRepository();
 }
Exemplo n.º 15
0
 public IndexModel(IStationsRepository stationsRepo, ILogger <IndexModel> logger)
 {
     this._stationsRepo = stationsRepo;
 }
Exemplo n.º 16
0
 public PlayerController(IPlayerService playerService, IStationsRepository repository)
 {
     this.playerService = playerService;
     this.repository    = repository;
 }
Exemplo n.º 17
0
 public StationWatingsManager(IStationsRepository stationsRepository)
 {
     baseLandStations      = new List <StationModel>();
     baseDepartureStations = new List <StationModel>();
     GenerateStations(stationsRepository);
 }