/// <summary> /// Attempts to get a new command from the server /// </summary> /// <param name="requestSender">RequestSender class instance</param> /// <param name="macAddress">MacAddress to get the command for</param> /// <returns></returns> private static ICommand GetCommand(RequestSender requestSender, string macAddress) { var formEncoder = new FormEncoder(); var getCommandData = formEncoder.CreateLoginData(macAddress); var getCommandRequest = new GetCommandRequest("/api/getcommand.php", getCommandData); var getCommandResponse = requestSender.SendRequest(getCommandRequest); var jsonResponseData = JsonParser.Deserialize(getCommandResponse); switch (jsonResponseData["command"]) { case "uninstall": return(new UninstallCommand()); case "run": var payloadData = (Dictionary <string, object>)jsonResponseData["Payload"]; var payload = CreatePayload(payloadData); var runCommand = new RunCommand(payload); return(runCommand); case "none": return(new NoneCommand()); } return(null); }
/// <summary> /// Attempts to login the user to the webserver /// </summary> /// <param name="requestSender">Instance of requestSender class</param> /// <param name="macAddress">Computer's macaddress</param> /// <returns></returns> private static bool Login(RequestSender requestSender, string macAddress) { var formEncoder = new FormEncoder(); var loginData = formEncoder.CreateLoginData(macAddress); var loginRequest = new LoginRequest("/api/login.php", loginData); var loginResponse = requestSender.SendRequest(loginRequest); var jsonResponseData = JsonParser.Deserialize(loginResponse); return(jsonResponseData["message"].ToString().ToLower() == "succes"); }