Files
BeWoPlaner/BeWo/ViewModel/AssessmentSheetValueVM.cs
2016-06-27 01:45:38 +02:00

148 lines
4.8 KiB
C#

using System.Windows.Media;
using BeWo.Validation;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
namespace BeWo.ViewModel
{
public class AssessmentSheetValueVM : AbstractDCMapperVM<AssessmentSheetValueDC>
{
public static string PropertyName_Brush = "Brush";
public static string PropertyName_Description = "Description";
public static string PropertyName_Position = "Position";
public static string PropertyName_ShortcutKey = "ShortcutKey";
public static string PropertyName_Sign = "Sign";
private SolidColorBrush _Brush;
private string _BrushString;
private string _Description;
private int _Position;
private string _ShortcutKey;
private string _Sign;
public AssessmentSheetValueVM(AssessmentSheetValueDC pDC) : base(pDC, pDC.AssessmentSheetValueOid == null)
{
}
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
public SolidColorBrush Brush
{
get { return this._Brush; }
set
{
if (this.AreDifferent(this._Brush, value))
{
this._Brush = value;
this._BrushString = value.ToStringNullCheck();
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Color, value.ToString()), PropertyName_Brush);
this.FirePropertyChanged(PropertyName_Brush);
}
}
}
public string Description
{
get { return this._Description; }
set
{
if (this.AreDifferent(this._Description, value))
{
this._Description = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Description, value), PropertyName_Description);
this.FirePropertyChanged(PropertyName_Description);
}
}
}
public int Position
{
get { return this._Position; }
set
{
if (this.AreDifferent(this._Position, value))
{
this._Position = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Position, value), PropertyName_Position);
this.FirePropertyChanged(PropertyName_Position);
}
}
}
public string ShortcutKey
{
get { return this._ShortcutKey; }
set
{
if (this.AreDifferent(this._ShortcutKey, value))
{
this._ShortcutKey = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.ShortcutKey, value), PropertyName_ShortcutKey);
this.FirePropertyChanged(PropertyName_ShortcutKey);
}
}
}
public string Sign
{
get { return this._Sign; }
set
{
if (this.AreDifferent(this._Sign, value))
{
this._Sign = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Sign, value), PropertyName_Sign);
this.FirePropertyChanged(PropertyName_Sign);
}
}
}
public static int Compare(AssessmentSheetValueVM x, AssessmentSheetValueVM y)
{
if (x.Position.Equals(y.Position) && x.Description != null)
{
return x.Description.CompareTo(y.Description);
}
return x.Position.CompareTo(y.Position);
}
protected override void InitByDataContract(AssessmentSheetValueDC pDataContract)
{
this._Description = pDataContract.Description;
if (!string.IsNullOrEmpty(pDataContract.Color))
{
this.Brush = (SolidColorBrush)new BrushConverter().ConvertFrom(pDataContract.Color);
}
this._ShortcutKey = pDataContract.ShortcutKey;
this._Sign = pDataContract.Sign;
this._Position = pDataContract.Position;
}
protected override AssessmentSheetValueDC MapToDataContract(AssessmentSheetValueDC pDataContract, bool doCommit)
{
pDataContract.Description = this._Description;
pDataContract.Color = this._BrushString;
pDataContract.ShortcutKey = this._ShortcutKey;
pDataContract.Sign = this._Sign;
pDataContract.Position = this._Position;
return pDataContract;
}
}
}