public async Task <IActionResult> Connect(string agentID, [FromQuery] ConnectAgentViewModel request) { try { Guid entityId = new Guid(agentID); ConnectedViewModel connectedViewModel = new ConnectedViewModel(); var requestIp = _accessor.HttpContext.Connection.RemoteIpAddress.ToString(); var agent = _agentManager.GetConnectAgent(agentID, requestIp, request); if (agent == null) { return(NotFound()); } if (agent.IsConnected == false) { JsonPatchDocument <Agent> connectPatch = new JsonPatchDocument <Agent>(); connectPatch.Replace(e => e.IsConnected, true); await base.PatchEntity(agent.Id.ToString(), connectPatch); } return(new OkObjectResult(connectedViewModel.Map(agent))); } catch (Exception ex) { return(ex.GetActionResult()); } }
public async Task <IActionResult> Connect([FromQuery] ConnectAgentViewModel request = null) { try { ConnectedViewModel connectedViewModel = new ConnectedViewModel(); var requestIp = _accessor.HttpContext.Connection.RemoteIpAddress.ToString(); var agent = agentRepo.FindAgent(request.MachineName, request.MacAddresses, requestIp); if (agent == null) { ModelState.AddModelError("Connect", "Record does not exist or you do not have authorized access."); return(BadRequest(ModelState)); } if (agent.IsConnected == false) { JsonPatchDocument <AgentModel> connectPatch = new JsonPatchDocument <AgentModel>(); connectPatch.Replace(e => e.IsConnected, true); await base.PatchEntity(agent.Id.ToString(), connectPatch); } return(new OkObjectResult(connectedViewModel.Map(agent))); } catch (Exception ex) { ModelState.AddModelError("Connect", ex.Message); return(ex.GetActionResult()); } }