0
I’m getting the following error:
System.Missingmethodexception: No constructor without parameters has been defined for this object.
My Controller:
using BecomexTeste.Models;
using BecomexTeste.Models.BracoViewModel;
using BecomexTeste.Service;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Globalization;
using System.Linq;
using System.Web;
 using System.Web.Mvc;
 namespace BecomexTeste.Controllers
{
[Route("Braco")]
public class BracoController : Controller
{
    private readonly IBracoService service;
    public BracoController(IBracoService service)
    {
        this.service = service;
    }
    [HttpGet]
    public JsonResult GetBraco()
    {
        var braco = service.BuscaBraco();
        return new JsonResult { Data = braco, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
    }
    [HttpPost]
    public ActionResult Update(UpdateBracoViewModel model)
    {
        if (ModelState.IsValid)
        {
            var braco = new Braco
            {
                CotoveloDireito  = model.CotoveloDireito,
                PulsoDireito     = model.PulsoDireito,
                CotoveloEsquerdo = model.CotoveloEsquerdo,
                PulsoEsquerdo    = model.PulsoEsquerdo,
            };
            service.UpdateBraco(braco);
        }
        return View("~/Views/Home/Index.cshtml", model);
    }
}
JS that should fetch data View:
@section scripts{
<script>
    $(document).ready(function () {
        var braco  = [];
        var cabeca = [];
        BuscaDadosCabecaBraco();
        function BuscaDadosCabecaBraco() {
            braco  = [];
            cabeca = [];
            $.ajax({
                type: "GET",
                url: '@Url.Action("GetBraco", "Braco")',
                success: function (data) {
                    $.each(data, function (i, v) {
                        braco.push({
                            CotoveloEsquerdo: v.CotoveloEsquerdo,
                            PulsoEsquerdo:    v.PulsoEsquerdo,
                            CotoveloDireito:  v.CotoveloDireito,
                            PulsoDireito:     v.PulsoDireito
                        });
                    });
                },
                error: function (error) {
                    alert('Não foi possivel carregar dados do braço');
                }
            });
            $.ajax({
                type: "GET",
                url: '@Url.Action("GetCabeca", "Cabeca")',
                success: function (data) {
                    $.each(data, function (i, v) {
                        cabeca.push({
                            Rotacao:    v.CotoveloEsquerdo,
                            Inclinacao: v.PulsoDireito
                        });
                    });
                },
                error: function (error) {
                    alert('Não foi possivel carregar dados da cabeça');
                }
            });
        }
        $('.geraMovimentoCabeca').on('click', function (event) {
            var button = $(event.relatedTarget);
            var cabeca = button.data('cabeca');
            if (cabeca == "inclinacao") {
                var inclinacao = button.data('inclinacao');
            } else {
                var rotacao = button.data('rotacao');
            }
            if (typeof inclinacao !== 'undefined') {
                cabeca.Inclinacao = inclinacao;
            } else {
                cabeca.Rotacao = rotacao;
            }
            $.ajax({
                type: "POST",
                url: "/Cabeca/Update",
                data: {
                    "Rotacao":    cabeca.Rotacao,
                    "Inclinacao": cabeca.Inclinacao
                },
                success: function (data) {
                    alert("Enviou");
                },
                error: function (error) {
                    alert('Não foi possivel enviar dados da cabeça');
                }
            });
        });
    });
</script>
}
Interface Service:
public interface IBracoService
{
    void UpdateBraco(Braco braco);
    Braco BuscaBraco();
}
And the service itself:
public class BracoService : IBracoService
{
    private Banco banco;
    public BracoService(Banco _banco)
    {
        this.banco = _banco;
    }
    public void UpdateBraco(Braco Braco)
    {
        Braco BracoBanco = BuscaBraco();
        BracoBanco.CotoveloDireito  = Braco.CotoveloDireito;
        BracoBanco.PulsoDireito     = Braco.PulsoDireito;
        BracoBanco.CotoveloEsquerdo = Braco.CotoveloEsquerdo;
        BracoBanco.PulsoEsquerdo    = Braco.PulsoEsquerdo;
        this.banco.SaveChanges();
    }
    public Braco BuscaBraco()
    {
        Braco BracoEncontrada = this.banco.Bracos.FirstOrDefault();
        return BracoEncontrada;
    }
}
is . Net Core? you are using Dependency Injection?
– Barbetta
is web Api, I’m trying to use dependency injection yes
– Matheus
This error is because failed to start the
IBracoServicein your Injection framework– Barbetta
Could you tell me how do I inject dependency ? and if it would be in the archive
WebApiConfig– Matheus
This article may help, https://medium.com/balta-io/caso-de-uso-inje%C3%A7%C3%A3o-de-depend%C3%Aancia-com-simple-injector-no-mvc-e-web-api-51ce647efd1a
– Barbetta
I couldn’t implement
– Matheus
Ideal is you open a question with doubts and where you had the problem.
– Barbetta