yavsc/BookAStar/BookAStar/Pages/BookQueryPage.xaml.cs

86 lines
2.3 KiB
C#

9 years ago

using System;
using Xamarin.Forms;
using Xamarin.Forms.Maps;
9 years ago
namespace BookAStar.Pages
9 years ago
{
9 years ago
using Helpers;
9 years ago
using Model;
9 years ago
using Model.Workflow;
9 years ago
using System.Threading.Tasks;
using ViewModels;
9 years ago
using XLabs.Forms.Mvvm;
using XLabs.Ioc;
using XLabs.Platform.Services;
9 years ago
public partial class BookQueryPage : ContentPage
{
9 years ago
public BookQueryData BookQuery
{
get
{
return BindingContext as BookQueryData;
}
set
{
BindingContext = value;
}
}
protected override void OnBindingContextChanged()
{
base.OnBindingContextChanged();
map.Pins.Clear();
if (BookQuery != null)
{
var lat = BookQuery.Location.Latitude;
var lon = BookQuery.Location.Longitude;
var pin = new Pin
{
Type = PinType.SavedPin,
Position = new Position(
lat, lon),
Label = BookQuery.Client.UserName,
Address = BookQuery.Location.Address
};
map.Pins.Add(pin);
map.MoveToRegion(MapSpan.FromCenterAndRadius(
new Position(lat, lon), Distance.FromMeters(100)));
}
9 years ago
9 years ago
}
public BookQueryPage()
{
InitializeComponent();
}
9 years ago
public BookQueryPage(BookQueryData bookQuery=null)
9 years ago
{
InitializeComponent();
9 years ago
// Task.Run( async () => { bookQuery = await App.CurrentApp.DataManager.BookQueries.Get(bookQueryId); });
BookQuery = bookQuery;
9 years ago
}
9 years ago
private void MakeAnEstimate(object sender, EventArgs ev)
9 years ago
{
9 years ago
DataManager.Current.Contacts.Merge(BookQuery.Client);
var e = new Estimate()
{
ClientId = BookQuery.Client.UserId,
CommandId = BookQuery.Id,
OwnerId = MainSettings.CurrentUser.Id,
Id = 0,
Description = "# **Hello Estimate!**"
};
Resolver.Resolve<INavigationService>().NavigateTo<EditEstimatePage>(true,
new EstimateViewModel(e));
9 years ago
}
9 years ago
9 years ago
}
}