public string ValidarComandosRobo(RoboDTO comandoAlterar, Robo comandoAtual)
        {
            var validar = ValidarRotacaoCabeca(comandoAlterar.Cabeca, comandoAtual.Cabeca);

            if (!string.IsNullOrEmpty(validar))
            {
                return(validar);
            }

            validar = ValidarInclinacaoCabeca(comandoAlterar.Cabeca, comandoAtual.Cabeca);
            if (!string.IsNullOrEmpty(validar))
            {
                return(validar);
            }

            validar = ValidarComandosBracoDireto(comandoAlterar.BracoDireito, comandoAtual.BracoDireito);
            if (!string.IsNullOrEmpty(validar))
            {
                return(validar);
            }

            validar = ValidarComandosBracoEsquerdo(comandoAlterar.BracoEsquerdo, comandoAtual.BracoEsquerdo);
            if (!string.IsNullOrEmpty(validar))
            {
                return(validar);
            }

            return(string.Empty);
        }
        public Robo ExecutarComandosRobo(RoboDTO comandosRobo)
        {
            Robo robo = new Robo();

            robo.Cabeca.Rotacao    = comandosRobo.Cabeca.Rotacao;
            robo.Cabeca.Inclinacao = comandosRobo.Cabeca.Inclinacao;

            robo.BracoDireito.Cotovelo = comandosRobo.BracoDireito.Cotovelo;
            robo.BracoDireito.Pulso    = comandosRobo.BracoDireito.Pulso;

            robo.BracoEsquerdo.Cotovelo = comandosRobo.BracoEsquerdo.Cotovelo;
            robo.BracoEsquerdo.Pulso    = comandosRobo.BracoEsquerdo.Pulso;

            return(robo);
        }
        public ActionResult Post([FromBody] RoboDTO value)
        {
            try
            {
                var validarComandosRobo = new ControlaRoboService().ValidarComandosRobo(value, _robo);
                if (!string.IsNullOrEmpty(validarComandosRobo))
                {
                    return(StatusCode((int)HttpStatusCode.BadRequest, validarComandosRobo));
                }

                _robo = new ControlaRoboService().ExecutarComandosRobo(value);

                return(StatusCode((int)HttpStatusCode.NoContent));
            }
            catch (Exception e)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, !string.IsNullOrEmpty(e.Message) ? e.Message : "Internal Server Error"));
            }
        }