Beispiel #1
0
 public ObjectsView()
 {
     BindingContext = new ObjectsViewModel(new ObservableCollection <Model>()
     {
         new Model()
     });
 }
Beispiel #2
0
        [Route("objectlist")] // /objectlist
        public async Task <IActionResult> ObjectList()
        {
            var model = new ObjectsViewModel();

            model.Search = new Search()
            {
                ObjectAttributes = _touristObject.GetAllObjectAttributes()
                                   .Select(atr => new ObjectAttributesModel()
                {
                    Id = atr.Id, Name = atr.Name, Selected = false
                }).ToList(),
                ObjectTypes = _touristObject.GetObjectTypes()
                              .Select(type => new ObjectTypeModel()
                {
                    Id = type.Id, Name = type.Name, Selected = false
                }).ToList(),
            };


            var user = await _userManager.GetUserAsync(User);

            var bookmarks = new List <int>();

            if (user != null)
            {
                bookmarks         = _user.GetAllUserBookmarksId(user.Id).ToList();
                model.IdentUserId = user.Id;
            }

            var pager = new Pager(_touristObject.CountObjects(), 1);

            model.Pager = pager;

            model.ObjectsList = _touristObject.GetObjects(pager.CurrentPage, pager.PageSize)
                                .Select(ob => new ObjectItemModel()
            {
                Id                 = ob.Id,
                Name               = ob.Name,
                Location           = ob.City != null ? ob.Address + ", " + ob.City.Name : ob.Address,
                ImgSrc             = ob.ObjectImages.Count > 0 ? ob.ObjectImages.ElementAt(0).Path : "/pink.png",
                Lat                = ob.Lat,
                Lng                = ob.Lng,
                Description        = ob.Description,
                WebContact         = ob.WebContact,
                EmailContact       = ob.EmailContact,
                PhoneNumberContact = ob.PhoneNumberContact,
                Type               = ob.ObjectType == null ? "" : ob.ObjectType.Name,
                NumberOfRatings    = _touristObject.GetNumberOfRatings(ob.Id),
                Rating             = Math.Round(_touristObject.GetAvarageRating(ob.Id), 2),
                IsBookmark         = bookmarks.Contains(ob.Id) ? true : false,
            }).ToList();



            return(View(model));
        }
Beispiel #3
0
        public ObjectsView()
        {
            InitializeComponent();

            _viewModel = new ObjectsViewModel(new ObjectsViewDialogService());

            DataContext = _viewModel;

            // AddFilterFieldsComboBoxItems(comparedDataGrid, ref fieldFilterComboBox);
        }
        private async Task Page_LoadedAsync()
        {
            //Debug.WriteLine("Button Pressed");
            //await ((ObjectsViewModel)ObjectList.ItemsSource).Load_Places();

            ObjectsViewModel Places = new ObjectsViewModel();

            //var Places = ObjectsViewModel.Load_Places();
            ObservableCollection <Place> objectList = await Places.Load_Places();

            ObjectList.ItemsSource = objectList;
            //return PlaceList = new ObservableCollection<Place>(Places);
        }
Beispiel #5
0
        public async Task <IActionResult> ChangePage(ObjectsViewModel model)
        {
            model.Search.CheckIn  = model.Search.CheckInString == null ? DateTime.MinValue : DateTime.Parse(model.Search.CheckInString);
            model.Search.CheckOut = model.Search.CheckOutString == null ? DateTime.MinValue : DateTime.Parse(model.Search.CheckOutString);

            var currency = Request.Cookies["Currency"] == null ? "BAM" : Request.Cookies["Currency"];
            var pager    = new Pager((await _touristObject.CountFilteredObjects(model.Search, currency)), model.CurrPage);

            if (model.CurrPage == 0)
            {
                pager.CurrentPage = 1;
            }

            model.Pager = pager;

            var user = await _userManager.GetUserAsync(User);

            var bookmarks = new List <int>();

            if (user != null)
            {
                bookmarks         = _user.GetAllUserBookmarksId(user.Id).ToList();
                model.IdentUserId = user.Id;
            }

            model.ObjectsList = (await _touristObject.GetFilteredObjects(pager.CurrentPage, pager.PageSize, model.Search, currency))
                                .Select(ob => new ObjectItemModel()
            {
                Id                 = ob.Id,
                Name               = ob.Name,
                Location           = ob.City != null ? ob.Address + ", " + ob.City.Name : ob.Address,
                ImgSrc             = ob.ObjectImages.Count > 0 ? ob.ObjectImages.ElementAt(0).Path : "/pink.png",
                Lat                = ob.Lat,
                Lng                = ob.Lng,
                Description        = ob.Description,
                WebContact         = ob.WebContact,
                EmailContact       = ob.EmailContact,
                PhoneNumberContact = ob.PhoneNumberContact,
                Type               = ob.ObjectType == null ? "" : ob.ObjectType.Name,
                NumberOfRatings    = _touristObject.GetNumberOfRatings(ob.Id),
                Rating             = Math.Round(_touristObject.GetAvarageRating(ob.Id), 2),
                IsBookmark         = bookmarks.Contains(ob.Id) ? true : false,
            }).ToList();

            return(PartialView("_ObjectsListed", model));
        }
