WIP estimate

main
Paul Schneider 9 years ago
parent 6a13d887c2
commit 4d9994d996
6 changed files with 80 additions and 46 deletions

@ -39,7 +39,11 @@
<DependentUpon>App.xaml</DependentUpon> <DependentUpon>App.xaml</DependentUpon>
</Compile> </Compile>
<Compile Include="DataManager.cs" /> <Compile Include="DataManager.cs" />
<Compile Include="Helpers\RemoteEntityRO.cs" />
<Compile Include="Pages\BlogPage.cs" /> <Compile Include="Pages\BlogPage.cs" />
<Compile Include="Pages\BookQueriesPage.xaml.cs">
<DependentUpon>BookQueriesPage.xaml</DependentUpon>
</Compile>
<Compile Include="Pages\BookQueryPage.xaml.cs"> <Compile Include="Pages\BookQueryPage.xaml.cs">
<DependentUpon>BookQueryPage.xaml</DependentUpon> <DependentUpon>BookQueryPage.xaml</DependentUpon>
</Compile> </Compile>
@ -212,6 +216,12 @@
<SubType>Designer</SubType> <SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
</ItemGroup> </ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Pages\BookQueriesPage.xaml">
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" /> <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
<Import Project="..\..\packages\Xamarin.Forms.2.3.0.107\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.2.3.0.107\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" /> <Import Project="..\..\packages\Xamarin.Forms.2.3.0.107\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.2.3.0.107\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">

@ -3,14 +3,18 @@ using System;
namespace BookAStar.Model namespace BookAStar.Model
{ {
public class ClientProviderInfo
{
public string UserName { get; set; }
public string UserId { get; set; }
public int Rate { get; set; }
}
public class BookQueryData public class BookQueryData
{ {
public string Title { get; set; } public ClientProviderInfo Client { get; set; }
public string Description { set; get; } public Location Location { get; set; }
public string Comment { get; set; } public long Id { get; set; }
public long CommandId { get; set; } public DateTime EventDate { get; set; }
public DateTime StartDate { get; set; } public decimal? Previsionnal { get; set; }
public DateTime EndDate { get; set; }
public Location Address { get; set; }
} }
} }

@ -1,15 +1,19 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" <ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="BookAStar.BookQueryPage"> xmlns:maps="clr-namespace:Xamarin.Forms.Maps;assembly=Xamarin.Forms.Maps.dll"
x:Class="BookAStar.Pages.BookQueryPage">
<StackLayout x:Name="bookQueryLayout"> <StackLayout x:Name="bookQueryLayout">
<Label Text="{Binding Title}" VerticalOptions="Start" HorizontalOptions="Center" /> <Label Text="{Binding Title}" VerticalOptions="Start" HorizontalOptions="Center" />
<Label Text="{Binding Description}" VerticalOptions="FillAndExpand" HorizontalOptions="Center" /> <Label Text="{Binding Description}" VerticalOptions="FillAndExpand" HorizontalOptions="Center" />
<Label Text="{Binding CommandId}" VerticalOptions="Center" HorizontalOptions="Center" /> <Label Text="{Binding CommandId}" VerticalOptions="Center" HorizontalOptions="Center" />
<Label Text="{Binding Comment}" VerticalOptions="Center" HorizontalOptions="Center" /> <Label Text="{Binding Comment}" VerticalOptions="Center" HorizontalOptions="Center" />
<Label Text="{Binding StartDate}" VerticalOptions="Center" HorizontalOptions="Center" /> <Label Text="{Binding StartDate}" VerticalOptions="Center" HorizontalOptions="Center" />
<Label Text="{Binding EndDate}" VerticalOptions="Center" HorizontalOptions="Center" /> <Label Text="{Binding EndDate}" VerticalOptions="Center" HorizontalOptions="Center" />
<Label Text="{Binding Address}" VerticalOptions="Center" HorizontalOptions="Center" /> <Label Text="{Binding Location}" VerticalOptions="Center" HorizontalOptions="Center" />
<maps:Map x:Name="map"></maps:Map>
<Button Text="Faire un devis" Clicked="MakeAnEstimate" VerticalOptions="Center" HorizontalOptions="End"/> <Button Text="Faire un devis" Clicked="MakeAnEstimate" VerticalOptions="Center" HorizontalOptions="End"/>
</StackLayout> </StackLayout>
</ContentPage> </ContentPage>

