public IActionResult Post([FromBody] NovaCategoriaModel model)
        {
            if (model == null)
            {
                return(BadRequest());
            }
            if (Context.Categorias.Any(x => x.Descricao == model.Descricao && !x.Excluido))
            {
                throw new ArgumentException($"O Descricao {model.Descricao} já esta em uso");
            }
            var categoria = new Categoria(model.Nome, model.Descricao);

            Context.Categorias.Add(categoria);
            Context.SaveChanges();

            MemoryCache.Remove("categorias");

            return(Ok(new { OK = true, Response = "Categoria salvo com sucesso" }));
        }
        public IActionResult Put(string id, [FromQuery] NovaCategoriaModel model)
        {
            if (model.Nome == null || string.IsNullOrEmpty(id))
            {
                return(BadRequest());
            }

            var categoria = ConsultaCategoria(id);

            if (categoria == null)
            {
                return(NotFound());
            }

            categoria.Atualizar(new Categoria(model.Nome, model.Descricao), Context);
            Context.Categorias.Update(categoria);
            Context.SaveChanges();

            MemoryCache.Remove("categorias");

            return(Ok(new { ok = true, Response = "Categoria atualizado com sucesso" }));
        }