private async void CreateeventButton_Clicked(object sender, EventArgs e) { DatabaseFunctions dbf = new DatabaseFunctions(); indicator.IsRunning = true; whoattended = new Whoattended(); string fnev = ""; try { fnev = DependencyService.Get <ISaveAndLoad>().LoadText("login.txt"); }catch (Exception) { } whoattended.profile = fnev; events.when = date.ToString("yyyy.MM.dd") + " " + hour; events.eventId = events.when + "_" + whoattended.profile + "_" + events.eventName; whoattended.eventId = events.eventId; if (!CrossConnectivity.Current.IsConnected) { indicator.IsRunning = false; await DisplayAlert("Warning", "Please, check your internet settings!", "OK"); } else if (events.where == null || hour == null || events.department == null || events.eventName == null || events.university == null) { indicator.IsRunning = false; await DisplayAlert("Warning", "You have to fill in all of the fields!", "OK"); } else { var successStoreEvent = await dbf.putEvent(events); var successStoreWhoattended = await dbf.putWhoattended(whoattended); if (successStoreEvent == "successfull" && successStoreWhoattended) { await DisplayAlert("Successful", "You have created the group!", "OK"); indicator.IsRunning = false; } else if (successStoreEvent == "dateproblem") { indicator.IsRunning = false; await DisplayAlert("Warning", "You have to change the date!", "OK"); } else { indicator.IsRunning = false; await DisplayAlert("Warning", "Something went wrong, please check back later!", "OK"); } } }
public async Task <bool> deleteWhoattended(Whoattended whoattend) { try { await MobileService.GetTable <Whoattended>().DeleteAsync(whoattend); return(true); } catch (Exception e) { Debug.WriteLine(e.Message); return(false); } }
private async void setEventJson(string userId) { if (!CrossConnectivity.Current.IsConnected) { await DisplayAlert("Warning", "Please, check your internet settings!", "OK"); } else { Device.BeginInvokeOnMainThread(async() => { await DisplayAlert("Info", "Please wait while loading!", "OK"); }); DatabaseFunctions dbf = new DatabaseFunctions(); eventsJson = await dbf.getEvents(); listofevents = eventsJson; whoattendedJson = await dbf.getWhoattended(); whoevents = whoattendedJson; if (listEvents(listofevents, whoevents).Count == 0) { checkLabel = new Label() { Text = "Youd didn't attend to any groups.", FontSize = 15, TextColor = Color.White }; } else { checkLabel = new Label() { Text = "", FontSize = 15, TextColor = Color.White }; } var personDataTemplate = new DataTemplate(() => { var grid = new Grid(); var nameLabel = new Label { TextColor = Color.White, FontAttributes = FontAttributes.Bold }; var whereLabel = new Label() { TextColor = Color.White, }; var whenLabel = new Label { TextColor = Color.White, HorizontalTextAlignment = TextAlignment.Start }; var uniLabel = new Label() { TextColor = Color.White, HorizontalTextAlignment = TextAlignment.Start }; var depLabel = new Label { TextColor = Color.White, HorizontalTextAlignment = TextAlignment.Start }; nameLabel.SetBinding(Label.TextProperty, "eventName"); whereLabel.SetBinding(Label.TextProperty, "where"); whenLabel.SetBinding(Label.TextProperty, "when"); uniLabel.SetBinding(Label.TextProperty, "university"); depLabel.SetBinding(Label.TextProperty, "department"); grid.Children.Add(nameLabel, 0, 0); grid.Children.Add(whereLabel, 1, 0); grid.Children.Add(whenLabel, 2, 0); grid.Children.Add(uniLabel, 0, 1); grid.Children.Add(depLabel, 1, 1); viewCell = new ViewCell { View = grid, }; var spectateAction = new MenuItem { Text = "Members", IsDestructive = false }; spectateAction.SetBinding(MenuItem.CommandParameterProperty, new Binding(".")); spectateAction.Clicked += async(sender, e) => { var mi = ((MenuItem)sender); Events bindingEvent = (Events)mi.BindingContext; await Navigation.PushAsync(new JoinedMembersPage(bindingEvent.eventId, whoevents)); }; var deleteAction = new MenuItem { Text = "Delete", IsDestructive = true }; deleteAction.SetBinding(MenuItem.CommandParameterProperty, new Binding(".")); deleteAction.Clicked += async(sender, e) => { var mi = ((MenuItem)sender); Events bindingEvent = (Events)mi.BindingContext; Whoattended deleted = new Whoattended(); deleted.eventId = bindingEvent.eventId; deleted.profile = user; whoattendedJson = await dbf.getWhoattended(); foreach (var item in whoattendedJson) { if (item.eventId == bindingEvent.eventId && item.profile == user) { deleted.id = item.id; break; } } var check = await dbf.deleteWhoattended(deleted); if (check) { await DisplayAlert("Successful", "You have unsubscribe from the event!", "OK"); } else { await DisplayAlert("Warning", "Something went wrong, please check back later!", "OK"); } whoattendedJson = await dbf.getWhoattended(); ObservableCollection <Whoattended> whoevents2 = whoattendedJson; lw.ItemsSource = listEvents(listofevents, whoevents2); }; viewCell.ContextActions.Add(deleteAction); viewCell.ContextActions.Add(spectateAction); return(viewCell); }); lw = new ListView() { IsPullToRefreshEnabled = true, ItemsSource = listEvents(listofevents, whoevents), ItemTemplate = personDataTemplate, BackgroundColor = Color.Transparent }; Content = new ScrollView { Content = new StackLayout() { Children = { checkLabel, lw } } }; lw.Refreshing += Lw_Refreshing; } }
private async void setEventJson(string userId) { DatabaseFunctions dbf = new DatabaseFunctions(); eventsJson = await dbf.getEvents(); listofevents = eventsJson; filterSearchBar = new SearchBar() { SearchCommand = new Command(() => { setTheListView(filterSearchBar.Text, eventsJson); }) }; if (eventsJson.Count == 0) { await DisplayAlert("Info", "There are not any group yet.", "OK"); } var personDataTemplate = new DataTemplate(() => { var grid = new Grid(); var nameLabel = new Label { TextColor = Color.White, FontAttributes = FontAttributes.Bold }; var whereLabel = new Label() { TextColor = Color.White, }; var whenLabel = new Label { TextColor = Color.White, HorizontalTextAlignment = TextAlignment.Center }; var uniLabel = new Label() { TextColor = Color.White, HorizontalTextAlignment = TextAlignment.Start }; var depLabel = new Label { TextColor = Color.White, HorizontalTextAlignment = TextAlignment.Start }; nameLabel.SetBinding(Label.TextProperty, "eventName"); whereLabel.SetBinding(Label.TextProperty, "where"); whenLabel.SetBinding(Label.TextProperty, "when"); uniLabel.SetBinding(Label.TextProperty, "university"); depLabel.SetBinding(Label.TextProperty, "department"); grid.Children.Add(nameLabel, 0, 0); grid.Children.Add(whereLabel, 1, 0); grid.Children.Add(whenLabel, 2, 0); grid.Children.Add(uniLabel, 0, 1); grid.Children.Add(depLabel, 1, 1); viewCell = new ViewCell { View = grid, }; var joinAction = new MenuItem { Text = "Join" }; joinAction.SetBinding(MenuItem.CommandParameterProperty, new Binding(".")); joinAction.Clicked += async(sender, e) => { var mi = ((MenuItem)sender); Events bindingEvent = (Events)mi.BindingContext; Whoattended whoclass = new Whoattended(); whoclass.eventId = bindingEvent.eventId; whoclass.profile = userId; ObservableCollection <Whoattended> whoatt = await dbf.getWhoattended(); bool val = true; foreach (var item in whoatt) { if (item.eventId == whoclass.eventId && item.profile == whoclass.profile) { val = false; await DisplayAlert("Warning", "You have already attended to this event!", "OK"); break; } } if (val == true) { var successStore = await dbf.putWhoattended(whoclass); if (successStore) { await DisplayAlert("Successful", "You have joined to this event!", "OK"); } else { await DisplayAlert("Warning", "Something went wrong, please check back later!", "OK"); } } }; var spectateAction = new MenuItem { Text = "Members", IsDestructive = false }; spectateAction.SetBinding(MenuItem.CommandParameterProperty, new Binding(".")); spectateAction.Clicked += async(sender, e) => { var mi = ((MenuItem)sender); Events bindingEvent = (Events)mi.BindingContext; ObservableCollection <Whoattended> whoatt = await dbf.getWhoattended(); await Navigation.PushAsync(new JoinedMembersPage(bindingEvent.eventId, whoatt)); }; viewCell.ContextActions.Add(joinAction); viewCell.ContextActions.Add(spectateAction); return(viewCell); }); if (!CrossConnectivity.Current.IsConnected) { await DisplayAlert("Warning", "Please, check your internet settings!", "OK"); } lw = new ListView() { IsPullToRefreshEnabled = true, ItemsSource = eventsJson, ItemTemplate = personDataTemplate, BackgroundColor = Color.Transparent }; lw.Refreshing += Lw_Refreshing; if (Device.OS == TargetPlatform.Windows || Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Other) { Button refreshButton = new Button() { HorizontalOptions = LayoutOptions.Center, Text = "Refresh", BackgroundColor = Color.FromHex("#4E8DB9"), TextColor = Color.White }; refreshButton.Clicked += RefreshButton_Clicked; Content = new ScrollView { Content = new StackLayout() { Children = { filterSearchBar, refreshButton, lw } } }; } else { Content = new StackLayout() { Children = { filterSearchBar, lw } }; } }