Fórum Erro de referência #1622
04/01/2009
0
Agora fui fazendo do zero pra ver se passava normal. Acho que está com algumas diferenças devido a eu usar o vs2008 e ele ter sido feito no 2005. Estava com o erro no ConfigurationManager, mas adicionei a referencia e resolveu. Os outros itens foram também de referencias e passaram. Agora ficou só um que não consegui achar a solução.
Em AddMovie está dando o seguinte erro:
Error 1 The type or namespace name saveMovie does not exist in the namespace Movie (are you missing an assembly reference?) D:\SolutionMovie\Movie\AddMovie.aspx.cs 71 30 Movie
Mensagem de Erro do Compilador: CS0234: Nome do espaço para nome ou tipo saveMovie não existe no espaço para nome Movie. Precisa de uma referência de módulo (assembly)?
Nesse trecho
Linha 69: movie.Summary = txtSummary.Text; Linha 70: Linha 71: structReturn = Movie.saveMovie(movie); Linha 72: Linha 73: lblError.Visible = true;
Na verdade ele não está conseguindo enxergar o Movie.saveMovie(movie) criado na camada framework. Eu já fiz as referencias que sabia mas não deu. O código está igual ao seu mesmo, fui criando as telas, copiando o código inteiro e salvando.
O VS2008 tem algumas diferenças pra funcionar? Quando eu abri o seu projeto ele fez tipo uma conversão, não entendi direito.
agradeço desde já a ajuda que já fundi a cuca. até+, Robson
Robson Ramos
Curtir tópico
+ 0Posts
05/01/2009
Luiz Maia
Gostei + 0
06/01/2009
Luiz Maia
Gostei + 0
07/01/2009
Luiz Maia
Gostei + 0
09/01/2009
Robson Ramos
Em entitity somei as referencias de Framework, movie e persistence, Em Framework somei as referencias de Entity, movie e persistence, .. Fiz as combinações possíveis. Estou colocando o código da Framework e da addmovie Aproveito para perguntar se existe algum outro exemplo que tenha essas características: CAMADAS C# STORED PROCEDURES, TRY CATCH UI COM PÁGINA WEB CRIADO NO VISUAL STUDIO 2008 Já procurei na internet e não achei em lugar nenhum, Se tiver um link ou algum exemplo agradeço que ai faço a comparação agradeço desde já, CÓDIGO MOVIE.CS em FRAMEWORK using System; using System.Collections.Generic; using System.Text; using Entity; namespace Framework { public class Movie { static Structs.StructFill objStructFill; static Structs.StructReturn objStructReturn; static Persistence.DBAccess dbAccess = new Persistence.DBAccess(); #region saveMovie public static Structs.StructReturn saveMovie(MovieEntity movieEntity) { if (movieEntity.Id != 0) { return updateMovie(movieEntity); } else { return inserMovie(movieEntity); } } #endregion saveMovie #region inserMovie public static Structs.StructReturn inserMovie(MovieEntity movieEntity) { try { objStructReturn = new Framework.Structs.StructReturn(); dbAccess.CommandText = "SP_INSERT_MOVIE"; dbAccess.AddParameter("@ID_GENRE", movieEntity.IdGenre); dbAccess.AddParameter("@NAME", movieEntity.Name); dbAccess.AddParameter("@RELEASE", movieEntity.Release); dbAccess.AddParameter("@SUMMARY", movieEntity.Summary); dbAccess.ExecuteNonQuery(); objStructReturn.Success = true; } catch (Exception erro) { objStructReturn.Success = false; objStructReturn.MessageReturn = erro.Message; } return objStructReturn; } #endregion inserMovie #region updateMovie public static Structs.StructReturn updateMovie(MovieEntity movieEntity) { try { objStructReturn = new Framework.Structs.StructReturn(); dbAccess.CommandText = "SP_UPDATE_MOVIE"; dbAccess.AddParameter("@ID", movieEntity.Id); dbAccess.AddParameter("@ID_GENRE", movieEntity.IdGenre); dbAccess.AddParameter("@NAME", movieEntity.Name); dbAccess.AddParameter("@SUMMARY", movieEntity.Summary); dbAccess.ExecuteNonQuery(); objStructReturn.Success = true; } catch (Exception erro) { objStructReturn.Success = false; objStructReturn.MessageReturn = erro.Message; } return objStructReturn; } #endregion updateMovie #region selectMovies public static Structs.StructFill selectMovies(MovieEntity movieEntity) { try { objStructFill = new Framework.Structs.StructFill(); dbAccess.CommandText = "SP_SELECT_MOVIES"; dbAccess.AddParameter("@ID", movieEntity.Id); dbAccess.AddParameter("@ID_GENRE", movieEntity.IdGenre); dbAccess.AddParameter("@NAME", movieEntity.Name); dbAccess.AddParameter("@SUMMARY", movieEntity.Summary); objStructFill.DataSetReturn = dbAccess.ExecuteDataSet(); objStructFill.Success = true; } catch (Exception erro) { objStructFill.Success = false; objStructFill.MessageReturn = erro.Message; } return objStructFill; } #endregion selectMovies #region deleteMovie /// <summary> /// Method to delete a movie in database /// </summary> /// <param name="idMovie"></param> public static Structs.StructReturn deleteMovie(int idMovie) { try { objStructReturn = new Framework.Structs.StructReturn(); objStructReturn = new Framework.Structs.StructReturn(); //Set a procedure to select movies dbAccess.CommandText = "SP_DELETE_MOVIE"; //Adding parameters to delete movie in database dbAccess.AddParameter("@ID", idMovie); //Execute procedure dbAccess.ExecuteNonQuery(); objStructReturn.Success = true; } catch (Exception error) { objStructReturn.Success = false; objStructReturn.MessageReturn = error.Message; } return objStructReturn; } #endregion deleteMovie } } CÓDIGO ADDMOVIE.CS using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using Framework.Structs; using Framework; <----- TEORICAMENTE RESOLVERIA ??? using Entity; public partial class AddMovie : System.Web.UI.Page { MovieEntity movie; GenreEntity genre; StructFill structFill; StructReturn structReturn; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { databindGenres(); fillGridMovies(); } } public void databindGenres() { genre = new GenreEntity(); structFill = new StructFill(); structFill = Genre.selectGenre(genre); if (structFill.Success) { ddlGenre.DataSource = structFill.DataSetReturn.Tables[0]; ddlGenre.DataTextField = "NAME"; ddlGenre.DataValueField = "ID"; ddlGenre.DataBind(); ddlGenre.Items.Insert(0, new ListItem("Select", "")); } else { lblError.Text = structFill.MessageReturn; } structFill = null; } protected void btnSave_Click(object sender, EventArgs e) { structReturn = new StructReturn(); movie = new MovieEntity(); if (hdnMovie.Value != "0") { movie.Id = int.Parse(hdnMovie.Value); } movie.IdGenre = int.Parse(ddlGenre.SelectedValue); movie.Name = txtName.Text; movie.Release = DateTime.Parse(txtRelease.Text); movie.Summary = txtSummary.Text; structReturn = Movie.saveMovie(movie); lblError.Visible = true; if (structReturn.Success) { lblError.Text = "Movie Added With Sucess."; fillGridMovies(); } else { lblError.Text = structReturn.MessageReturn; } structReturn = null; movie = null; } public void fillGridMovies() { structFill = new StructFill(); movie = new MovieEntity(); structFill = Movie.selectMovies(movie); gridMovies.DataSource = structFill.DataSetReturn; gridMovies.DataBind(); } protected void gridMovies_RowCommand(object sender, GridViewCommandEventArgs e) { int idMovie = int.Parse(gridMovies.DataKeys[int.Parse(e.CommandArgument.ToString())][0].ToString()); int idGenre = int.Parse(gridMovies.DataKeys[int.Parse(e.CommandArgument.ToString())][1].ToString()); //Set up value in hidden to control class hdnMovie.Value = idMovie.ToString(); if (e.CommandName == "Edit") { ddlGenre.SelectedValue = idGenre.ToString(); txtName.Text = gridMovies.Rows[int.Parse(e.CommandArgument.ToString())].Cells[2].Text; txtRelease.Text = gridMovies.Rows[int.Parse(e.CommandArgument.ToString())].Cells[3].Text; txtSummary.Text = gridMovies.Rows[int.Parse(e.CommandArgument.ToString())].Cells[4].Text; } else if (e.CommandName == "Delete") { structReturn = new StructReturn(); structReturn = Movie.deleteMovie(idMovie); lblError.Visible = true; if (structReturn.Success) { lblError.Text = "Movie Deleted Success."; fillGridMovies(); } else { lblError.Text = structReturn.MessageReturn; } } } protected void gridMovies_RowEditing(object sender, GridViewEditEventArgs e) { } protected void gridMovies_RowCreated(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { ImageButton btnDelete = (ImageButton)e.Row.Cells[5].Controls[0]; btnDelete.OnClientClick = "if (confirm(Delete this register ?) == false) return false;"; } } protected void gridMovies_RowDeleting(object sender, GridViewDeleteEventArgs e) { } }
Gostei + 0
09/01/2009
Luiz Maia
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DataAcessLayerComponent;
using Entity = Data.Entities; namespace BusinessLogicLayerComponent
{
public class Estado
{
public static void salvar(string siglaEstado, string nomeEstado, string pais)
{
Entity.Estado dbEstado = new Entity.Estado(); //Se caso for passado alguma sigla, será atualizada o ESTADO
dbEstado.Sigla = siglaEstado;
dbEstado.Nome = nomeEstado;
dbEstado.IdPais = pais; DataAcessLayerComponent.Estado.Salvar(dbEstado);
} public static List<Entity.Estado> pesquisar(string siglaEstado, string nomeEstado, string pais)
{
return DataAcessLayerComponent.Estado.Pesquisar(siglaEstado, nomeEstado, pais);
} public static void excluir(string siglaESTADO)
{
DataAcessLayerComponent.Estado.Excluir(siglaESTADO);
} public static string RetornaCodEstadoPorMunicipio(int codMunicipio)
{
return DataAcessLayerComponent.Estado.RetornaCodEstadoPorMunicipio(codMunicipio);
}
}
}
CAMADA DE PERSISTENCIA: using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Entity = Data.Entities; namespace DataAcessLayerComponent
{
public class Estado
{
/// <summary>
/// Este método pode fazer alteração ou criação de um novo estado
/// </summary>
/// <param name="dbEstado"></param>
public static void Salvar(Entity.Estado dbEstado)
{
Entity.DataClassesDataContext dataClass = new Entity.DataClassesDataContext(); //Verifica se é para atualização da organização ou nova estado
if (dbEstado.Sigla != "")
{
Excluir(dbEstado.Sigla); dataClass.Estados.InsertOnSubmit(dbEstado);
dataClass.SubmitChanges();
}
} public static void Excluir(string siglaEstado)
{
Entity.DataClassesDataContext dataClass = new Entity.DataClassesDataContext(); var estado = dataClass.Estados.SingleOrDefault(est => est.Sigla == siglaEstado); if (estado != null)
{
dataClass.Estados.DeleteOnSubmit(estado);
dataClass.SubmitChanges();
}
} public static List<Entity.Estado> Pesquisar(string siglaEstado, string nomeEstado, string pais)
{
Entity.DataClassesDataContext dataClass = new Entity.DataClassesDataContext(); var est = dataClass.SP_PESQUISAR_ESTADO(siglaEstado, nomeEstado, pais);
List<Entity.Estado> estado = est.ToList(); return estado;
} public static string RetornaCodEstadoPorMunicipio(int codMunicipio)
{
Entity.DataClassesDataContext dataClass = new Entity.DataClassesDataContext(); var obj = from m in dataClass.Municipios
where m.MUN_SEQ.Equals(codMunicipio)
select new { m.EST_DSC_SIGLA }; return obj.FirstOrDefault().EST_DSC_SIGLA.ToString();
}
}
}
CHAMADA NO .CS DO WEBFORM: using Entity = Data.Entities; public void pesquisar(string siglaEstado)
{
Entity.Estado data = new Entity.Estado(); data = BusinessLogicLayerComponent.Estado.pesquisar(siglaEstado, "", "").First(); txtSiglaEstado.Text = data.Sigla.ToString();
txtEstado.Text = data.Nome;
ddlPais.SelectedValue = data.IdPais; txtSiglaEstado.Enabled = false;
} E falta criar sua classe de entidades ESTADO no arquivo dbml e suas procedures. Aguardo seu retorno Robson. Abraços Luiz Maia
Gostei + 0
09/01/2009
Luiz Maia
Gostei + 0
12/01/2009
Luiz Maia
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)