コード例 #1
0
ファイル: Main.xaml.cs プロジェクト: luisdeol/BiciEventos
        private async void lb_Events_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
            List <Event>      listEvents;
            List <Attendance> listAttendances = new List <Attendance>();
            var context = new BiciEventosDbContext();

            //try
            //{
            //    var client = new HttpClient();
            //    string getUri = "http://localhost:5000/api/Events";
            //    string getUriEG = "http://localhost:5000/api/Attendances";
            //    var uri = new Uri(getUri);
            //    var uriEg = new Uri(getUriEG);
            //    var response = await client.GetStringAsync(uri);
            //    var atdResponse = await client.GetStringAsync(uriEg);
            //    listEvents = JsonConvert.DeserializeObject<List<Event>>(response);
            //    listAttendances = JsonConvert.DeserializeObject<List<Attendance>>(atdResponse);
            //    context.Events.RemoveRange(context.Events);
            //    context.SaveChanges();
            //    context.Attendances.RemoveRange(context.Attendances);
            //    context.SaveChanges();
            //    foreach (var evt in listEvents)
            //    {
            //        context.Events.Add(evt);
            //    }
            //    context.SaveChanges();
            //    foreach (var atd in listAttendances)
            //    {
            //        context.Attendances.Add(atd);
            //    }
            //    context.SaveChanges();
            //}
            //catch (Exception ex)
            //{
            listEvents      = context.Events.Include(ev => ev.User).ToList();
            listAttendances = context.Attendances.ToList();
            //}
            var evento = listEvents.FirstOrDefault(x => x.Title == ((ListBoxItem)lb_Events.SelectedValue).Content.ToString());

            tblock_Title.Text = evento.Title;
            var usersParticipations = listAttendances.FindAll(x => x.EventId.Equals(evento.Id));

            localSettings.Values["Users_Participating"] = usersParticipations.Count.ToString();
            localSettings.Values["start_latitude"]      = evento.StartLatitude;
            localSettings.Values["start_longitude"]     = evento.StartLongitude;
            localSettings.Values["end_latitude"]        = evento.EndLatitude;
            localSettings.Values["end_longitude"]       = evento.EndLongitude;
            localSettings.Values["EventId"]             = evento.Id;
            var sessionId = int.Parse(localSettings.Values["sessionUser"].ToString());

            if (evento.User.Id == sessionId)
            {
                localSettings.Values["Allowed_to_Edit"] = true;
            }
            Frame?.Navigate(typeof(Details), evento);
        }
コード例 #2
0
ファイル: App.xaml.cs プロジェクト: luizclr/BiciEventos
 /// <summary>
 /// Initializes the singleton application object.  This is the first line of authored code
 /// executed, and as such is the logical equivalent of main() or WinMain().
 /// </summary>
 public App()
 {
     this.InitializeComponent();
     this.Suspending += OnSuspending;
     using (var db = new BiciEventosDbContext())
     {
         db.Database.Migrate();
     }
 }
コード例 #3
0
        private async void StackPanel_Loaded(object sender, RoutedEventArgs e)
        {
            var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
            var eventId       = Convert.ToInt32(localSettings.Values["EventId"]);
            //var client = new HttpClient();
            //var getUri = "http://localhost:5000/api/Attendances";
            //var uri = new Uri(getUri);
            //var response = await client.GetStringAsync(uri);
            //var events = JsonConvert.DeserializeObject<List<Attendance>>(response);
            var context             = new BiciEventosDbContext();
            var events              = context.Attendances.ToList();
            var usersParticipations = events.FindAll(x => x.EventId.Equals(eventId));

            tblock_Users_Participating.Text = usersParticipations.Count.ToString() + " Confirmados";
        }
