using System;
using System.Linq;
using System.Windows;
using Comal.Classes;
using InABox.Clients;
using InABox.Core;
using InABox.Wpf;
namespace PRSDesktop.Shipping
{
///
/// Interaction logic for EditShipment.xaml
///
public partial class EditShipment : ThemableWindow
{
private readonly Shipment Shipment;
public EditShipment(Shipment shipment)
{
InitializeComponent();
Shipment = shipment;
Code.Text = string.IsNullOrWhiteSpace(Shipment.Code) ? "" : Shipment.Code;
Description.Text = string.IsNullOrWhiteSpace(Shipment.Description) ? "" : Shipment.Description;
RackType.Text = string.IsNullOrWhiteSpace(Shipment.Type) ? "" : Shipment.Type;
var trackers = new Client().Load(null, new SortOrder(x => x.Description));
Tracker.ItemsSource = trackers.Select(x => new { x.ID, Name = string.Format("{0} ({1})", x.Description, x.DeviceID) }).ToList();
Tracker.DisplayMemberPath = "Name";
Tracker.SelectedValuePath = "ID";
Tracker.SelectedValue = Shipment.TrackerLink.ID;
Barcode.Text = Shipment.BarCode;
}
private void OKButton_Click(object sender, RoutedEventArgs e)
{
Shipment.Code = Code.Text;
Shipment.Description = Description.Text;
Shipment.Type = RackType.Text;
Shipment.TrackerLink.ID = Tracker.SelectedValue != null ? (Guid)Tracker.SelectedValue : Guid.Empty;
DialogResult = true;
Close();
}
private void CancelButton_Click(object sender, RoutedEventArgs e)
{
DialogResult = false;
Close();
}
}
}