//[HttpPost] public ActionResult CadastrarUsuarioProfissional(CadastroViewModel novoUsuario) { DAOUsuarioProfissional daoUsuarioProfissional = null; UsuarioProfissional usuarioProfissional = null; try { daoUsuarioProfissional = new DAOUsuarioProfissional(); usuarioProfissional = new UsuarioProfissional(); usuarioProfissional.Nome = novoUsuario.Nome; usuarioProfissional.Sobrenome = novoUsuario.Sobrenome; usuarioProfissional.Email = novoUsuario.Email; usuarioProfissional.Senha = novoUsuario.Senha; //usuarioProfissional.DataNascimento = novoUsuario.DataNascimento; //usuarioProfissional.Sexo = novoUsuario.Sexo; //usuarioProfissional.Perfil = Usuario.TipoPerfil.UsuarioProfissional; if (daoUsuarioProfissional.IncluirUsuarioProfissional(usuarioProfissional)) { Session["Usuario"] = usuarioProfissional; } return(Json(new { info = "redirect", data = Url.Action("UsuarioProfissional", "Perfil") })); } catch (Exception ex) { throw ex; } }
public bool IncluirUsuarioProfissional(UsuarioProfissional novoUsuarioProfissional) { SqlConnection connection = null; StringBuilder query = null; SqlCommand command = null; DateTime dataHoraCadastro; try { dataHoraCadastro = DateTime.Now; query = new StringBuilder(); query.Append("BEGIN TRANSACTION "); query.Append("INSERT INTO Usuarios ( "); query.Append(" Nome, "); query.Append(" DataHoraCadastro, "); query.Append(" Email, "); query.Append(" IdTipoPerfil, "); query.Append(" Senha "); query.Append(") VALUES ( "); query.Append(" @Nome, "); query.Append(" @DataHoraCadastro, "); query.Append(" @Email, "); query.Append(" @IdTipoPerfil, "); query.Append(" @Senha); "); query.Append("SET @Id = SCOPE_IDENTITY(); "); query.Append("INSERT INTO UsuariosProfissionais ( Id ) VALUES ( @Id ) "); query.Append("COMMIT"); connection = new SqlConnection(WebConfigurationManager.ConnectionStrings["ConnectionEstudo"].ConnectionString); connection.Open(); command = connection.CreateCommand(); command.CommandType = CommandType.Text; command.CommandText = query.ToString(); command.Parameters.AddWithValue("@Nome", novoUsuarioProfissional.Nome); command.Parameters.AddWithValue("@DataHoraCadastro", dataHoraCadastro); command.Parameters.AddWithValue("@Email", novoUsuarioProfissional.Email); command.Parameters.AddWithValue("@IdTipoPerfil", (int)Usuario.TipoPerfil.UsuarioProfissional); command.Parameters.AddWithValue("@Senha", novoUsuarioProfissional.Senha); command.Parameters.Add("@Id", SqlDbType.Int).Direction = ParameterDirection.Output; if (command.ExecuteNonQuery() > 0) { novoUsuarioProfissional.Id = (int)command.Parameters["@Id"].Value; novoUsuarioProfissional.DataHoraCadastro = dataHoraCadastro; return(true); } else { return(false); } } catch (Exception ex) { throw ex; } }
public void PopularPublicacoesProjeto(UsuarioProfissional autor) { string connectionString; StringBuilder query = null; SqlConnection connection = null; SqlCommand command = null; SqlDataReader dataReader = null; PublicacaoProjeto publicacaoProjeto = null; try { autor.Publicacoes = new List <Publicacao>(); query = new StringBuilder(); query.Append("SELECT "); query.Append(" PP.Id, "); query.Append(" PP.Titulo, "); query.Append(" PP.Conteudo, "); query.Append(" PU.DataHoraPublicado "); query.Append("FROM PublicacoesProjeto PP "); query.Append(" INNER JOIN Publicacoes PU ON PP.Id = PU.Id "); query.Append(" INNER JOIN Usuarios US ON PU.IdUsuario = US.Id "); query.Append("WHERE US.Id = @Id"); connectionString = WebConfigurationManager.ConnectionStrings["ConnectionEstudo"].ConnectionString; using (connection = new SqlConnection(connectionString)) { using (command = connection.CreateCommand()) { command.CommandType = CommandType.Text; command.CommandText = query.ToString(); command.Parameters.AddWithValue("@Id", autor.Id); connection.Open(); using (dataReader = command.ExecuteReader()) { if (dataReader.HasRows) { dataReader.Read(); publicacaoProjeto = new PublicacaoProjeto(); publicacaoProjeto.Id = (int)dataReader["Id"]; publicacaoProjeto.Titulo = dataReader["Titulo"].ToString(); publicacaoProjeto.Conteudo = JsonConvert.DeserializeObject <List <ItemPublicacao> >(dataReader["Conteudo"].ToString()); publicacaoProjeto.DataHoraPublicado = (DateTime)dataReader["DataHoraPublicado"]; autor.Publicacoes.Add(publicacaoProjeto); } } } } } catch (Exception ex) { throw ex; } finally { } }
public UsuarioProfissional CompletarPerfilUsuarioProfissional(Usuario usuario) { string connectionString; StringBuilder query = null; SqlConnection connection = null; SqlCommand command = null; DateTime dataHoraRegistro; UsuarioProfissional usuarioProfissional = null; SqlDataReader dataReader = null; try { dataHoraRegistro = DateTime.Now; query = new StringBuilder(); query.Append("SELECT "); query.Append(" Resumo, "); query.Append(" PathFotoPerfil "); query.Append("FROM UsuariosProfissionais "); query.Append("WHERE Id = @Id"); connectionString = WebConfigurationManager.ConnectionStrings["ConnectionEstudo"].ConnectionString; using (connection = new SqlConnection(connectionString)) { using (command = connection.CreateCommand()) { command.CommandType = CommandType.Text; command.CommandText = query.ToString(); command.Parameters.AddWithValue("@Id", usuario.Id); connection.Open(); using (dataReader = command.ExecuteReader()) { if (dataReader.HasRows) { dataReader.Read(); usuarioProfissional = new UsuarioProfissional(usuario); usuarioProfissional.Resumo = dataReader["Resumo"].ToString(); usuarioProfissional.PathFotoPerfil = dataReader["PathFotoPerfil"].ToString(); } } } } return(usuarioProfissional); } finally { } }
public ActionResult AbrirPerfilUsuarioProfissional() { UsuarioProfissional usuario = null; try { usuario = (UsuarioProfissional)Session["Usuario"]; return(View("PerfilUsuarioProfissional", usuario)); } catch (Exception ex) { throw ex; } }
public ActionResult PerfilTemplateUsuarioProfissional() { UsuarioProfissional usuarioProfissional = null; DAOPublicacao daoPublicacao = null; try { usuarioProfissional = (UsuarioProfissional)Session["Usuario"]; daoPublicacao = new DAOPublicacao(); daoPublicacao.PopularPublicacoes(usuarioProfissional); return(View("PerfilUsuarioProfissional", usuarioProfissional)); } catch (Exception ex) { throw ex; } }
public ActionResult AbrirPerfilPublicoProfissional(int id) { UsuarioProfissional profissional = null; DAOUsuarioProfissional daoUsuarioProfissional = null; Usuario usuario = null; string masterName = null; try { usuario = (Usuario)Session["Usuario"]; if (usuario != null) { switch (usuario.Perfil) { case Usuario.TipoPerfil.UsuarioParticular: masterName = "_LayoutUsuarioParticular"; break; case Usuario.TipoPerfil.UsuarioProfissional: masterName = "_LayoutUsuarioProfissional"; break; default: masterName = "_LayoutUsuarioParticular"; break; } } else { masterName = "_LayoutVisitante"; } daoUsuarioProfissional = new DAOUsuarioProfissional(); profissional = daoUsuarioProfissional.ObterUsuarioProfissional(id); return(View("Profissional", masterName, profissional)); } catch (Exception ex) { throw ex; } }
public UsuarioProfissional IncluirComplementoUsuarioProfissional(Usuario usuario) { string connectionString; StringBuilder query = null; SqlConnection connection = null; SqlCommand command = null; DateTime dataHoraRegistro; UsuarioProfissional usuarioProfissional = null; try { dataHoraRegistro = DateTime.Now; query = new StringBuilder(); query.Append("INSERT INTO UsuariosProfissionais (Id) VALUES (@Id) "); connectionString = WebConfigurationManager.ConnectionStrings["ConnectionEstudo"].ConnectionString; using (connection = new SqlConnection(connectionString)) { using (command = connection.CreateCommand()) { command.CommandType = CommandType.Text; command.CommandText = query.ToString(); command.Parameters.AddWithValue("@Id", usuario.Id); connection.Open(); if (command.ExecuteNonQuery() > 0) { usuarioProfissional = new UsuarioProfissional(usuario); } } } return(usuarioProfissional); } finally { } }
public JsonResult ConfirmarUsuario(string senha) { Usuario usuario = (Usuario)Session["Usuario"]; if (usuario.Senha == senha) { if (usuario.Perfil == Usuario.TipoPerfil.UsuarioParticular) { DAOUsuarioParticular daoUsuarioParticular = new DAOUsuarioParticular(); UsuarioParticular usuarioParticular = daoUsuarioParticular.CompletarPerfilUsuarioParticular(usuario); if (usuarioParticular != null) { Session["Usuario"] = usuarioParticular; return(Json(new { info = "redirect", data = Url.Action("UsuarioParticular", "Perfil") })); } } else if (usuario.Perfil == Usuario.TipoPerfil.UsuarioProfissional) { DAOUsuarioProfissional daoUsuarioProfissional = new DAOUsuarioProfissional(); UsuarioProfissional usuarioProfissional = daoUsuarioProfissional.CompletarPerfilUsuarioProfissional(usuario); if (usuarioProfissional != null) { Session["Usuario"] = usuarioProfissional; return(Json(new { info = "redirect", data = Url.Action("UsuarioProfissional", "Perfil") })); } } } return(new JsonResult()); }
public JsonResult DefinirPerfil(string tipoPerfil) { Usuario usuario = (Usuario)Session["Usuario"]; if (usuario.Perfil == Usuario.TipoPerfil.PerfilIndefinido) { if (tipoPerfil == "Particular") { DAOUsuarioParticular daoUsuarioParticular = new DAOUsuarioParticular(); UsuarioParticular usuarioParticular = daoUsuarioParticular.IncluirComplementoUsuarioParticular(usuario); if (usuarioParticular != null) { Session["Usuario"] = usuarioParticular; return(Json(new { info = "redirect", data = Url.Action("UsuarioParticular", "Perfil") })); } } else if (tipoPerfil == "Profissional") { DAOUsuarioProfissional daoUsuarioProfissional = new DAOUsuarioProfissional(); UsuarioProfissional usuarioProfissional = daoUsuarioProfissional.IncluirComplementoUsuarioProfissional(usuario); if (usuarioProfissional != null) { Session["Usuario"] = usuarioProfissional; return(Json(new { info = "redirect", data = Url.Action("UsuarioProfissional", "Perfil") })); } } } return(new JsonResult()); }
public void PopularAvaliacoes(UsuarioProfissional usuarioAvaliado) { SqlConnection connection = null; SqlCommand command = null; SqlDataReader dataReader = null; StringBuilder query = null; Avaliacao avaliacao = null; Usuario avaliador = null; DAOComentarioAvaliacao daoComentarioAvaliacao = null; try { query = new StringBuilder(); query.Append("SELECT "); query.Append(" A.Id, "); query.Append(" A.IdAvaliador, "); query.Append(" A.IdAvaliado, "); query.Append(" A.Resumo, "); query.Append(" A.Texto, "); query.Append(" A.Nota, "); query.Append(" A.DataHoraAvaliacao, "); query.Append(" U.Nome AS NomeAvaliador, "); query.Append(" U.Sobrenome AS SobrenomeAvaliador "); query.Append("FROM Avaliacoes A INNER JOIN Usuarios U ON A.IdAvaliador = U.Id "); query.Append("WHERE IdAvaliado = @IdAvaliado"); connection = new SqlConnection(WebConfigurationManager.ConnectionStrings["ConnectionEstudo"].ConnectionString); connection.Open(); command = connection.CreateCommand(); command.CommandType = CommandType.Text; command.CommandText = query.ToString(); command.Parameters.AddWithValue("@IdAvaliado", usuarioAvaliado.Id); dataReader = command.ExecuteReader(); usuarioAvaliado.Avaliacoes = new List <Avaliacao>(); daoComentarioAvaliacao = new DAOComentarioAvaliacao(); if (dataReader.HasRows) { while (dataReader.Read()) { avaliacao = new Avaliacao(); avaliacao.Id = (int)dataReader["Id"]; avaliacao.Avaliado = usuarioAvaliado; avaliacao.Resumo = dataReader["Resumo"].ToString(); avaliacao.Texto = dataReader["Texto"].ToString(); avaliacao.Nota = byte.Parse(dataReader["Nota"].ToString()); avaliacao.DataHoraAvaliacao = (DateTime)dataReader["DataHoraAvaliacao"]; avaliador = new Usuario(); avaliador.Id = (int)dataReader["IdAvaliador"]; avaliador.Nome = dataReader["NomeAvaliador"].ToString(); avaliador.Sobrenome = dataReader["SobrenomeAvaliador"].ToString(); avaliacao.Avaliador = avaliador; daoComentarioAvaliacao.PopularComentarios(avaliacao); usuarioAvaliado.Avaliacoes.Add(avaliacao); } } } catch (Exception ex) { throw ex; } }
public JsonResult LogarPeloFacebook(FacebookAccountViewModel facebookLogin) { DAOUsuarioProfissional daoUsuarioProfissional = null; UsuarioProfissional usuarioProfissional = null; string urlGetOpenGraphAccesToken; HttpWebRequest accessTokenRequest = null; HttpWebResponse accessTokenResponse = null; string accessTokenResponseText = null; string accessToken = null; string urlCheckUserAccessToken; string checkAccessTokenResponseText; DAOFacebookAccount daoFacebookAccount = null; FacebookAccount facebookAccount = null; DAOUsuario daoUsuario = null; Usuario usuario = null; DAOUsuarioParticular daoUsuarioParticular = null; UsuarioParticular usuarioParticular = null; try { urlGetOpenGraphAccesToken = @"https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=1753687224853096&client_secret=6af778d15f3ce0ffa2b4e1acdcede3a9"; accessTokenRequest = (HttpWebRequest)WebRequest.Create(urlGetOpenGraphAccesToken); accessTokenResponse = (HttpWebResponse)accessTokenRequest.GetResponse(); using (var accessTokenResponseReader = new System.IO.StreamReader(accessTokenResponse.GetResponseStream(), Encoding.UTF8)) { accessTokenResponseText = accessTokenResponseReader.ReadToEnd(); } accessToken = accessTokenResponseText.Substring(13); //Buscar uma maneira melhor de fazer isto (extrair o token da string). urlCheckUserAccessToken = String.Format("https://graph.facebook.com/debug_token?input_token={0}&access_token={1}", facebookLogin.AccessToken, accessToken); HttpWebRequest checkUserAccessTokenRequest = (HttpWebRequest)WebRequest.Create(urlCheckUserAccessToken); HttpWebResponse checkUserAccessTokenResponse = (HttpWebResponse)checkUserAccessTokenRequest.GetResponse(); if (checkUserAccessTokenResponse.StatusCode == HttpStatusCode.OK) { using (var checkAccessTokenResponseReader = new System.IO.StreamReader(checkUserAccessTokenResponse.GetResponseStream(), Encoding.UTF8)) { checkAccessTokenResponseText = checkAccessTokenResponseReader.ReadToEnd(); } Newtonsoft.Json.Linq.JObject jsonCheckAccessTokenResponse = JsonConvert.DeserializeObject(checkAccessTokenResponseText) as Newtonsoft.Json.Linq.JObject; if (jsonCheckAccessTokenResponse["data"]["is_valid"].ToString() == "True") { if (jsonCheckAccessTokenResponse["data"]["app_id"].ToString() == "1753687224853096") { if (jsonCheckAccessTokenResponse["data"]["user_id"].ToString() == facebookLogin.Id) { daoFacebookAccount = new DAOFacebookAccount(); // Tenta obter um "FacebookAccount" no banco de dados, checando se é um usuário retornante. facebookAccount = daoFacebookAccount.ObterFacebookAccount(facebookLogin.Id); if (facebookAccount != null) // Se o "facebookAccount" entrar na condição de "não nulo", ou seja, foi encontrada uma instância com o mesmo "FacebookId" no banco de dados, o usuário em questão é considerado retornante, não é a primeira vez que ele loga via Facebook. { // Obtém o complemento dos dados, caso o usuário seja um particular (obtém-se na tabela "UsuariosParticulares"). if (facebookAccount.Usuario.Perfil == Usuario.TipoPerfil.UsuarioParticular) { daoUsuarioParticular = new DAOUsuarioParticular(); usuarioParticular = daoUsuarioParticular.ObterUsuarioParticular(facebookAccount.Usuario.Id); usuarioParticular.Facebook = facebookAccount; facebookAccount.Usuario = usuarioParticular; Session["Usuario"] = usuarioProfissional; return(Json(new { info = "redirect", data = Url.Action("UsuarioParticular", "Perfil") })); } // Obtém o complemento dos dados, caso o usuário seja um profissional (obtém-se na tabela "UsuáriosProfissionais"). else if (facebookAccount.Usuario.Perfil == Usuario.TipoPerfil.UsuarioProfissional) { daoUsuarioProfissional = new DAOUsuarioProfissional(); usuarioProfissional = daoUsuarioProfissional.ObterUsuarioProfissional(facebookAccount.Usuario.Id); usuarioProfissional.Facebook = facebookAccount; facebookAccount.Usuario = usuarioProfissional; Session["Usuario"] = usuarioProfissional; return(Json(new { info = "redirect", data = Url.Action("UsuarioProfissional", "Perfil") })); } } else // Neste caso, não foi encontrado nenhum registro no banco com este "FacebookId", assumindo que este usuário entrou pelo Facebook pela primeira vez. { daoUsuario = new DAOUsuario(); // Busca-se por um registro de usuário com o e-mail retornado pelo Facebook, para descobrir se esta pessoa já tinha um cadastro tradicional (entrava com e-mail e senha anteriormente). usuario = daoUsuario.ObterUsuarioPorEmail(facebookLogin.Email); if (usuario != null) { // Neste caso, apesar de o usuário ter logado pela primeira vez via Facebook, o e-mail que o Facebook retornou já consta em um perfil na tabela "Usuarios" (ele já havia logado via e-mail/senha tradicionalmente). // Este usuário deve ser informado disto e informar a senha referente ao e-mail encontrado para poder prosseguir no site. Session["Usuario"] = usuario; return(Json(new { info = "exigirSenhaEmailEncontrado" })); } else { // Neste caso, o usuário será tratado como um usuário inédito, ou seja, é a primeira vez que o mesmo logou no sistema e escolheu o fazer via Facebook, pois o seu "FaceBookId" não consta na tabela "FacebookAccounts" e seu e-mail obtido do Facebook também não consta na tabela de "Usuarios". Este usuário será incluído com o perfil "Indefinido" (temporariamente), e perguntado com qual tipo de perfil ele deseja prosseguir. usuario = new Usuario(); usuario.Nome = facebookLogin.Nome; usuario.Email = facebookLogin.Email; usuario.Facebook = new FacebookAccount(); usuario.Facebook.FacebookId = facebookLogin.Id; usuario.Facebook.Nome = facebookLogin.Nome; usuario.Facebook.Email = facebookLogin.Email; usuario.Facebook.AccessToken = facebookLogin.AccessToken; usuario.Perfil = Usuario.TipoPerfil.PerfilIndefinido; if (daoUsuario.IncluirUsuarioComFacebook(usuario)) { Session["Usuario"] = usuario; } return(Json(new { info = "solicitarDefinicaoPerfil" })); } } } } } } return(Json(new { info = "naoDefinido" })); } catch (Exception ex) { throw ex; } }
public UsuarioProfissional ObterUsuarioProfissionalPorFacebookAccount(string facebookId) { string connectionString; StringBuilder query = null; SqlConnection connection = null; SqlCommand command = null; SqlDataReader dataReader = null; DAOAvaliacao daoAvaliacao = null; DAOImagem daoImagem = null; UsuarioProfissional usuarioProfissional = null; try { query = new StringBuilder(); query.Append("SELECT "); query.Append(" U.Id, "); query.Append(" U.Nome, "); query.Append(" U.Sobrenome, "); query.Append(" U.Sexo, "); query.Append(" U.DataNascimento, "); query.Append(" U.NumeroCelular, "); query.Append(" U.DataHoraCadastro, "); query.Append(" U.Senha, "); query.Append(" U.Email, "); query.Append(" U.IdTipoPerfil, "); query.Append(" UPR.Resumo, "); query.Append(" UPR.PathFotoPerfil, "); query.Append(" UPR.IdEstado, "); query.Append(" UPR.IdMunicipio, "); query.Append(" F.Nome AS NomeFacebook, "); query.Append(" F.Email AS EmailFacebook, "); query.Append(" F.DataHoraRegistro AS DataHoraRegistroFacebookLogin, "); query.Append(" F.FacebookId "); query.Append("FROM Usuarios U "); query.Append(" INNER JOIN UsuariosProfissionais UPR ON U.Id = UPR.Id "); query.Append(" INNER JOIN FacebookAccounts F ON U.Id = F.IdUsuario "); query.Append("WHERE F.FacebookId = @FacebookId"); connectionString = WebConfigurationManager.ConnectionStrings["ConnectionEstudo"].ConnectionString; using (connection = new SqlConnection(connectionString)) { using (command = connection.CreateCommand()) { command.CommandType = CommandType.Text; command.CommandText = query.ToString(); command.Parameters.AddWithValue("@FacebookId", facebookId); connection.Open(); using (dataReader = command.ExecuteReader()) { if (dataReader.HasRows) { dataReader.Read(); usuarioProfissional = new UsuarioProfissional(); usuarioProfissional.Id = (int)dataReader["Id"]; usuarioProfissional.Nome = dataReader["Nome"].ToString(); usuarioProfissional.Sobrenome = dataReader["Sobrenome"].ToString(); usuarioProfissional.Sexo = dataReader["Sexo"].ToString(); usuarioProfissional.NumeroCelular = dataReader["NumeroCelular"].ToString(); usuarioProfissional.DataHoraCadastro = (DateTime)dataReader["DataHoraCadastro"]; usuarioProfissional.Senha = dataReader["Senha"].ToString(); usuarioProfissional.Email = dataReader["Email"].ToString(); usuarioProfissional.Perfil = (Usuario.TipoPerfil)dataReader["IdTipoPerfil"]; usuarioProfissional.Resumo = dataReader["Resumo"].ToString(); usuarioProfissional.PathFotoPerfil = dataReader["PathFotoPerfil"].ToString(); usuarioProfissional.Facebook.FacebookId = dataReader["FacebookId"].ToString(); usuarioProfissional.Facebook.Nome = dataReader["NomeFacebook"].ToString(); usuarioProfissional.Facebook.Email = dataReader["EmailFacebook"].ToString(); usuarioProfissional.Facebook.DataHoraRegistro = (DateTime)dataReader["DataHoraRegistroFacebookLogin"]; if (String.IsNullOrEmpty(dataReader["DataNascimento"].ToString())) { usuarioProfissional.DataNascimento = null; } else { usuarioProfissional.DataNascimento = (DateTime)dataReader["DataNascimento"]; } if (String.IsNullOrEmpty(dataReader["IdEstado"].ToString())) { usuarioProfissional.Estado.Id = 0; } else { usuarioProfissional.Estado.Id = (int)dataReader["IdEstado"]; } if (String.IsNullOrEmpty(dataReader["IdMunicipio"].ToString())) { usuarioProfissional.Municipio.Id = 0; } else { usuarioProfissional.Municipio.Id = (int)dataReader["IdMunicipio"]; } } } } } daoAvaliacao = new DAOAvaliacao(); daoAvaliacao.PopularAvaliacoes(usuarioProfissional); daoImagem = new DAOImagem(); daoImagem.PopularImagens(usuarioProfissional); return(usuarioProfissional); } finally { if (daoAvaliacao != null) { daoAvaliacao = null; } if (daoImagem != null) { daoImagem = null; } } }
public List <UsuarioProfissional> ObterProfissionaisPorNome(string nome) { SqlConnection connection = null; StringBuilder query = null; SqlCommand command = null; UsuarioProfissional usuarioProfissional = null; SqlDataReader dataReader = null; List <UsuarioProfissional> listaProfissionais = null; try { query = new StringBuilder(); query.Append("SELECT "); query.Append(" U.Id, "); query.Append(" U.Nome, "); query.Append(" U.Sobrenome, "); query.Append(" U.Sexo, "); query.Append(" U.DataNascimento, "); query.Append(" U.NumeroCelular, "); query.Append(" U.DataHoraCadastro, "); query.Append(" U.Senha, "); query.Append(" U.Email, "); query.Append(" U.IdTipoPerfil, "); query.Append(" UPR.Resumo, "); query.Append(" UPR.PathFotoPerfil, "); query.Append(" UPR.IdEstado, "); query.Append(" UPR.IdMunicipio "); query.Append("FROM Usuarios U INNER JOIN UsuariosProfissionais UPR ON U.Id = UPR.Id "); query.Append("WHERE U.IdTipoPerfil = @IdTipoPerfil "); query.Append(" AND U.Nome LIKE @Nome"); connection = new SqlConnection(WebConfigurationManager.ConnectionStrings["ConnectionEstudo"].ConnectionString); connection.Open(); command = connection.CreateCommand(); command.CommandType = CommandType.Text; command.CommandText = query.ToString(); command.Parameters.AddWithValue("@IdTipoPerfil", 2); command.Parameters.AddWithValue("@Nome", '%' + nome + '%'); dataReader = command.ExecuteReader(); listaProfissionais = new List <UsuarioProfissional>(); if (dataReader.HasRows) { while (dataReader.Read()) { usuarioProfissional = new UsuarioProfissional(); usuarioProfissional.Id = (int)dataReader["Id"]; usuarioProfissional.Nome = dataReader["Nome"].ToString(); usuarioProfissional.Sobrenome = dataReader["Sobrenome"].ToString(); usuarioProfissional.Sexo = dataReader["Sexo"].ToString(); usuarioProfissional.NumeroCelular = dataReader["NumeroCelular"].ToString(); usuarioProfissional.DataHoraCadastro = (DateTime)dataReader["DataHoraCadastro"]; usuarioProfissional.Email = dataReader["Email"].ToString(); usuarioProfissional.Perfil = (Usuario.TipoPerfil)dataReader["IdTipoPerfil"]; usuarioProfissional.Resumo = dataReader["Resumo"].ToString(); usuarioProfissional.PathFotoPerfil = dataReader["PathFotoPerfil"].ToString(); if (String.IsNullOrEmpty(dataReader["DataNascimento"].ToString())) { usuarioProfissional.DataNascimento = null; } else { usuarioProfissional.DataNascimento = (DateTime)dataReader["DataNascimento"]; } if (String.IsNullOrEmpty(dataReader["IdEstado"].ToString())) { usuarioProfissional.Estado.Id = 0; } else { usuarioProfissional.Estado.Id = (int)dataReader["IdEstado"]; } if (String.IsNullOrEmpty(dataReader["IdMunicipio"].ToString())) { usuarioProfissional.Municipio.Id = 0; } else { usuarioProfissional.Municipio.Id = (int)dataReader["IdMunicipio"]; } listaProfissionais.Add(usuarioProfissional); } } return(listaProfissionais); } catch (Exception ex) { throw ex; } }
public void PopularCandidaturas(Servico servicoSolicitado) { string connectionString; StringBuilder query = null; SqlConnection connection = null; SqlCommand command = null; SqlDataReader dataReader = null; Candidatura candidatura = null; UsuarioProfissional candidato = null; try { servicoSolicitado.Candidaturas = new List <Candidatura>(); query = new StringBuilder(); query.Append("SELECT "); query.Append(" C.Id, "); query.Append(" C.IdCandidato, "); query.Append(" C.Mensagem, "); query.Append(" C.DataHoraCandidatura, "); query.Append(" C.IdServicoCandidatado, "); query.Append(" U.Nome AS NomeCandidato, "); query.Append(" U.NumeroCelular AS CelularCandidato, "); query.Append(" U.DataHoraCadastro AS DataHoraCadastroCandidato, "); query.Append(" U.Email AS EmailCandidato, "); query.Append(" UPR.Resumo AS ResumoCandidato, "); query.Append(" UPR.IdEstado AS IdEstadoCandidato, "); query.Append(" UPR.IdMunicipio AS IdMunicipioCandidato "); query.Append("FROM Candidaturas C "); query.Append(" INNER JOIN Usuarios U ON C.IdCandidato = U.Id "); query.Append(" INNER JOIN UsuariosProfissionais UPR ON C.IdCandidato = UPR.Id "); query.Append("WHERE C.IdServicoCandidatado = @IdServicoCandidatado"); connectionString = WebConfigurationManager.ConnectionStrings["ConnectionEstudo"].ConnectionString; using (connection = new SqlConnection(connectionString)) { using (command = connection.CreateCommand()) { command.CommandType = CommandType.Text; command.CommandText = query.ToString(); command.Parameters.AddWithValue("@IdServicoCandidatado", servicoSolicitado.Id); connection.Open(); using (dataReader = command.ExecuteReader()) { while (dataReader.Read()) { candidatura = new Candidatura(); candidatura.Id = (int)dataReader["Id"]; candidatura.Mensagem = dataReader["Mensagem"].ToString(); candidatura.DataHoraCandidatura = (DateTime)dataReader["DataHoraCandidatura"]; candidato = new UsuarioProfissional(); candidato.Id = (int)dataReader["IdCandidato"]; candidato.Nome = dataReader["NomeCandidato"].ToString(); candidato.NumeroCelular = dataReader["CelularCandidato"].ToString(); candidato.DataHoraCadastro = (DateTime)dataReader["DataHoraCadastroCandidato"]; candidato.Email = dataReader["EmailCandidato"].ToString(); candidato.Resumo = dataReader["ResumoCandidato"].ToString(); candidatura.ServicoCandidatado = servicoSolicitado; candidatura.Candidato = candidato; servicoSolicitado.Candidaturas.Add(candidatura); } } } } } finally { if (query != null) { query = null; } if (candidatura != null) { candidatura = null; } if (candidato != null) { candidato = null; } } }
public void PopularPublicacoes(UsuarioProfissional autor) { string connectionString; StringBuilder query = null; SqlConnection connection = null; SqlCommand command = null; SqlDataReader dataReader = null; PublicacaoImagem publicacaoImagem = null; PublicacaoProjeto publicacaoProjeto = null; PublicacaoAntesDepois publicacaoAntesDepois = null; Imagem imagem = null; try { autor.Publicacoes = new List <Publicacao>(); query = new StringBuilder(); query.Append("SELECT "); query.Append(" P.Id, "); query.Append(" P.IdTipo, "); query.Append(" P.DataHoraPublicado, "); query.Append(" P.IdUsuario, "); query.Append(" PP.Titulo AS TituloProjeto, "); query.Append(" PP.Conteudo AS ConteudoPublicacaoProjeto, "); query.Append(" PAD.Titulo AS TituloAntesDepois, "); query.Append(" PAD.Texto AS TextoAntesDepois, "); query.Append(" PAD.PathImagemAntes, "); query.Append(" PAD.PathImagemDepois, "); query.Append(" PIM.IdImagem, "); query.Append(" IM.Legenda AS LegendaImagem, "); query.Append(" IM.DataHoraInclusao AS DataHoraInclusaoImagem, "); query.Append(" IM.PathImagem "); query.Append("FROM Publicacoes P "); query.Append(" LEFT JOIN PublicacoesProjeto PP ON P.Id = PP.Id "); query.Append(" LEFT JOIN PublicacoesAntesDepois PAD ON P.Id = PAD.Id "); query.Append(" LEFT JOIN PublicacoesImagem PIM ON P.Id = PIM.Id "); query.Append(" LEFT JOIN Imagens IM ON PIM.IdImagem = IM.Id "); query.Append("WHERE P.IdUsuario = @IdUsuario"); connectionString = WebConfigurationManager.ConnectionStrings["ConnectionEstudo"].ConnectionString; using (connection = new SqlConnection(connectionString)) { using (command = connection.CreateCommand()) { command.CommandType = CommandType.Text; command.CommandText = query.ToString(); command.Parameters.AddWithValue("@IdUsuario", autor.Id); connection.Open(); using (dataReader = command.ExecuteReader()) { if (dataReader.HasRows) { while (dataReader.Read()) { switch ((Publicacao.TipoPublicacao)dataReader["IdTipo"]) { case Publicacao.TipoPublicacao.PublicacaoImagem: publicacaoImagem = new PublicacaoImagem(); publicacaoImagem.Id = (int)dataReader["Id"]; publicacaoImagem.Autor = autor; publicacaoImagem.DataHoraPublicado = (DateTime)dataReader["DataHoraPublicado"]; imagem = new Imagem(); imagem.Id = (int)dataReader["IdImagem"]; imagem.Legenda = dataReader["LegendaImagem"].ToString(); imagem.PathImagem = dataReader["PathImagem"].ToString(); imagem.DataHoraInclusao = (DateTime)dataReader["DataHoraInclusaoImagem"]; publicacaoImagem.Imagem = imagem; autor.Publicacoes.Add(publicacaoImagem); break; case Publicacao.TipoPublicacao.PublicacaoProjeto: publicacaoProjeto = new PublicacaoProjeto(); publicacaoProjeto.Id = (int)dataReader["Id"]; publicacaoProjeto.Autor = autor; publicacaoProjeto.DataHoraPublicado = (DateTime)dataReader["DataHoraPublicado"]; publicacaoProjeto.Titulo = dataReader["TituloProjeto"].ToString(); publicacaoProjeto.Conteudo = JsonConvert.DeserializeObject <List <ItemPublicacao> >(dataReader["ConteudoPublicacaoProjeto"].ToString()); autor.Publicacoes.Add(publicacaoProjeto); break; case Publicacao.TipoPublicacao.PublicacaoAntesDepois: publicacaoAntesDepois = new PublicacaoAntesDepois(); publicacaoAntesDepois.Id = (int)dataReader["Id"]; publicacaoAntesDepois.Autor = autor; publicacaoAntesDepois.DataHoraPublicado = (DateTime)dataReader["DataHoraPublicado"]; publicacaoAntesDepois.Titulo = dataReader["TituloAntesDepois"].ToString(); publicacaoAntesDepois.Texto = dataReader["TextoAntesDepois"].ToString(); publicacaoAntesDepois.PathImagemAntes = dataReader["PathImagemAntes"].ToString(); publicacaoAntesDepois.PathImagemDepois = dataReader["PathImagemDepois"].ToString(); autor.Publicacoes.Add(publicacaoAntesDepois); break; } } } } } } } catch (Exception ex) { throw ex; } finally { } }