예제 #1
0
        public ReturnRobo PostRobo([FromBody] RoboApp robo)
        {
            ReturnRobo send = new ReturnRobo();

            send.RoboReturn = robo;
            //Classe auxiliar para enviar os parametros para verificações
            RoboAux roboAux = new RoboAux();

            //Variaveis de Retorno
            send.StatusReturn  = true;
            send.MensageReturn = "Robo ok !!!";

            if (robo.Head == null && robo.LeftElbow == null && robo.LeftPulse == null && robo.RightElbow == null && robo.RightPulse == null)
            {
                send.StatusReturn  = false;
                send.MensageReturn = "Não encontramos o Robo, Envie algo primeiro!!!";
                send.RoboReturn    = _robo.GetRobo();
            }
            else
            {
                //verifica a cabeca
                var cabeca = HeadVerification(robo.Head);
                send.StatusReturn  = cabeca.Item1;
                send.MensageReturn = cabeca.Item2;
                if (send.StatusReturn == false)
                {
                    return(send);
                }


                //verifica cotovelo e pulso esquerdo
                roboAux.Elbow = robo.LeftElbow;
                roboAux.Pulse = robo.LeftPulse;
                var left = PulseVerification(roboAux);
                send.StatusReturn  = left.Item1;
                send.MensageReturn = left.Item2;
                if (send.StatusReturn == false)
                {
                    return(send);
                }

                //verifica cotovelo e pulso direito
                roboAux.Elbow = robo.RightElbow;
                roboAux.Pulse = robo.RightPulse;
                var rigth = PulseVerification(roboAux);
                send.StatusReturn  = rigth.Item1;
                send.MensageReturn = rigth.Item2;
                if (send.StatusReturn == false)
                {
                    return(send);
                }
            }
            return(send);
        }
예제 #2
0
        public (bool, string) PulseVerification(RoboAux robo)
        {
            var elbow = robo.Elbow;
            var pulse = robo.Pulse;

            //declaração dos retornos
            bool   verifi  = true;
            string mensage = "Robo ok !!!";

            //verifica se o robo tem cotovelo e pulso
            if (elbow != null || pulse != null)
            {
                if (elbow.Contraction < 0 || elbow.Contraction > 3)
                {
                    verifi  = false;
                    mensage = "Ops, Cotovelo Quebrou !!!";
                }
                else if (pulse.Rotation != 0 && elbow.Contraction != 3)
                {
                    verifi  = false;
                    mensage = "Ops, Robo só pode movimentar o Pulso se Cotovelo estiver Fortemente Contraido !!!";
                }
                else if (pulse.Rotation < -90 || pulse.Rotation > 180)
                {
                    verifi  = false;
                    mensage = "Ops, Pulso se moveu muito !!!";
                }
            }
            else
            {
                verifi  = false;
                mensage = "Ops, Robo sem Cotovelo ou Pulso !!!";
            }

            return(verifi, mensage);
        }