/// <summary> /// Salva a aventura e o arquivo vinculado /// </summary> /// <param name="aventura">Objeto para salvar</param> /// <param name="arquivoRota">Arquivo de rota para salvar</param> public Dominio.Aventura SalvarAventura(Dominio.Aventura aventura, HttpPostedFileBase arquivoRota) { try { if (aventura == null) { throw new ArgumentNullException("aventura"); } IFactoryDAO fabrica = FactoryFactoryDAO.GetFabrica(); IAventuraDAO aventuraDAO = fabrica.GetAventuraDAO(); if (aventura.UsuarioCadastro == null) { aventura.UsuarioCadastro = Utilitario.Sessao.UsuarioLogado; } if (arquivoRota != null) { string caminho = "~/AppData/Rota/"; string nomeArquivo = new Regex(@"[^0-9]").Replace(DateTime.Now.ToString(), "") + Path.GetFileName(arquivoRota.FileName); if (aventura.Rota == null) { aventura.Rota = new Rota() { Caminho = string.Format("Rota/{0}", nomeArquivo) } } ; this.SalvarArquivo(caminho, nomeArquivo, arquivoRota); } if (aventura.Codigo <= 0) { return(aventuraDAO.Cadastrar(aventura)); } aventuraDAO.Alterar(aventura); return(aventura); } catch (Exception e) { throw e; } }