public ActionResult <ResponseModel <ResponseContratoModel> > Insert(
            [FromServices] DataContext context,
            [FromBody] ContratoModel contrato)
        {
            var response = new ResponseModel <ResponseContratoModel>();

            try
            {
                if (ModelState.IsValid)
                {
                    var service = new ContratoService(new ContratoRepository(context), new PrestacaoRepository(context));

                    contrato           = service.Insert(contrato);
                    response.ObjReturn = service.PopulaResponseContrato(contrato);

                    return(Ok(response));
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                response.Success     = false;
                response.ErroMessage = ex.Message;
                response.Exception   = ex;
                return(response);
            }
        }
        public ActionResult <ResponseModel <ResponseContratoModel> > GetById(
            [FromServices] DataContext context,
            int id)
        {
            var response = new ResponseModel <ResponseContratoModel>();

            try
            {
                var service = new ContratoService(new ContratoRepository(context), new PrestacaoRepository(context));

                var contrato = service.Get(id);

                if (contrato != null)
                {
                    response.ObjReturn = service.PopulaResponseContrato(contrato);

                    return(Ok(response));
                }
                else
                {
                    return(BadRequest("O contrato não foi encontrado!"));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }