Пример #1
0
        public ProfilePageViewModel()
        {
            Title          = Constants.profilePageTitle;
            profilePicture = App.UserDetails.picture;
            rating         = App.UserDetails.rating;
            name           = App.UserDetails.name;
            //PartiesAttending = new ObservableRangeCollection<PartyDetails>();
            // PartiesHosting = new ObservableRangeCollection<PartyDetails>();

            azurePartyManager = AzurePartyManager.DefaultManager;
            //QueryForPartiesAttending();
        }
Пример #2
0
        private async Task RefreshPartiesFromDataBase()
        {
            manager           = AzurePartyManager.DefaultManager;
            mapCenterPosition = _map.VisibleRegion.Center;
            zoom    = _map.VisibleRegion.Radius.Kilometers;
            parties = await manager.GetCarouselItemsAsync(
                await manager.GetPartiesFromLocationAsync(
                    mapCenterPosition.Latitude,
                    mapCenterPosition.Longitude,
                    zoom * 1000 * 2));

            PlacePoints();
        }
Пример #3
0
        private async Task ExecuteCreatePartyCommand()
        {
            if (IsBusy)
            {
                return;
            }
            joinButtonLabel = "";
            IsBusy          = true;
            try
            {
                ImageSource partyHeaderSource = partyHeaderImageSource;

                string headerImagePath;

                headerImagePath = await AzureStorage.UploadFileAsync(ContainerType.Image, new MemoryStream(partyHeaderByteArray));

                Debug.WriteLine("AzureStorage Succes");

                //TODO Make sure user information is transferred to theese values
                partyDetails.picture = headerImagePath ?? " ";
                partyDetails.partyId = Guid.NewGuid().ToString();
                partyDetails.userId  = App.UserDetails.userId ?? " ";


                AzurePartyManager manager = AzurePartyManager.DefaultManager;
                var cloudService          = ServiceLocator.Instance.Resolve <ICloudService>();

                ICloudTable <PartyDetails> Table = cloudService.GetTable <PartyDetails>();
                partyDetails = await Table.CreateItemAsync(partyDetails);

                PartyDetails partyDetailsDB = partyDetails;
                await manager.InsertItemAsync(partyDetailsDB);
            }
            catch (Exception ex)
            {
                Debug.WriteLine($"[Upload] Error = {ex.Message}");
            }
            finally
            {
                IsBusy          = false;
                joinButtonLabel = "Party Created!";
                RootPage.instance.GoToDetailPage(MasterDetailPageManager.MapPage);
            }
        }
Пример #4
0
        private async Task <List <PartyDetailsItem> > GetPartiesFromDataBase(Position position)
        {
            manager = AzurePartyManager.DefaultManager;
            await manager.DeleteAllBuggedPartiesAsync();

            TaskCompletionSource <List <PartyDetailsItem> > tcs = new TaskCompletionSource <List <PartyDetailsItem> >();
            List <PartyDetails> partydetails = await manager.GetPartiesFromLocationAsync(
                position.Latitude,
                position.Longitude,
                30000);


            List <PartyDetailsItem> partyDetailsItems = new List <PartyDetailsItem>();

            foreach (var item in partydetails)
            {
                PartyDetailsItem tempItem = new PartyDetailsItem(item);
                await tempItem.InitializeCard();

                partyDetailsItems.Add(tempItem);
            }
            tcs.SetResult(partyDetailsItems);
            //parties = manager.GetCarouselItemsAsync(partydetailDB).Result;

            //if (parties == null || !parties.Any())
            //{
            //    ICloudTable<PartyDetails> Table;
            //    ICloudService cloudService = ServiceLocator.Instance.Resolve<ICloudService>();
            //    Table = cloudService.GetTable<PartyDetails>();
            //    ICollection<PartyDetails> tempPartyDetails = await Table.ReadAllItemsAsync();
            //
            //    List<PartyDetailsDB> tempPartyDetailsDB = new List<PartyDetailsDB>();
            //    foreach(PartyDetails deet in tempPartyDetails)
            //    {
            //        PartyDetailsDB tempDeetDB = new PartyDetailsDB {
            //            title = deet.title,
            //            description = deet.description,
            //            partyId = deet.partyId,
            //            userId = deet.userId,
            //            picture = deet.picture,
            //            ageMax = deet.ageMax,
            //            ageMin = deet.ageMin,
            //            rating = deet.rating,
            //            price = deet.price,
            //            when = deet.when,
            //            where = deet.where,
            //            type = deet.type,
            //            lon = deet.lon,
            //            latt = deet.latt,
            //            maxParticipants = deet.maxParticipants,
            //            documentDBId = deet.Id,
            //            location = new Microsoft.Azure.Documents.Spatial.Point(deet.lon, deet.latt)
            //        };
            //        tempPartyDetailsDB.Add(tempDeetDB);
            //    }
            //
            //    await Task.WhenAll(tempPartyDetailsDB.Select(q => manager.InsertItemAsync(q)));
            //    await manager.DeleteAllBuggedPartiesAsync();
            //    parties = await manager.GetCarouselItemsAsync(await manager.GetAllPartiesAsync());
            //}
            return(await tcs.Task);
        }