Exemple #1
0
        protected PinViewModel(FilterViewModel parent, Model.Pin pin)
        {
            Parent = parent;
            _pin = pin;

            parent.PropertyChanged += parent_PropertyChanged;
        }
Exemple #2
0
        async void AcceptButton_Clicked(object sender, EventArgs e)
        {
            if ((IsDateAndTimeCorrect() &&
                 IsActivityPicked() &&
                 IsDescription()))
            {
                var user = repo.GetUserById(int.Parse(Preferences.Get("id", "")));

                repo.UpdateUser("OrganisedMeetings", (user.OrganisedMeetings + 1).ToString(), user.Id);

                var newPin = new Model.Pin {
                    Latitude = pin.Position.Latitude, Longitude = pin.Position.Longitude, Icon = imagePicked
                };
                repo.InsertPin(newPin);

                Meeting meeting = new Meeting
                {
                    OrganizerUser_Id  = user.Id,
                    OrganizerName     = user.Name,
                    OrganizerLastName = user.LastName,
                    OrganizerAge      = user.Age,
                    ActivityName      = activityPicked,
                    ActivityIcon      = imagePicked,
                    Date         = DatePicker.Date,
                    Time         = TimePicker.Time,
                    Participants = 1,
                    Pin_Id       = repo.GetIdByPin(newPin),
                    Description  = Editor.Text
                };
                repo.InsertMeeting(meeting);

                UserMeeting userMeeting = new UserMeeting
                {
                    User_Id    = user.Id,
                    Meeting_Id = meeting.Id
                };

                repo.InsertUserMeeting(userMeeting);

                string path     = "Assets";
                var    assembly = typeof(MainPage).GetTypeInfo().Assembly;
                var    stream   = assembly.GetManifestResourceStream($"{assembly.GetName().Name}.{path}.{imagePicked}");
                pin.Icon = BitmapDescriptorFactory.FromStream(stream, id: imagePicked);
                map.MoveToRegion(MapSpan.FromCenterAndRadius(pin.Position, map.VisibleRegion.Radius));

                pin.Label   = activityPicked;
                pin.Address = "Show more";

                await PopupNavigation.Instance.PopAsync();
            }
            else
            {
                if (!IsDateAndTimeCorrect())
                {
                    await DisplayAlert("Something went wrong.", "The date and time must be greater than today.", "Back");
                }
                if (!IsActivityPicked())
                {
                    await DisplayAlert("Something went wrong.", "You have to choose activity.", "Back");
                }
                if (!IsDescription())
                {
                    await DisplayAlert("Something went wrong.", "You have to write something in the description.", "Back");
                }
            }
        }