public Restaurante Create(RegistrarRestauranteComando comando)
        {
            var restaurante = new Restaurante(comando.Nome, comando.Telefone, comando.Bairro, comando.Rua, comando.Numero);

            restaurante.RegisterRestaurante();
            _repository.Create(restaurante);

            if (Commit())
            {
                return(restaurante);
            }

            return(null);
        }
        public Task <HttpResponseMessage> PostCad([FromBody] dynamic body) // Cadastrar os restaurantes
        {
            var response = new HttpResponseMessage();

            try
            {
                var restauranteExiste = _service.GetOne((string)body.nome);
                try
                {
                    if (restauranteExiste.Nome.Equals((string)body.nome))
                    {
                        response = Request.CreateResponse(HttpStatusCode.OK, "Este restaurante já esta cadastrado!");
                    }
                }
                catch
                {
                    var command = new RegistrarRestauranteComando(
                        nome: (string)body.nome,
                        telefone: (string)body.telefone,
                        bairro: (string)body.bairro,
                        rua: (string)body.rua,
                        numero: (int)body.numero
                        );

                    var restaurante = _service.Create(command);

                    return(CreateResponse(HttpStatusCode.Created, restaurante));
                }
            }
            catch
            {
                response = Request.CreateResponse(HttpStatusCode.BadRequest, "Não foi criado o restaurante!");
            }
            var tsc = new TaskCompletionSource <HttpResponseMessage>();

            tsc.SetResult(response);
            return(tsc.Task);
        }