public async Task<Usuario> AtualizarCategoriasFB(Usuario user) { using (var client = CallAPI.RetornaClientHttp()) { var _json = this.MontaUsuarioMobile2(user); var usuarioJSON = JsonConvert.SerializeObject(_json); response = await client.PostAsJsonAsync(Constants.uriAtualizaCategoriasFB, usuarioJSON); if (response.IsSuccessStatusCode) { var json = await response.Content.ReadAsStringAsync(); var usuario = JsonConvert.DeserializeObject<Usuario>(json); var dbCategoria = new Repositorio<Categoria>(); var cats = string.Empty; foreach (var item in usuario.Categorias) { var cat = await dbCategoria.RetornarPorId(item.Id); cat.UsuarioId = usuario.Id; await dbCategoria.Atualizar(cat); cats += item.Id.ToString() + ';'; } cats = cats.TrimEnd(';'); usuario.CategoriaMobileSelection = cats; var dbFacebook = new Repositorio<FacebookInfos>(); var _token = (await dbFacebook.RetornarTodos()).FirstOrDefault(); if (_token != null) { usuario.FacebookID = _token.user_id; usuario.FacebookToken = _token.access_token; } var dbUsuario = new Repositorio<Usuario>(); await dbUsuario.Atualizar(usuario); return (await dbUsuario.RetornarTodos()).First(); } throw new ArgumentException("Erro Geral"); } }
public async Task<Usuario> CadastraNovoUsuario(Usuario NovoUsuario, bool fromFB = false) { using (var client = CallAPI.RetornaClientHttp()) { UsuarioMobile json; var usuarioJSON = string.Empty; if (fromFB) { json = this.MontaUsuarioMobile(NovoUsuario); usuarioJSON = JsonConvert.SerializeObject(json); } else { usuarioJSON = JsonConvert.SerializeObject(NovoUsuario); } response = await client.PostAsJsonAsync(Constants.uriNovoCadastro, usuarioJSON); if (response.IsSuccessStatusCode) { if (!fromFB) { var id = await response.Content.ReadAsAsync<int>(); NovoUsuario.Id = id; return await Task.FromResult(NovoUsuario); } else { var usuario = await response.Content.ReadAsAsync<Usuario>(); return await Task.FromResult(usuario); } } else if (!response.IsSuccessStatusCode && response.StatusCode == HttpStatusCode.BadRequest) return null; throw new ArgumentException("Erro Geral"); } }
private UsuarioMobile2 MontaUsuarioMobile2(Usuario user) { return new UsuarioMobile2 { Id = user.Id, Nome = user.Nome, EmpresaApp = user.EmpresaApp, CategoriaMobileSelection = user.CategoriaMobileSelection, FacebookID = user.FacebookID, Email = user.Email }; }
private UsuarioMobile MontaUsuarioMobile(Usuario user) { return new UsuarioMobile { Id = 0, Nome = user.Nome, EmpresaApp = user.EmpresaApp, CategoriaMobileSelection = user.CategoriaMobileSelection, FacebookID = user.FacebookID }; }
public async Task<bool> AtualizarUsuario(Usuario NovoUsuario) { using (var client = CallAPI.RetornaClientHttp()) { var usuarioJSON = JsonConvert.SerializeObject(NovoUsuario); response = await client.PostAsJsonAsync(Constants.uriAtualizaUsuario, usuarioJSON); if (response.IsSuccessStatusCode) return await Task.FromResult(true); return await Task.FromResult(false); } }
public async Task<bool> AtualizarCadastro(Usuario user, INavigation nav, DateTime? dataNascimento, int? sexo) { var categorias = string.Empty; if (Device.OS == TargetPlatform.iOS) { if (App.Current.Properties.ContainsKey("Categorias_iOS")) { var c = (ICollection<Categoria>)App.Current.Properties["Categorias_iOS"]; if (c != null && c.Any()) { foreach (var item in c) { categorias += item.Id.ToString() + ';'; } } } } else if (this.Categorias != null & this.Categorias.Any()) { foreach (var item in this.Categorias) { categorias += item.Id.ToString() + ';'; } } categorias = categorias.TrimEnd(new char[]{ ';' }); user.CategoriaMobileSelection = categorias; var dbFacebook = new Repositorio<FacebookInfos>(); var _token = (await dbFacebook.RetornarTodos()).FirstOrDefault(); if (_token != null) { user.FacebookID = _token.user_id; user.FacebookToken = _token.access_token; } user.EmpresaApp = 1; if (dataNascimento.HasValue) user.DataNascimento = dataNascimento; if (sexo != null && sexo > 0) { if ((int)sexo == 1) user.Sexo = EnumSexo.Masculino; else user.Sexo = EnumSexo.Feminino; } var atualizou = await service.AtualizarUsuario(user); if (atualizou) { var dbUsuario = new Repositorio<Usuario>(); await dbUsuario.Atualizar(user); Acr.UserDialogs .UserDialogs .Instance .ShowSuccess("Cadastro Atualizado com sucesso!"); return await Task.FromResult(true); } else { await Acr.UserDialogs .UserDialogs .Instance .AlertAsync("Erro na atualização, tente novamente", AppResources.TituloErro, "OK"); return await Task.FromResult(false); } }
public CadastroViewModel(ILogin service) { //this.btnCadastrar_Click = new Command(async (obj) => await this.EfetuarCadastro()); this.btnVoltar_Click = new Command(async () => await this.Voltar()); this.Usuario = new Usuario(); this.service = service; }
/* var _sexo = sexoPicker.SelectedIndex; var _nascimento = nascimentoPicker.Date; var _email = entEmail.Text; var _nome = entNome.Text; var _ddd = entDDD.Text; var _tel = entTelefone.Text; var _municipio = entMunicipio.Text; */ public async Task EfetuarCadastro(int? sexo, DateTime? nascimento, string email, string nome, string ddd, string tel, string municipio, string senha) { Acr.UserDialogs.UserDialogs.Instance.ShowLoading("Enviando..."); if (this.Usuario.Categorias == null || !this.Usuario.Categorias.Any()) { Acr.UserDialogs.UserDialogs.Instance.HideLoading(); await Acr.UserDialogs.UserDialogs.Instance.AlertAsync("Selecione ao menos uma categoria, clique no botão 'Categorias de Interesse'"); return; } else { try { var db = new Repositorio<Usuario>(); Usuario usuario = new Usuario(); if (this.Usuario.Categorias == null || !this.Usuario.Categorias.Any()) { Acr.UserDialogs.UserDialogs.Instance.HideLoading(); await Acr.UserDialogs.UserDialogs.Instance.AlertAsync("Selecione ao menos uma categoria, clique no botão 'Selecionar Categoria'"); return; } var categorias = string.Empty; foreach (var categoria in this.Usuario.Categorias) { categorias += categoria.Id.ToString() + ';'; } categorias = categorias.TrimEnd(';'); usuario.CategoriaMobileSelection = categorias; var dbFacebook = new Repositorio<FacebookInfos>(); var _token = (await dbFacebook.RetornarTodos()).FirstOrDefault(); if (_token != null) { usuario.FacebookID = _token.user_id; usuario.FacebookToken = _token.access_token; } usuario.EmpresaApp = 1; usuario.Nome = nome; usuario.DataNascimento = nascimento; usuario.DDD = ddd; usuario.Telefone = tel; usuario.Email = email; usuario.Municipio = municipio; usuario.Senha = senha; //usuario.Categorias = this.Usuario.Categorias; if (sexo == 1) usuario.Sexo = EnumSexo.Masculino; else usuario.Sexo = EnumSexo.Feminino; var cadastrou = await this.service.CadastraNovoUsuario(usuario); try { if (cadastrou != null) { this.Logar = new Action(async () => { Acr.UserDialogs.UserDialogs.Instance.HideLoading(); var autenticado = await this.service.FazerLogin(cadastrou.Email, cadastrou.Senha); if (autenticado) { var dbUsuario = new Repositorio<Usuario>(); var temUsuario = (await dbUsuario.RetornarTodos()).FirstOrDefault(); if (temUsuario != null) await dbUsuario.Inserir(cadastrou); var dbSession = new Repositorio<ControleSession>(); await dbSession.Inserir(new ControleSession { Logado = true }); if (temUsuario != null) await this.Navigation.PushModalAsync(new MainPage()); else await Acr.UserDialogs.UserDialogs.Instance.AlertAsync("Erro na gravação do usuário"); } else Acr.UserDialogs.UserDialogs.Instance.Alert("Dados incorretos!", "Erro", "OK"); }); await db.Inserir(cadastrou); foreach (var categoria in cadastrou.CategoriaMobileSelection.Split(';')) { var dbUsuarioCategoria = new Repositorio<UsuarioCategoria>(); await dbUsuarioCategoria.Inserir(new UsuarioCategoria{ CategoriaId = Convert.ToInt32(categoria) }); } Acr.UserDialogs.UserDialogs.Instance.HideLoading(); this.Logar.Invoke(); } else { Acr.UserDialogs.UserDialogs.Instance.HideLoading(); await Acr.UserDialogs .UserDialogs .Instance .AlertAsync(AppResources.MsgErroCadastroUsuario, AppResources.TituloErro, "OK"); } } catch (NullReferenceException) { Acr.UserDialogs.UserDialogs.Instance.HideLoading(); await Acr.UserDialogs .UserDialogs .Instance .AlertAsync(AppResources.MsgErroCadastroUsuarioCamposEmBranco, AppResources.TituloErro, "OK"); } } catch (Exception ex) { Insights.Report(ex); } } }