Files
BeWoPlaner/BeWo/ViewModel/WohnheimEmployeeRelationVM.cs

136 lines
4.6 KiB
C#
Raw Permalink Normal View History

2016-06-27 01:45:38 +02:00
using BeWo.Validation;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
namespace BeWo.ViewModel
{
public class WohnheimEmployeeRelationVM : AbstractDCMapperVM<WohnheimEmployeeRelationDC>
{
public static string PropertyName_Wohnheim = "Wohnheim";
public static string PropertyName_WohnheimString = "WohnheimString";
public static string PropertyName_Employee = "Employee";
public static string PropertyName_EmployeeString = "EmployeeString";
public static string PropertyName_Notice = "Notice";
public static string PropertyName_Role = "Role";
private CompactWohnheimDC _Wohnheim;
private CompactEmployeeDC _Employee;
private string _Notice;
private ValueListEntryDC _Role;
public WohnheimEmployeeRelationVM(WohnheimEmployeeRelationDC pDC) : base(pDC, pDC.Employee2WohnheimOid == null)
{
}
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
public CompactWohnheimDC Wohnheim
{
get { return this._Wohnheim; }
set
{
if (this.AreDifferent(this._Wohnheim, value))
{
this._Wohnheim = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Wohnheim, value), PropertyName_Wohnheim);
this.FirePropertyChanged(PropertyName_Wohnheim);
this.FirePropertyChanged(PropertyName_WohnheimString);
}
}
}
[ValidationAttribute(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
public string WohnheimString
{
get { return this._Wohnheim.ToStringNullCheck(); } // Validation Workaround
set { }
}
[ValidationAttribute(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
public CompactEmployeeDC Employee
{
get { return this._Employee; }
set
{
if (this.AreDifferent(this._Employee, value))
{
this._Employee = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Employee, value), PropertyName_Employee);
this.FirePropertyChanged(PropertyName_Employee);
this.FirePropertyChanged(PropertyName_EmployeeString);
}
}
}
[ValidationAttribute(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
public string EmployeeString
{
get { return this._Employee.ToStringNullCheck(); } // Validation Workaround
set { }
}
public string Notice
{
get { return this._Notice; }
set
{
if (this.AreDifferent(this._Notice, value))
{
this._Notice = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Notice, value), PropertyName_Notice);
this.FirePropertyChanged(PropertyName_Notice);
}
}
}
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
public ValueListEntryDC Role
{
get { return this._Role; }
set
{
if (this.AreDifferent(this._Role, value))
{
this._Role = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.RelationRole, value), PropertyName_Role);
this.FirePropertyChanged(PropertyName_Role);
}
}
}
protected override void InitByDataContract(WohnheimEmployeeRelationDC pDataContract)
{
if (!this.IsNew)
{
this._Employee = pDataContract.Employee;
this._Wohnheim = pDataContract.Wohnheim;
this._Role = pDataContract.RelationRole;
this._Notice = pDataContract.Notice;
}
}
protected override WohnheimEmployeeRelationDC MapToDataContract(WohnheimEmployeeRelationDC pDataContract, bool doCommit)
{
pDataContract.Employee = this._Employee;
pDataContract.Wohnheim = this._Wohnheim;
pDataContract.RelationRole = this._Role;
pDataContract.Notice = this._Notice;
return pDataContract;
}
}
}