Beispiel #6
0
        private async Task PopulateByPins(Map map)
        {
            var pins = new ObjectsViewModel();
            ObservableCollection <Place> pinsList = await pins.Load_Places();

            ObjectInfo.Text = pinsList.Count().ToString();

            foreach (Place place in pinsList)
            {
                ObjectInfo.Text += "foreach works";
                var pos = new Position(Convert.ToDouble(place.Lat), Convert.ToDouble(place.Lon));
                ObjectInfo.Text += pos;
                var pin = new Pin
                {
                    Position = pos,
                    Type     = PinType.Generic,
                    Label    = place.Info,
                    Address  = place.Address,
                };
                ObjectInfo.Text += pin.Address;
                ObjectInfo.Text += pin.Label;
                ObjectInfo.Text += pin.Position;
                //ObjectInfo.Text += place.Address;
                map.Pins.Add(pin);
                map.Pins.Add(new Pin
                {
                    Position = pos,
                    Type     = PinType.Generic,
                    Label    = "test",
                    Address  = "Address",
                });
                //string ImageName = place.ImageName;
                //pin.MarkerClicked += (s, args) =>
                //{
                //    Fill_Info(pos, ImageName);
                //args.HideInfoWindow = true;
                //    string pinName = ((Pin)s).Label;

                //    ObjectInfo.Text = pinName;
                //await DisplayAlert("Pin Clicked", $"{pinName} was clicked.", "Ok");
                //};//Display_Info(pin.Label);
            }
        }
Beispiel #7
0
        /// <summary>Loads the challenges from database asynchronous.</summary>
        /// <returns></returns>
        public async Task LoadChallengesFromDBAsync()
        {
            if (AudienceChallenges.Count == 0)
            {
                AudienceChallenges.AddRange(await ChallengesDataAccess.GetAudienceChallengesAsync());
            }
            if (CrewChallenges.Count == 0)
            {
                CrewChallenges.AddRange(await ChallengesDataAccess.GetCrewChallengesAsync());
            }
            if (MultipleChoiceChallenges.Count == 0)
            {
                MultipleChoiceChallenges.AddRange(await ChallengesDataAccess.GetMultipleChoiceChallengesAsync());
            }
            if (MusicChallenges.Count == 0)
            {
                MusicChallenges.AddRange(await ChallengesDataAccess.GetMusicChallengesAsync());
            }
            if (QuizChallenges.Count == 0)
            {
                QuizChallenges.AddRange(await ChallengesDataAccess.GetQuizChallengesAsync());
            }
            if (ScreenshotChallenges.Count == 0)
            {
                ScreenshotChallenges.AddRange(await ChallengesDataAccess.GetScreenshotChallengesAsync());
            }
            if (SilhouetteChallenges.Count == 0)
            {
                SilhouetteChallenges.AddRange(await ChallengesDataAccess.GetSilhouetteChallengesAsync());
            }
            if (SologameChallenges.Count == 0)
            {
                SologameChallenges.AddRange(await ChallengesDataAccess.GetSologameChallengesAsync());
            }

            await ObjectsViewModel.LoadObjectsFromDBAsync();

            foreach (Game game in CreateObjectsViewModel.Games)
            {
                Games.Add(game);
            }
            foreach (Image image in CreateObjectsViewModel.Images)
            {
                Images.Add(image);
            }
            foreach (Music music in CreateObjectsViewModel.Music)
            {
                Music.Add(music);
            }

            foreach (AudienceChallenge challenge in AudienceChallenges)
            {
                foreach (Game game in Games)
                {
                    if (game.ID.Equals(challenge.GameID))
                    {
                        challenge.Game = game;
                        break;
                    }
                }
            }
            foreach (CrewChallenge challenge in CrewChallenges)
            {
                foreach (Game game in Games)
                {
                    if (game.ID.Equals(challenge.GameID))
                    {
                        challenge.Game = game;
                        break;
                    }
                }
            }
            foreach (MusicChallenge challenge in MusicChallenges)
            {
                foreach (Music music in Music)
                {
                    if (music.ID.Equals(challenge.SongID))
                    {
                        challenge.Song = music;
                        break;
                    }
                }
            }
            foreach (ScreenshotChallenge challenge in ScreenshotChallenges)
            {
                foreach (Image image in Images)
                {
                    if (image.ID.Equals(challenge.ImageID))
                    {
                        challenge.Image = image;
                        break;
                    }
                }
            }
            foreach (SilhouetteChallenge challenge in SilhouetteChallenges)
            {
                foreach (Image image in Images)
                {
                    if (image.ID.Equals(challenge.ImageID))
                    {
                        challenge.Image = image;
                        break;
                    }
                }
            }
            foreach (SologameChallenge challenge in SologameChallenges)
            {
                foreach (Game game in Games)
                {
                    if (game.ID.Equals(challenge.GameID))
                    {
                        challenge.Game = game;
                        break;
                    }
                }
            }

            CreateNewObjectPlaceholder();
        }