// Saves entry form inputs into a new pin void SaveFormInfo() { tempCustomPin.MarkerID = pinID; tempCustomPin.Category = CategoryEntry; tempCustomPin.Label = TitleEntry; tempCustomPin.Description = DescriptionEntry; tempCustomPin.StartTime = StartTimeEntry; tempCustomPin.EndTime = EndTimeEntry; tempCustomPin.Address = new ImageService().CategoryToImage(CategoryEntry); CustomPinList.Add(tempCustomPin); PermanentCustomPinList.Add(tempCustomPin); pinID += 1; ResetAll(); }
// Reorders the quick view list based on the sort category selected public void UpdateQuickView(bool toggleMode = false) { List <CustomPin> tempList = PermanentCustomPinList.ToList(); List <CustomPin> sortedList = new List <CustomPin>(); // Sort-By feature if (toggleMode) { if (SortButtonText == "Sort By: Time") { SortButtonText = "Sort By: Distance"; } else if (SortButtonText == "Sort By: Distance") { SortButtonText = "Sort By: Time"; } } if (SortButtonText == "Sort By: Time") { sortedList = tempList.OrderBy(pin => Int32.Parse(pin.TimeRemaining.Replace("h ", "0").Replace("min left", ""))).ToList(); } else if (SortButtonText == "Sort By: Distance") { sortedList = tempList.OrderBy(pin => Int32.Parse(pin.DistanceFromUser.Replace("m", ""))).ToList(); } // Filter feature CustomPinList.Clear(); if (categoriesToShow == "all") { sortedList.ForEach((pin) => CustomPinList.Add(pin)); } else { foreach (CustomPin pin in sortedList) { if (pin.Category == categoriesToShow) { CustomPinList.Add(pin); } } } AddPinsToMap(); }
// Create fake pins from MockDataStore on the map async void CreateFakePins() { var mockPins = await DataStore.GetItemsAsync(true); foreach (var pin in mockPins) { // MockPin's position and end time is an random offset. Add to current for randomness double lat = pin.Position.Latitude + userPosition.Latitude; double lng = pin.Position.Longitude + userPosition.Longitude; pin.Position = new Position(lat, lng); pin.EndTime += DateTime.Now.TimeOfDay; pin.MarkerID = pinID; CustomPinList.Add(pin); PermanentCustomPinList.Add(pin); pinID += 1; } ResetAll(); }