コード例 #4
0
ファイル: Login.xaml.cs プロジェクト: luisdeol/BiciEventos
        private async void b_Login_Click(object sender, RoutedEventArgs e)
        {
            var context  = new BiciEventosDbContext();
            var listUser = new List <User>();

            try
            {
                var    client   = new HttpClient();
                string getUri   = "http://localhost:5000/api/Users";
                var    uri      = new Uri(getUri);
                var    response = await client.GetStringAsync(uri);

                listUser = JsonConvert.DeserializeObject <List <User> >(response);
            }
            catch (Exception err)
            {
                listUser = context.Users.ToList();
            }
            var user = listUser.FirstOrDefault(x => x.Username == tb_Username.Text);

            if (pb_Password.Password == user.Password)
            {
                var successDialog = new MessageDialog("Successfully logged in!");
                await successDialog.ShowAsync();

                context.Users.Add(user);
                Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
                localSettings.Values["sessionUser"] = user.Id;
                Frame?.Navigate(typeof(Main));
            }
            else
            {
                var errorDialog = new MessageDialog("Error! Username and Login don't match!");
                await errorDialog.ShowAsync();
            }
        }
コード例 #5
0
ファイル: Main.xaml.cs プロジェクト: luisdeol/BiciEventos
        private async void StackPanel_Loaded(object sender, RoutedEventArgs e)
        {
            var        localSettings   = Windows.Storage.ApplicationData.Current.LocalSettings;
            var        userId          = int.Parse(localSettings.Values["sessionUser"].ToString());
            HttpClient client          = new HttpClient();
            var        listEvents      = new List <Event>();
            var        listInvites     = new List <Invite>();
            var        listAttendances = new List <Attendance>();
            var        context         = new BiciEventosDbContext();

            try
            {
                var getUri         = "http://localhost:5000/api/Events";
                Uri uri            = new Uri(getUri);
                var getInvitesUri  = "http://localhost:5000/api/Invites";
                var getAttendances = "http://localhost:5000/api/Attendances";
                Uri uriAttendance  = new Uri(getAttendances);
                var inviteResponse = await client.GetStringAsync(getInvitesUri);

                var response = await client.GetStringAsync(uri);

                var attendanceResponse = await client.GetStringAsync(uriAttendance);

                listAttendances = JsonConvert.DeserializeObject <List <Attendance> >(attendanceResponse);
                listEvents      = JsonConvert.DeserializeObject <List <Event> >(response);
                listInvites     = JsonConvert.DeserializeObject <List <Invite> >(inviteResponse);
                context.Events.RemoveRange(context.Events);
                context.SaveChanges();
                context.Users.RemoveRange(context.Users);
                context.SaveChanges();
                context.Attendances.RemoveRange(context.Attendances);
                context.SaveChanges();
                //context.Invites.RemoveRange(context.Invites);
                //context.SaveChanges();
                lb_Events.Items.Clear();
                //var users = context.Users.ToList();
                //var events = context.Events.ToList();
                //var invites = context.Invites.ToList();
                foreach (Event item in listEvents)
                {
                    ListBoxItem lb = new ListBoxItem {
                        Content = item.Title
                    };
                    lb_Events.Items.Add(lb);
                    context.Events.Add(item);
                }
                context.SaveChanges();
                foreach (var atd in listAttendances)
                {
                    context.Attendances.Add(atd);
                }
                context.SaveChanges();
                //foreach (var invite in listInvites)
                //{
                //    context.Invites.Add(invite);
                //}
                //context.SaveChanges();
            }

            catch (Exception err)
            {
                Console.WriteLine(err.Message);
                listAttendances = context.Attendances.ToList();
                listEvents      = context.Events.ToList();
                //listInvites = context.Invites.ToList();
                foreach (Event item in listEvents)
                {
                    ListBoxItem lb = new ListBoxItem {
                        Content = item.Title
                    };
                    lb_Events.Items.Add(lb);
                }
            }

            localSettings.Values["Allowed_to_Edit"] = false;
            if (listInvites.Any(i => i.InvitedId == userId && i.IsRead == false))
            {
                var dialog = new MessageDialog("You have unchecked invitations!")
                {
                    Title = "Invitations"
                };
                await dialog.ShowAsync();
            }
        }