示例#1
0
        public async Task <IActionResult> Post([FromBody] BaseComponentViewModel bootViewModel)
        {
            try
            {
                var module
                    = await _moduleRepository.FindModule
                          (Guid.Parse(bootViewModel.ModuleId));

                if (module == null)
                {
                    return(BadRequest(new Exception(ErrorMessageResponses.InvalidModuleId)));
                }

                await _bootRepository
                .SaveBootMessage
                    (new BootMessage(module.Id, bootViewModel.State));

                var moduleResponse
                    = await LocationTriggeringService
                      .DetermineIfTriggering(_locationRepository, _locationActionEventsRepository, _messagingService, module);

                module.State = bootViewModel.State;

                await _moduleRepository.UpdateModuleLastBoot(module);

                return(Ok(moduleResponse));
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.Message);

                return(BadRequest(new ErrorResponse(ex)));
            }
        }
示例#2
0
        public async Task <IActionResult> Post([FromBody] BaseComponentViewModel moduleEventViewModel)
        {
            try
            {
                var id = Guid.Parse(moduleEventViewModel.ModuleId);

                var moduleEvent = new ModuleEvent
                {
                    ModuleId = id,

                    State = moduleEventViewModel.State
                };

                await _moduleEventRepository.CreateModuleEvent(moduleEvent);

                await _moduleRepository.UpdateModuleHeartbeat(new Module(id, moduleEventViewModel.State));

                var moduleResponse
                    = await _moduleEventRepository
                      .PostModuleEvent(moduleEvent);

                return(Ok(moduleResponse));
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.Message);

                return(BadRequest(new ErrorResponse(ex)));
            }
        }
        public async Task <IActionResult> Post([FromBody] BaseComponentViewModel stateChangeViewModel)
        {
            try
            {
                var id = Guid.Parse(stateChangeViewModel.ModuleId);

                var stateChange = new StateChange
                {
                    ModuleId = id,

                    State = stateChangeViewModel.State
                };

                await StateChangesRepository.CreateStateChange(stateChange);

                await ModuleRepository.UpdateModuleHeartbeat(new Module(id, stateChangeViewModel.State));

                var moduleResponse
                    = await StateChangesRepository
                      .PostStateChangeToBackendApi(stateChange);

                return(Ok(moduleResponse));
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.Message);

                return(BadRequest(new ErrorResponse(ex)));
            }
        }