public async Task <IHttpActionResult> Autenticar(string email, string senha) { if ((await this.service.RetornarTodosUsuarios()).Any(x => x.Email == email && x.Senha == senha)) { var u = (await this.service.RetornarTodosUsuarios()).Where(x => x.Email == email && x.Senha == senha).First(); var user = new UsuarioMobile { DataNascimento = u.DataNascimento, Email = u.Email, Senha = u.Senha, DDD = u.DDD.ToString(), Municipio = u.Municipio, FacebookID = u.FacebookID, Nome = u.Nome, Sexo = u.Sexo, Telefone = u.Telefone, Id = u.Id }; var lista = new List <CategoriaMobile>(); foreach (var item in u.UsuarioCategoria) { lista.Add(new CategoriaMobile { Id = item.Categoria.Id, Nome = item.Categoria.Nome, UsuarioId = user.Id }); } user.Categorias = lista; return(Ok(user)); } return(BadRequest()); }
public async Task <IHttpActionResult> AtualizaCategoriasViaFB([FromBody] string usuarioJson) { try { var _usuario = JsonConvert.DeserializeObject <Usuario>(usuarioJson); var _usuarioBD = await this.service.RetornarUsuarioPorId(_usuario.Id); List <int> catIds = new List <int>(); if (!String.IsNullOrEmpty(_usuario.CategoriaMobileSelection)) { await this.ucRepo.DeletarCategoriasDoUsuario(_usuarioBD.Id); } foreach (var item in _usuario.CategoriaMobileSelection.Split(';')) { var uc = new UsuarioCategoria { UsuarioId = _usuarioBD.Id, CategoriaId = Convert.ToInt32(item) }; await this.ucRepo.InserirUsuarioCategoria(uc); catIds.Add(Convert.ToInt32(item)); } _usuarioBD.Email = _usuario.Email; _usuarioBD.CategoriaMobileSelection = _usuario.CategoriaMobileSelection; await this.service.AtualizarUsuario(_usuarioBD); var listaCategorias = (await this.catRepo.RetornarTodasCategorias()).Where(x => catIds.Contains(x.Id)).ToList(); var user = new UsuarioMobile { DataNascimento = _usuarioBD.DataNascimento, DDD = _usuarioBD.DDD.ToString(), Municipio = _usuarioBD.Municipio, Nome = _usuarioBD.Nome, Sexo = _usuarioBD.Sexo, Telefone = _usuarioBD.Telefone, Id = _usuarioBD.Id, Email = _usuarioBD.Email, Categorias = MapeiaCategoriaParaMobile(listaCategorias).ToList() }; return(Ok(user)); } catch (Exception ex) { return(InternalServerError(ex)); } }
public async Task <IHttpActionResult> NovoCadastro([FromBody] string usuario) { if (String.IsNullOrEmpty(usuario)) { return(InternalServerError(new ArgumentException("Json inválido"))); } try { var usuarioJson = JsonConvert.DeserializeObject <Usuario>(usuario); //if (!String.IsNullOrEmpty(usuarioJson.Email) && (await this.service.RetornarTodosUsuarios()).Any(x => x.Email == usuarioJson.Email)) // return BadRequest("Email Já existe"); if (usuarioJson.DataNascimento == null && usuarioJson.Sexo == null) { usuarioJson.DataNascimento = null; usuarioJson.Sexo = null; } var retornoInsertUsuario = await this.service.InserirRetornarUsuario(usuarioJson); var listaCategorias = new List <Categoria>(); if (!String.IsNullOrEmpty(usuarioJson.CategoriaMobileSelection)) { List <int> catIds = new List <int>(); foreach (var item in usuarioJson.CategoriaMobileSelection.Split(';')) { var uc = new UsuarioCategoria { UsuarioId = retornoInsertUsuario.Id, CategoriaId = Convert.ToInt32(item) }; await this.ucRepo.InserirUsuarioCategoria(uc); catIds.Add(Convert.ToInt32(item)); } listaCategorias = (await this.catRepo.RetornarTodasCategorias()).Where(x => catIds.Contains(x.Id)).ToList(); } if (retornoInsertUsuario != null && !String.IsNullOrEmpty(retornoInsertUsuario.Email)) { EnviarEmailConfirmacaoCadastro(usuarioJson); } UsuarioMobile user; if (listaCategorias != null && listaCategorias.Any()) { user = new UsuarioMobile { DataNascimento = retornoInsertUsuario.DataNascimento, DDD = retornoInsertUsuario.DDD.ToString(), Municipio = retornoInsertUsuario.Municipio, Nome = retornoInsertUsuario.Nome, Sexo = retornoInsertUsuario.Sexo, Telefone = retornoInsertUsuario.Telefone, Id = retornoInsertUsuario.Id, Email = retornoInsertUsuario.Email, Categorias = MapeiaCategoriaParaMobile(listaCategorias).ToList() }; } else { user = new UsuarioMobile { DataNascimento = retornoInsertUsuario.DataNascimento, DDD = retornoInsertUsuario.DDD.ToString(), Municipio = retornoInsertUsuario.Municipio, Nome = retornoInsertUsuario.Nome, Sexo = retornoInsertUsuario.Sexo, Telefone = retornoInsertUsuario.Telefone, Id = retornoInsertUsuario.Id, Email = retornoInsertUsuario.Email, }; } var json = await Task.Factory.StartNew(() => JsonConvert.SerializeObject(user.Id)); if (usuarioJson.DataNascimento != null) { return(Ok(user.Id)); } else { return(Ok(retornoInsertUsuario)); } } catch (Exception ex) { return(InternalServerError(ex)); } }