Skip to content

Commit

Permalink
-Bloqueada as ações do MainPage enquanto não terminar de processar os…
Browse files Browse the repository at this point in the history
… contatos"
  • Loading branch information
lucas-zimerman committed Jul 11, 2017
1 parent ab878fc commit a4710d7
Show file tree
Hide file tree
Showing 5 changed files with 102 additions and 79 deletions.
1 change: 0 additions & 1 deletion 9Contatos/API/Outlook/OutlookAPI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ public static async Task<string> GetTokenForUserAsync()
/*
* Se já temos o Token então não precisamos checa-lo.
*/
// return TokenForUser;
}
else
{
Expand Down
2 changes: 2 additions & 0 deletions 9Contatos/Globais.cs
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@ class Globais
public static bool Contatos_Carregados = false;
public static bool Contatos_Bloqueados_Pelo_User = false;

public static bool MainPage_Bloqueia_Listview = false;




Expand Down
2 changes: 1 addition & 1 deletion 9Contatos/Interface/MainPage.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
</Grid>
<Grid Padding="0" Grid.Row="1" FlyoutBase.AttachedFlyout="{StaticResource MaisOpcoes_Flyout}">

<ListView ScrollViewer.VerticalScrollBarVisibility="Auto" VerticalContentAlignment="Stretch" VerticalAlignment="Bottom">
<ListView x:Name="ListaOpcoes" ScrollViewer.VerticalScrollBarVisibility="Auto" VerticalContentAlignment="Stretch" VerticalAlignment="Bottom">
<ListViewItem x:Name="Arrumar_Contatos" Background="#FF3C3C3C" Height="70" Tapped="bt_arrumar">
<StackPanel Orientation="Horizontal">
<SymbolIcon x:Name="List_Arrumar_Contatos_Icn" Symbol="Setting" Foreground="{ThemeResource SystemControlHighlightAccentBrush}" >
Expand Down
175 changes: 98 additions & 77 deletions 9Contatos/Interface/MainPage.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
using _9Contatos.API.PeopleAPP;
using System.Net.NetworkInformation;
using _9Contatos.InternetTools;
using Windows.UI.Core;

// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409

Expand Down Expand Up @@ -45,122 +46,142 @@ public MainPage()

private async void bt_Sobre_Click(object sender, TappedRoutedEventArgs e)
{
this.Frame.Navigate(typeof(_9Contatos.Interface.Sobre));

if (Globais.MainPage_Bloqueia_Listview == false)
{
this.Frame.Navigate(typeof(_9Contatos.Interface.Sobre));
}
}

private async void bt_donate(object sender, TappedRoutedEventArgs e)
{
OptionBox_Donate dialog = new OptionBox_Donate();
await dialog.ShowAsync();
if (Globais.MainPage_Bloqueia_Listview == false)
{
OptionBox_Donate dialog = new OptionBox_Donate();
await dialog.ShowAsync();
}
}

private async void bt_arrumar(object sender, TappedRoutedEventArgs e)
{
ProgressBar.Visibility = Visibility.Visible;
bool Carregar = false;
//teste de crash
switch (Globais.api_usada)

if (Globais.MainPage_Bloqueia_Listview == false)
{
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
Globais.MainPage_Bloqueia_Listview = true;
ProgressBar.Visibility = Visibility.Visible;
ListaOpcoes.SelectionMode = ListViewSelectionMode.None; //bloqueia a listview para evitar duplo cliques
bool Carregar = false;
//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)
{
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
{
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;
}
}

private async void bt_classificar(object sender, TappedRoutedEventArgs e)
{
await Windows.System.Launcher.LaunchUriAsync(new Uri(string.Format("ms-windows-store:REVIEW?PFN={0}", Windows.ApplicationModel.Package.Current.Id.FamilyName)));

if (Globais.MainPage_Bloqueia_Listview == false)
{
await Windows.System.Launcher.LaunchUriAsync(new Uri(string.Format("ms-windows-store:REVIEW?PFN={0}", Windows.ApplicationModel.Package.Current.Id.FamilyName)));
}
}

private void bt_mais(object sender, TappedRoutedEventArgs e)
{
switch (Globais.api_usada)
if (Globais.MainPage_Bloqueia_Listview == false)
{
case QualAPI.PeopleAPI:
Arrumar_Sem_Modificacao.IsChecked = true;
break;
case QualAPI.PeopleAPI_COM_Alteracao:
Arrumar_Com_Modificacao.IsChecked = true;
break;
case QualAPI.OutlookAPI:
Arrumar_Email.IsChecked = true;
break;
switch (Globais.api_usada)
{
case QualAPI.PeopleAPI:
Arrumar_Sem_Modificacao.IsChecked = true;
break;
case QualAPI.PeopleAPI_COM_Alteracao:
Arrumar_Com_Modificacao.IsChecked = true;
break;
case QualAPI.OutlookAPI:
Arrumar_Email.IsChecked = true;
break;
}
FlyoutBase.ShowAttachedFlyout((FrameworkElement)sender);
//MaisOpcoes_Flyout
// this.Frame.Navigate(typeof(_9Contatos.Interface.OpcoesAvancadas), xx);
}
FlyoutBase.ShowAttachedFlyout((FrameworkElement)sender);
//MaisOpcoes_Flyout
// this.Frame.Navigate(typeof(_9Contatos.Interface.OpcoesAvancadas), xx);
}

private void OpcaoAlteraContatoLista_Selecionado(object sender, TappedRoutedEventArgs e)
Expand Down
1 change: 1 addition & 0 deletions 9Contatos/Interface/Tela_Contatos.xaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<Page
NavigationCacheMode="Disabled"
x:Class="_9Contatos.Interface.TelaContatos"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Expand Down

0 comments on commit a4710d7

Please sign in to comment.