public ActionResult Cadastrar(ModeloDeCadastroDeCamera modelo)
        {
            var retorno = this._servicoDeGestaoDeCameras.CadastrarCamera(modelo, User.Logado());

            this.AdicionarMensagemDeSucesso(retorno);
            return(RedirectToAction(nameof(Index)));
        }
        public ActionResult Cadastrar()
        {
            var modelo = new ModeloDeCadastroDeCamera();

            modelo.Cidades = ListaDeItensDeDominio.DaClasseComOpcaoPadrao <Cidade>(nameof(Cidade.Descricao), nameof(Cidade.Id),
                                                                                   () => this._servicoDeGestaoDeCidades.RetonarCidadesPorUf(7));

            return(View(modelo));
        }
        public string CadastrarCamera(ModeloDeCadastroDeCamera modelo, UsuarioLogado usuario)
        {
            try
            {
                var usuarioBanco = this._servicoExternoDePersistencia.RepositorioDeUsuarios.BuscarPorId(usuario.Id);
                var cidade       = this._servicoExternoDePersistencia.RepositorioDeCidades.PegarPorId(modelo.Cidade);

                var novaCamera = new Camera(modelo.Ponto, modelo.Nome, modelo.Latitude, modelo.Longitude, cidade, usuarioBanco);
                this._servicoExternoDePersistencia.RepositorioDeCameras.Inserir(novaCamera);
                this._servicoExternoDePersistencia.Persistir();

                return("Câmera incluída com sucesso.");
            }
            catch (Exception ex)
            {
                throw new ExcecaoDeAplicacao("Não foi possível incluir a câmera: " + ex.InnerException);
            }
        }