spc-kiosk-pb/Kiosk/Common/SPC.Kiosk.Common/Models/CommonModel.cs
2019-06-16 14:12:09 +09:00

461 lines
18 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using SPC.Kiosk.Base;
namespace SPC.Kiosk.Common
{
public class M_PopupReturn
{
public bool OKAnswer { get; set; }
public bool TimeOut { get; set; }
public SupportLanguageType ReturnLanguage { get; set; }
public object PopupArgs { get; set; } = null;
public object PopupSubArgs { get; set; } = null;
public ParentPage PopupParentPage { get; set; } = ParentPage.EmptyPage;
}
/// <summary>
/// a Basket Item
/// </summary>
/// 2019-04-05 - 1997fx11 : SetItem 관련 참조
public class M_BasketItem : ViewModelBase
{
/// <summary>
/// Index No
/// </summary>
public int Index { get; set; } = 0;
/// <summary>
/// PLU_Index No
/// </summary>
public int p_Index { get; set; } = 0;
/// <summary>
/// Item Add Type
/// </summary>
public BasketItemType ItemType { get; set; }
/// <summary>
/// Item Code
/// </summary>
public string ItemCode { get; set; } = string.Empty;
/// <summary>
/// Item Base Price
/// </summary>
public double BasePrice { get; set; } = 0d;
private double price = 0d;
/// <summary>
/// Item Price With Option
/// </summary>
public double Price
{
get { return price; }
set { price = value; PropertyChange("Price"); }
}
private double campaignPrice = 0d;
public double CampaignPrice
{
get { return campaignPrice; }
set { campaignPrice = value; PropertyChange("CampaignPrice"); }
}
private int count = 1;
/// <summary>
/// Item Count
/// </summary>
public int Count
{
get { return count; }
set { count = value; PropertyChange("Count"); }
}
/// <summary>
/// Is Coupon DC
/// </summary>
public bool IsCouponDC { get; set; } = false;
private double couponDiscount = 0d;
/// <summary>
/// Coupon DC Price
/// </summary>
public double CouponDiscount
{
get { return couponDiscount; }
set { couponDiscount = value; PropertyChange("CouponDiscount"); }
}
/// <summary>
/// Item Image
/// </summary>
public string ItemImage { get; set; }
/// <summary>
/// Item Name
/// </summary>
public List<M_Language> ItemName { get; set; }
/// <summary>
/// Item Count Label
/// </summary>
public List<M_Language> ItemCountLabel { get; set; }
/// <summary>
/// Item Price Label
/// </summary>
public List<M_Language> ItemPriceLabel { get; set; }
private List<M_Language> allOptionLabel;
/// <summary>
/// Selected Options Names
/// </summary>
public List<M_Language> AllOptionLabel
{
get { return allOptionLabel; }
set { allOptionLabel = value; PropertyChange("AllOptionLabel"); }
}
private List<M_ItemOptionGroup> option;
/// <summary>
/// Item Options
/// </summary>
public List<M_ItemOptionGroup> Option
{
get { return option; }
set { option = value; PropertyChange("Option"); }
}
/// <summary>
/// Minus Normal Brush
/// </summary>
public string MinusNormalBrush { get; set; } = "pack://application:,,,/SPC.Kiosk.Common;component/Resource/btn_move01_left_basic.png";
/// <summary>
/// Minus Down Brush
/// </summary>
public string MinusDownBrush { get; set; } = "pack://application:,,,/SPC.Kiosk.Common;component/Resource/btn_move01_left_press.png";
/// <summary>
/// Plus Normal Brush
/// </summary>
public string PlusNormalBrush { get; set; } = "pack://application:,,,/SPC.Kiosk.Common;component/Resource/btn_move01_right_basic.png";
/// <summary>
/// Plus Down Brush
/// </summary>
public string PlusDownBrush { get; set; } = "pack://application:,,,/SPC.Kiosk.Common;component/Resource/btn_move01_right_press.png";
}
/// <summary>
/// Button Send Events Args
/// </summary>
public class M_ItemDropEventArgs
{
/// <summary>
/// Send Object
/// </summary>
public object SourceObject { get; set; } = null;
/// <summary>
/// Target Object
/// </summary>
public object TargetObject { get; set; } = null;
}
public class M_IntroItems
{
public int ItemsStack { get; set; } = 1;
public double StackWidth { get; set; } = double.NaN;
public List<M_StackContents> StackContents { get; set; } = null;
}
public class M_StackContents
{
public int ItemsIndex { get; set; } = 0;
public List<M_MediaRollItem> MediaRollItems { get; set; } = null;
}
/// <summary>
/// Media Rolling Item Model
/// </summary>
public class M_MediaRollItem
{
/// <summary>
/// Media Type Image or VOD
/// </summary>
public MediaType Type { get; set; } = MediaType.None;
/// <summary>
/// Media File Path
/// </summary>
public string MediaPath { get; set; } = string.Empty;
/// <summary>
/// Media Show Running Time Seconds
/// </summary>
public double RunnigSeconds { get; set; } = 0;
public bool RepeatMedia { get; set; }
public TimeSpan StartTime { get; set; } = default(TimeSpan);
public TimeSpan EndTime { get; set; } = default(TimeSpan);
public IntroLinkType LinkType { get; set; } = IntroLinkType.None;
public string LinkParameter { get; set; } = string.Empty;
}
/// <summary>
/// Button List Item Collection
/// </summary>
public class M_ItemData
{
public int Index { get; set; } = -1;
public string ItemCode { get; set; } = string.Empty;
public string Category1 { get; set; } = string.Empty;
public string Category2 { get; set; } = string.Empty;
public string ImageFile { get; set; } = string.Empty;
public double Price { get; set; } = 0d;
public bool IsOption { get; set; }
public bool IsSoldOut { get; set; }
public List<M_ItemOptionGroup> Option { get; set; }
public M_AnimationButton DataParameter { get; set; }
public M_TextBlock BaseTextBlock { get; set; }
public M_TextBlock AdditionTextBlock { get; set; }
public List<string> BadgeImages { get; set; } = null;
public double BadgeHeight { get; set; } = 0d;
public HorizontalAlignment BadgeHorizontalAlignment { get; set; } = HorizontalAlignment.Center;
public VerticalAlignment BadgeVerticalAlignment { get; set; } = VerticalAlignment.Center;
public Orientation BadgeOrientation { get; set; } = Orientation.Horizontal;
}
public class M_ItemOptionGroup
{
public int Index { get; set; } = -1;
public string Code { get; set; } = string.Empty;
public string ImageFile { get; set; } = string.Empty;
public OptionSelectMode SelectMode { get; set; } = OptionSelectMode.None;
public bool IsMustSelect { get; set; }
public List<M_Language> Name { get; set; }
public List<M_ItemOption> Options { get; set; }
public M_ItemOptionGroup Clone()
{
M_ItemOptionGroup result = null;
try
{
result = new M_ItemOptionGroup
{
Index = Index,
Code = Code,
ImageFile = ImageFile,
SelectMode = SelectMode,
IsMustSelect = IsMustSelect,
};
var newName = new List<M_Language>();
foreach (var aLanguage in Name)
{
newName.Add(aLanguage.Clone());
}
result.Name = newName;
var newOptions = new List<M_ItemOption>();
foreach (var aOption in Options)
{
newOptions.Add(aOption.Clone());
}
result.Options = newOptions;
}
catch
{
result = null;
}
return result;
}
}
public class M_ItemOption
{
public int Index { get; set; } = -1;
public string Code { get; set; } = string.Empty;
public List<M_Language> Name { get; set; }
public bool IsSelected { get; set; }
public double SelectValue { get; set; } = 0d;
public OptionKind Kind { get; set; } = OptionKind.None;
public string KindCode { get; set; } = string.Empty;
public double Amount { get; set; } = 0d;
public int AmountMin { get; set; } = 0;
public int AmountMax { get; set; } = 0;
public M_ItemOption Clone()
{
M_ItemOption result = null;
try
{
result = new M_ItemOption
{
Index = Index,
Code = Code,
IsSelected = IsSelected,
SelectValue = SelectValue,
Kind = Kind,
KindCode = KindCode,
Amount= Amount,
AmountMin = AmountMin,
AmountMax = AmountMax,
};
var newName = new List<M_Language>();
foreach (var aLanguage in Name)
{
newName.Add(aLanguage.Clone());
}
result.Name = newName;
}
catch
{
result = null;
}
return result;
}
}
public class M_AnimationButton
{
public double Width { get; set; } = double.NaN;
public double Height { get; set; } = double.NaN;
public Thickness Margin { get; set; }
public string NormalBrush { get; set; } = string.Empty;
public string DownBrush { get; set; } = string.Empty;
public string DisableBrush { get; set; } = string.Empty;
public string SwitchOnBrush { get; set; } = string.Empty;
public string DragCursorImage { get; set; } = string.Empty;
public HotSpotType DragCursorHotSpot { get; set; } = HotSpotType.LeftTop;
public Stretch BrushStretch { get; set; } = Stretch.Fill;
public bool Enabled { get; set; } = true;
public bool Switch { get; set; }
public bool IsBreathing { get; set; } = false;
public bool AutoToggle { get; set; }
public bool ClickSend { get; set; }
public string BaseGrid { get; set; } = string.Empty;
public string ReciveElement { get; set; } = string.Empty;
public ButtonAnimationType ClickAnimationType { get; set; } = ButtonAnimationType.None;
public ButtonAnimationType DropAnimationType { get; set; } = ButtonAnimationType.None;
public List<M_Language> LanguageText { get; set; } = null;
public string Text { get; set; } = string.Empty;
public Visibility TextVisible { get; set; } = Visibility.Collapsed;
public string TextForeground { get; set; } = string.Empty;
public string SwitchOnForeground { get; set; } = string.Empty;
public string DisableForeground { get; set; } = string.Empty;
public VerticalAlignment TextVerticalAlignment { get; set; } = VerticalAlignment.Center;
public HorizontalAlignment TextHorizontalAlignment { get; set; } = HorizontalAlignment.Center;
public string TextFontFamily { get; set; } = string.Empty;
public double TextFontSize { get; set; } = 12;
public double SwitchOnFontSize { get; set; } = 12;
public double DisableFontSize { get; set; } = 12;
public FontWeight TextFontWeight { get; set; } = FontWeights.Normal;
public FontWeight SwitchOnFontWeight { get; set; } = FontWeights.Normal;
public FontWeight DisableWeight { get; set; } = FontWeights.Normal;
public TextWrapping TextWrapping { get; set; } = TextWrapping.Wrap;
public TextAlignment TextAlignment { get; set; } = TextAlignment.Center;
public Thickness TextMargin { get; set; }
public bool DragEnable { get; set; }
public double CircleSize { get; set; } = 30d;
public string CircleBackBrush { get; set; } = string.Empty;
public string CircleTextBruch { get; set; } = string.Empty;
public string CircleText { get; set; } = string.Empty;
public bool CircleOuter { get; set; }
public SupportLanguageType DisplayLanguage { get; set; }
};
/// <summary>
/// Button List Item Text Box Collection
/// </summary>
public class M_TextBlock
{
public List<M_Language> LanguageData { get; set; } = null;
public double Width { get; set; } = double.NaN;
public double Height { get; set; } = double.NaN;
public double TextSize { get; set; } = 12;
public string TextBrush { get; set; } = "Transparent";
public FontWeight TextWeight { get; set; } = FontWeights.Normal;
public string TextFontFamily { get; set; } = "NanumSquare";
public VerticalAlignment TextVerticalAlignment { get; set; } = VerticalAlignment.Center;
public HorizontalAlignment TextHorizontalAlignment { get; set; } = HorizontalAlignment.Center;
public TextAlignment TextAlignment { get; set; } = TextAlignment.Center;
public TextWrapping TextWrapping { get; set; } = TextWrapping.Wrap;
public bool AutoTextTrim { get; set; } = false;
public Thickness TextMargin { get; set; }
}
public class M_MultiLanguage
{
public string MessageCode { get; set; }
public List<M_Language> MessageData {get; set;}
}
public class M_Language
{
public SupportLanguageType Type { get; set; }
public string LanguageData { get; set; }
public M_Language Clone()
{
M_Language result = null;
try
{
result = new M_Language
{
Type = Type,
LanguageData = LanguageData,
};
}
catch
{
result = null;
}
return result;
}
}
//public class NhsFuncInfo
//{
// /// <summary>
// /// STEP01 포인트 적립 - 해피포인트 적립
// /// </summary>
// public string SaveHappyPoint { get; set; }
// /// <summary>
// /// STEP01 포인트 적립 - OK CASHBAG 적립
// /// </summary>
// public string SaveOkCashBag { get; set; }
// /// <summary>
// /// STEP01 통신사 할인 - SKT
// /// </summary>
// public string DiscountSKT { get; set; }
// /// <summary>
// /// STEP01 통신사 할인 - KT
// /// </summary>
// public string DiscountKT { get; set; }
// /// <summary>
// /// STEP01 통신사 할인 - LGT
// /// </summary>
// public string DiscountLG { get; set; }
// /// <summary>
// /// STEP02 포인트 사용 - 해피포인트 사용
// /// </summary>
// public string UsePointHappyPoint { get; set; }
// /// <summary>
// /// STEP02 포인트 사용 - OK CASHBAG 사용
// /// </summary>
// public string UsePointOkCashBag { get; set; }
// /// <summary>
// /// STEP02 쿠폰 사용 - 해피쿠폰할인
// /// </summary>
// public string UseCouponHappy { get; set; }
// /// <summary>
// /// STEP02 쿠폰 사용 - 모바일쿠폰
// /// </summary>
// public string UseCouponMobile { get; set; }
// /// <summary>
// /// STEP03 카드 결제 - 신용카드
// /// </summary>
// public string UseCardPaymentCreditCard { get; set; }
// /// <summary>
// /// STEP03 카드 결제 - SPC 사원증
// /// </summary>
// public string UseCardPaymentSPCEmployeeCertificate { get; set; }
// /// <summary>
// /// STEP03 카드 결제 - HAPPY GIFT
// /// </summary>
// public string UseCardPaymentHappyGift { get; set; }
// /// <summary>
// /// STEP03 카드 결제 - 삼성/LG 페이
// /// </summary>
// public string UseCardPaymentSamsungLGPay { get; set; }
// /// <summary>
// /// STEP03 카드 결제 - 스마일페이
// /// </summary>
// public string UseCardPaymentSmilePay { get; set; }
//}
}