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))); } }
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))); } }