Example #1
0
        private async void ModifyItemToDoBtn_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
        {
            ItemDTO.ForOnePersonOverview s = (ItemDTO.ForOnePersonOverview)((Button)sender).Tag;

            Item item = ViewModel.Trip.Items.Find(c => c.ItemId == s.ItemId);

            item.Name = s.Name;
            ItemDTO.Overview itemoverview = new ItemDTO.Overview(item);

            bool succesful = await ViewModel.ModifyItem(itemoverview);

            if (succesful)
            {
                ViewModel.GetTripAsync(tripId);
                ViewModel.ErrorMessage = $" {item.Name} werd succesvol aangepast!";
                toevoegenFail.IsOpen   = false;
                toevoegenJuist.IsOpen  = true;
            }
            else
            {
                ViewModel.ErrorMessage = "Er is iets misgelopen!";
                toevoegenJuist.IsOpen  = false;
                toevoegenFail.IsOpen   = true;
            }
        }
Example #2
0
        public async Task UpdateItemAsync(ItemDTO.ForOnePersonOverview sender)
        {
            var response = await MarkItemAsDoneOrNotDone(sender.ItemId, sender.PersonEmail);

            GetTripAsync(Trip.TripId);
        }
Example #3
0
        public async void GetTripAsync(int tripId)
        {
            try
            {
                _toDoCurrent   = 0;
                _toDoTotal     = 0;
                _toPackCurrent = 0;
                _toPackTotal   = 0;
                var            email = (string)ApplicationData.Current.LocalSettings.Values["current_user_email"];
                TripDTO.Detail trip  = await TripController.GetTripAsync(tripId);

                Trip            = new Trip(trip);
                this.Categories = Trip.Categories.Select(c => c.Name).ToList();
                this.Travelers  = Trip.Travelers;
                ToDoList.Clear();
                ToPackList.Clear();
                var toDoList = Trip.Items.Where(i => i.ItemType == ItemType.ToDo).ToList();
                toDoList.ForEach(i =>
                {
                    var person = i.Persons.FirstOrDefault(p => p.PersonEmail.ToLower() == email.ToLower());
                    if (person != null)
                    {
                        var amount = i.Persons.Where(p => p.IsDone != true).ToList().Count();
                        var forOnePersonOverview              = new ItemDTO.ForOnePersonOverview(i.ItemId, i.Name, i.ItemType, i.Category.Name, amount, person);
                        forOnePersonOverview.PropertyChanged += async(sender, e) => await UpdateItemAsync((ItemDTO.ForOnePersonOverview)sender);
                        ToDoList.Add(forOnePersonOverview);
                    }
                    _toDoTotal   += i.Persons.Count();
                    _toDoCurrent += i.Persons.Where(p => p.IsDone == true).ToList().Count();
                });
                decimal toDoPercent = ((decimal)_toDoCurrent / (decimal)_toDoTotal) * 100;
                ToDoProgress       = Convert.ToInt32(toDoPercent);
                ToDoProgressFormat = $"{ToDoProgress}%";

                var toPackList = Trip.Items.Where(i => i.ItemType == ItemType.ToPack).ToList();
                toPackList.ForEach(i =>
                {
                    var person = i.Persons.FirstOrDefault(p => p.PersonEmail.ToLower() == email.ToLower());
                    if (person != null)
                    {
                        var amount = i.Persons.Where(p => p.IsDone != true).ToList().Count();
                        var forOnePersonOverview              = new ItemDTO.ForOnePersonOverview(i.ItemId, i.Name, i.ItemType, i.Category.Name, amount, person);
                        forOnePersonOverview.PropertyChanged += async(sender, e) => await UpdateItemAsync((ItemDTO.ForOnePersonOverview)sender);
                        ToPackList.Add(forOnePersonOverview);
                    }
                    _toPackTotal   += i.Persons.Count();
                    _toPackCurrent += i.Persons.Where(p => p.IsDone == true).ToList().Count();
                });
                decimal toPackPercent = ((decimal)_toPackCurrent / (decimal)_toPackTotal) * 100;
                ToPackProgress       = Convert.ToInt32(toPackPercent);
                ToPackProgressFormat = $"{ToPackProgress}%";
                GotDataNotSuccesfull = false;
                BuildShareString();
            }
            catch
            {
                GotDataNotSuccesfull = true;
            }
            IsBusy      = false;
            LoadingDone = true;
        }