//[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;
            }
        }
Exemple #2
0
        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
            {
            }
        }
Exemple #4
0
        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;
            }
        }
Exemple #8
0
        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;
            }
        }
Exemple #13
0
        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;
                }
            }
        }
Exemple #14
0
        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;
            }
        }
Exemple #15
0
        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
            {
            }
        }