Skip to content

Commit

Permalink
Suporte básico a pessoas de fora do brasil
Browse files Browse the repository at this point in the history
  • Loading branch information
lucas-zimerman committed Jul 13, 2017
1 parent bc5ef4e commit e538280
Show file tree
Hide file tree
Showing 5 changed files with 93 additions and 63 deletions.
1 change: 1 addition & 0 deletions 9Contatos/Globais.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ class Globais
public static List<Contato> contatos = new List<Contato>();
public static List<Contatos_Outlook> Outlook_contatos = new List<Contatos_Outlook>();

public static bool MoroNoBrasil = ("BR" == Windows.System.UserProfile.GlobalizationPreferences.HomeGeographicRegion ? true : false);
public static string MinhaRegiao = "";
public static int OffsetCelular = -2;
public static List<int> OffsetNome = new List<int>(); // Indica os Offsets do contato
Expand Down
5 changes: 5 additions & 0 deletions 9Contatos/Interface/InputBox_PegaRegiao.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@ public sealed partial class PegaRegiao : ContentDialog
{
public PegaRegiao()
{
if(Globais.MoroNoBrasil == false)
{
Globais.MinhaRegiao = "";
Hide();
}
InitializeComponent();
}

Expand Down
123 changes: 66 additions & 57 deletions 9Contatos/Interface/MainPage.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -70,84 +70,93 @@ private async void bt_arrumar(object sender, TappedRoutedEventArgs e)
ProgressBar.Visibility = Visibility.Visible;
ListaOpcoes.SelectionMode = ListViewSelectionMode.None; //bloqueia a listview para evitar duplo cliques
bool Carregar = false;
if (Globais.MoroNoBrasil == false)
{
Globais.Formatacao_Ocultar_Pais = false;
var pergunta = new MessageDialog("Sua região não é do brasil então só iremos formatar os números com o código do brasil (+55).");
pergunta.Title = "Olá estrangeiro.";
pergunta.Commands.Add(new UICommand { Label = "Entendi", Id = 0 });
pergunta.ShowAsync();

}
//teste de crash
switch (Globais.api_usada)
{
case QualAPI.PeopleAPI_COM_Alteracao:
Carregar = await CarregaContatos.Carrega(QualAPI.PeopleAPI_COM_Alteracao);
ProgressBar.Visibility = Visibility.Collapsed;
if (Carregar == true)
{
if (Globais.contatos.Count() == 0)
{
var pergunta = new MessageDialog("Como não tem nenhum contato na agenda você não poderá editar nada.");
pergunta.Title = "Nenhum contato encontrado";
pergunta.Commands.Add(new UICommand { Label = "Entendi", Id = 0 });
pergunta.ShowAsync();
}
else
{
case QualAPI.PeopleAPI_COM_Alteracao:
Carregar = await CarregaContatos.Carrega(QualAPI.PeopleAPI_COM_Alteracao);
ProgressBar.Visibility = Visibility.Collapsed;
if (Carregar == true)
{
this.Frame.Navigate(typeof(_9Contatos.Interface.TelaContatos));
if (Globais.contatos.Count() == 0)
{
var pergunta = new MessageDialog("Como não tem nenhum contato na agenda você não poderá editar nada.");
pergunta.Title = "Nenhum contato encontrado";
pergunta.Commands.Add(new UICommand { Label = "Entendi", Id = 0 });
pergunta.ShowAsync();
}
else
{
this.Frame.Navigate(typeof(_9Contatos.Interface.TelaContatos));
}
}
}
break;
break;

case QualAPI.PeopleAPI:
case QualAPI.PeopleAPI:

Carregar = await CarregaContatos.Carrega(QualAPI.PeopleAPI);
ProgressBar.Visibility = Visibility.Collapsed;
if (Carregar == true)
{
if (Globais.contatos.Count() == 0)
Carregar = await CarregaContatos.Carrega(QualAPI.PeopleAPI);
ProgressBar.Visibility = Visibility.Collapsed;
if (Carregar == true)
{
var pergunta = new MessageDialog("Como não tem nenhum contato na agenda você não poderá editar nada.");
pergunta.Title = "Nenhum contato encontrado";
pergunta.Commands.Add(new UICommand { Label = "Entendi", Id = 0 });
pergunta.ShowAsync();
if (Globais.contatos.Count() == 0)
{
var pergunta = new MessageDialog("Como não tem nenhum contato na agenda você não poderá editar nada.");
pergunta.Title = "Nenhum contato encontrado";
pergunta.Commands.Add(new UICommand { Label = "Entendi", Id = 0 });
pergunta.ShowAsync();
}
else
{
this.Frame.Navigate(typeof(_9Contatos.Interface.TelaContatos));
}
}
else
{
this.Frame.Navigate(typeof(_9Contatos.Interface.TelaContatos));
ProgressBar.Visibility = Visibility.Collapsed;
}
}
else
{
ProgressBar.Visibility = Visibility.Collapsed;
}
break;
break;

case QualAPI.OutlookAPI:
case QualAPI.OutlookAPI:

if (Internet.CheckInternetConectivity() == true)
{
try
if (Internet.CheckInternetConectivity() == true)
{
Carregar = await CarregaContatos.Carrega(QualAPI.OutlookAPI);
if (Carregar == true)
try
{
await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => this.Frame.Navigate(typeof(_9Contatos.Interface.TelaContatos)));
// Frame.Navigate(typeof(_9Contatos.Interface.TelaContatos));
Carregar = await CarregaContatos.Carrega(QualAPI.OutlookAPI);
if (Carregar == true)
{
await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => this.Frame.Navigate(typeof(_9Contatos.Interface.TelaContatos)));
// Frame.Navigate(typeof(_9Contatos.Interface.TelaContatos));
}
else
{
ProgressBar.Visibility = Visibility.Collapsed;
}
}
else
catch (Microsoft.Identity.Client.MsalServiceException)
{
ProgressBar.Visibility = Visibility.Collapsed;
//faz nada já que não fez login....
}
}
catch (Microsoft.Identity.Client.MsalServiceException)
else
{
//faz nada já que não fez login....
ProgressBar.Visibility = Visibility.Collapsed;
var pergunta = new MessageDialog("Para editar os contatos de uma conta da Microsoft você precisa ter conexão com a internet.");
pergunta.Title = "Sem Conexão com a internet";
pergunta.Commands.Add(new UICommand { Label = "Ok", Id = 0 });
pergunta.ShowAsync();
}
}
else
{
ProgressBar.Visibility = Visibility.Collapsed;
var pergunta = new MessageDialog("Para editar os contatos de uma conta da Microsoft você precisa ter conexão com a internet.");
pergunta.Title = "Sem Conexão com a internet";
pergunta.Commands.Add(new UICommand { Label = "Ok", Id = 0 });
pergunta.ShowAsync();
}
break;
}
break;
}
//libera listview
ListaOpcoes.SelectionMode = ListViewSelectionMode.Single;
Globais.MainPage_Bloqueia_Listview = false;
Expand Down
21 changes: 15 additions & 6 deletions 9Contatos/Interface/OptionBox_FormatacaoContato.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,26 @@ public FormatacaoContato()
checkBox_Original.IsChecked = Globais.Formatacao_Original;
checkBox_Traco.IsChecked = Globais.Formatacao_Traco;
checkBox_LongDist.IsChecked = Globais.Formatacao_Distancia;
if(Globais.Formatacao_Ocultar_Pais == false)
if (Globais.MoroNoBrasil == false)
{
Nacional_Sem_DDD.IsEnabled = false;
Nacional.IsEnabled = false;
Internacional.IsChecked = true;
}
else if(Globais.Formatacao_Ocultar_Meu_DDD == true)
{
Nacional_Sem_DDD.IsChecked = true;
}
else
{
Nacional.IsChecked = true;
if (Globais.Formatacao_Ocultar_Pais == false)
{
Internacional.IsChecked = true;
}
else if (Globais.Formatacao_Ocultar_Meu_DDD == true)
{
Nacional_Sem_DDD.IsChecked = true;
}
else
{
Nacional.IsChecked = true;
}
}
}

Expand Down
6 changes: 6 additions & 0 deletions 9Contatos/Telefone/Telefone.cs
Original file line number Diff line number Diff line change
Expand Up @@ -723,6 +723,12 @@ private bool EhInternacional(ref string numero)
saida = true;
}
}
else if(globais.Globais.MoroNoBrasil == false)
{
//se não tem o digito que permite indentificar o país do número E o usuário não é do BRASIL, ignore esse número
//pois ele poderá não ser um número local do brasil.
saida = true;
}
}
return saida;
}
Expand Down

0 comments on commit e538280

Please sign in to comment.