Files
BeWoPlaner/BeWo/View/Controls/CustomerSelectionControl.xaml.cs
2016-06-27 01:45:38 +02:00

87 lines
2.4 KiB
C#

using System;
using System.Windows;
using BS.Shared.Core;
using BS.Shared.DataContracts.Compact;
namespace BeWo.View.Controls
{
public partial class CustomerSelectionControl
{
private CompactCustomerDC mSelectedCustomerDC;
public CustomerSelectionControl()
{
InitializeComponent();
}
public event EventHandler ControlInitialized;
public event EventHandler<EventArgs<CompactCustomerDC>> ItemSelected;
public CompactCustomerDC SelectedItem
{
get { return mSelectedCustomerDC; }
set
{
mSelectedCustomerDC = value;
UpdateControls();
}
}
public string SearchText
{
get { return SearchView.SearchText; }
set { SearchView.SearchText = value; }
}
private void CustomerSearchView_ItemSelected(object sender, EventArgs<CompactCustomerDC> e)
{
popupCustomers.IsOpen = false;
SetSelectedCustomer(e.Data);
}
private void SetSelectedCustomer(CompactCustomerDC dc)
{
mSelectedCustomerDC = dc;
UpdateControls();
if (ItemSelected != null)
ItemSelected(this, new EventArgs<CompactCustomerDC>(mSelectedCustomerDC));
}
private void UpdateControls()
{
img.Visibility = mSelectedCustomerDC == null ? Visibility.Collapsed : Visibility.Visible;
if (ItemContent != null)
ItemContent.DataContext = mSelectedCustomerDC;
}
private void btnSelectCustomer_Click(object sender, RoutedEventArgs e)
{
popupCustomers.IsOpen = true;
}
internal void SetSelectedCustomerOid(long pOid)
{
var items = SearchView.Customers;
if (items == null || items.Count == 0) { }
if (items != null)
{
CompactCustomerDC found = null;
foreach (var sc in items)
if (found == null)
if (sc != null && sc.CustomerOid == pOid)
found = sc;
if (found != null)
SetSelectedCustomer(found);
}
}
}
}