public long Adicionar(MarcoApp instancia)
        {
            throw new NotImplementedException();
            //var modelInstancia = new Marco();

            //modelInstancia.MarcoId= instancia.Id;

            //var result = MarcoServico.Adicionar(modelInstancia));

            //return result;
        }
        public async Task <IHttpActionResult> Put([FromUri] long id, [FromBody] MarcoApp marcoApp)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    marcoApp.Id = id;

                    var resultado = await MarcoManipulador.AlterarAsync(marcoApp);

                    if (resultado == true)
                    {
                        var resultadoModel = await MarcoManipulador.PegarAsync(marcoApp.Id);

                        return(Ok(resultadoModel));
                    }
                }
                catch (AppException ex)
                {
                    ex.ValidationResults.ToList().ForEach(e =>
                    {
                        var localName = string.Empty;

                        if (e.MemberNames.Any())
                        {
                            var memberName = e.MemberNames.First();
                            switch (memberName)
                            {
                            case "MarcoId":
                                localName = "Id";
                                break;

                            default:
                                break;
                            }
                        }
                        if (string.IsNullOrEmpty(localName))
                        {
                            ModelState.AddModelError(string.Empty, e.ErrorMessage);
                        }
                        else
                        {
                            ModelState.AddModelError(localName, e.ErrorMessage);
                        }
                    });
                    ModelState.AddModelError(string.Empty, "Problemas ao Alterar!");
                }
            }
            return(InternalServerError());
        }
        public async Task <IHttpActionResult> Post([FromBody] MarcoApp MarcoApp)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var resultado = await MarcoManipulador.AdicionarAsync(MarcoApp);

                    if (resultado > 0)
                    {
                        var resultadoModel = await MarcoManipulador.PegarAsync(resultado);

                        return(CreatedAtRoute("DefaultApi", new { action = "Get", id = resultado }, resultadoModel));
                    }
                }
                catch (AppException ex)
                {
                    ex.ValidationResults.ToList().ForEach(e =>
                    {
                        var localName = string.Empty;

                        if (e.MemberNames.Any())
                        {
                            var memberName = e.MemberNames.First();
                            switch (memberName)
                            {
                            case "MarcoId":
                                localName = "Id";
                                break;

                            default:
                                break;
                            }
                        }
                        if (string.IsNullOrEmpty(localName))
                        {
                            ModelState.AddModelError(string.Empty, e.ErrorMessage);
                        }
                        else
                        {
                            ModelState.AddModelError(localName, e.ErrorMessage);
                        }
                    });
                    ModelState.AddModelError(string.Empty, "Problemas ao Alterar!");
                }
            }
            return(InternalServerError());
        }
 public IEnumerable <ValidationResult> Validar(MarcoApp instancia)
 {
     throw new NotImplementedException();
 }
 public bool Alterar(MarcoApp instancia)
 {
     throw new NotImplementedException();
 }
 public Task <long> AdicionarAsync(MarcoApp instancia)
 {
     throw new NotImplementedException();
 }
 public Task <bool> AlterarAsync(MarcoApp instancia)
 {
     throw new NotImplementedException();
 }