@ -4,42 +4,55 @@ using System;
using Xamarin.Forms; using Xamarin.Forms;
using Xamarin.Forms.Maps; using Xamarin.Forms.Maps;
namespace BookAStar namespace BookAStar.Pages
{ {
using Model; using Model;
using System.Threading.Tasks; using System.Threading.Tasks;
public partial class BookQueryPage : ContentPage public partial class BookQueryPage : ContentPage
{ {
private Map map;
public BookQueryPage(long bookQueryId)
{
InitializeComponent();
if (bookQueryId == 0)
throw new InvalidOperationException("No id");
BookQueryData bquery = null;
Task.Run( async () => { bquery = await App.CurrentApp.DataManager.BookQueries.Get(bookQueryId); });
BindingContext = bquery;
if (bquery==null)
throw new InvalidOperationException("No data");
var lat = bquery.Address.Latitude; public BookQueryData BookQuery
var lon = bquery.Address.Longitude; {
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 var pin = new Pin
{ {
Type = PinType.SearchResult, Type = PinType.SavedPin,
Position = new Position( Position = new Position(
lat, lon), lat, lon),
Label = bquery.Title, Label = BookQuery.Client.UserName,
Address = bquery.Address.Address Address = BookQuery.Location.Address
}; };
pin.BindingContext = bquery;
map.Pins.Add(pin); map.Pins.Add(pin);
map.MoveToRegion(MapSpan.FromCenterAndRadius( map.MoveToRegion(MapSpan.FromCenterAndRadius(
new Position(lat, lon), Distance.FromMeters(100))); new Position(lat, lon), Distance.FromMeters(100)));
bookQueryLayout.Children.Add(map); }
}
public BookQueryPage(BookQueryData bookQuery)
{
InitializeComponent();
// Task.Run( async () => { bookQuery = await App.CurrentApp.DataManager.BookQueries.Get(bookQueryId); });
BookQuery = bookQuery;
} }
private void MakeAnEstimate(object sender, EventArgs e) private void MakeAnEstimate(object sender, EventArgs e)
@ -47,10 +60,5 @@ namespace BookAStar
throw new NotImplementedException(); throw new NotImplementedException();
} }
protected override void OnBindingContextChanged()
{
base.OnBindingContextChanged();
}
} }
} }

@ -5,5 +5,6 @@
xmlns:local="clr-namespace:BookAStar.Views;assembly=BookAStar" xmlns:local="clr-namespace:BookAStar.Views;assembly=BookAStar"
> >
<local:MarkdownView x:Name="mdview" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" ></local:MarkdownView> <local:MarkdownView x:Name="mdview" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"
Markdown="hello estimate"></local:MarkdownView>
</ContentPage> </ContentPage>

@ -1,4 +1,5 @@
using BookAStar.Views; using BookAStar.Model.Workflow;
using BookAStar.Views;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@ -11,11 +12,17 @@ namespace BookAStar.Pages
{ {
public partial class MakeAnEstimatePage : ContentPage public partial class MakeAnEstimatePage : ContentPage
{ {
public MakeAnEstimatePage() public Estimate Estimate { get { return BindingContext as Estimate; } set {
BindingContext = value;
} }
public static readonly BindableProperty MarkdownProperty =
BindableProperty.Create("Description", typeof(string), typeof(Estimate),
null, BindingMode.TwoWay);
public MakeAnEstimatePage(string clientId,long bookQueryId)
{ {
var m = new MarkdownView();
InitializeComponent(); InitializeComponent();
var md = this.mdview.Markdown;
} }
} }
} }

Loading…