using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using SPC.Kiosk.Base;
using SPC.Kiosk.Common;
using SPC.Kiosk.PB.Model;
namespace SPC.Kiosk.PB
{
///
/// DiscountAndValue.xaml에 대한 상호 작용 논리
///
public partial class DiscountAndValue : UserControl
{
#region [ Members ]
///
/// ItemData
///
public static readonly DependencyProperty ItemDataProperty =
DependencyProperty.Register(nameof(ItemData), typeof(M_DiscountAndAddValues), typeof(DiscountAndValue), new PropertyMetadata(null, new PropertyChangedCallback(OnItemDataPropertyChanged)));
///
/// Display Language
///
public static readonly DependencyProperty DisplayLanguagePropery =
DependencyProperty.Register(nameof(DisplayLanguage), typeof(SupportLanguageType), typeof(DiscountAndValue), new PropertyMetadata(SupportLanguageType.ko));
///
/// ItemData
///
public M_DiscountAndAddValues ItemData
{
get { return (M_DiscountAndAddValues)GetValue(ItemDataProperty); }
set { SetValue(ItemDataProperty, value); }
}
///
/// Display Language
///
public SupportLanguageType DisplayLanguage
{
get { return (SupportLanguageType)GetValue(DisplayLanguagePropery); }
set { SetValue(DisplayLanguagePropery, value); }
}
#endregion Members
#region [ Ctor & Etc ]
///
/// Ctor
///
public DiscountAndValue()
{
//this.ItemName.Text = string.Empty;
InitializeComponent();
}
#endregion Ctor & Etc
#region [ Methods ]
#endregion Methods
#region [ Event Handlers ]
private static void OnItemDataPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
try
{
if (e.NewValue is M_DiscountAndAddValues newValue)
{
var target = d as DiscountAndValue;
switch (newValue.DiscountType)
{
case PaymentsDiscountAndAddType.BonusGift:
target.ItemPrice.Foreground = new SolidColorBrush(Colors.Black);
target.ItemCount.Text = newValue.AddCount.ToString("#0");
target.ItemPrice.Text = (newValue.AddCount * newValue.AddValue).ToString("#,##0");
break;
case PaymentsDiscountAndAddType.None:
default:
target.ItemPrice.Foreground = new SolidColorBrush(Color.FromRgb(0xFE, 0x3E, 0x3E));
target.ItemCount.Text = string.Empty;
target.ItemPrice.Text = (newValue.DiscountValue * -1).ToString("#,##0");
break;
}
}
}
catch (Exception ex)
{
CommonLog.ErrorLogWrite(d, "OnItemDataPropertyChanged()", "Fail !!", string.Format("{0}\n{1}", ex.Message, ex.StackTrace));
}
}
#endregion Event Handlers
}
}