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 CustomerOrganisationRelationVM : AbstractDCMapperVM<CustomerOrganisationRelationDC>
|
|
|
|
|
|
{
|
|
|
|
|
|
public static string PropertyName_Notice = "Notice";
|
|
|
|
|
|
|
|
|
|
|
|
public static string PropertyName_Info1 = "Info1";
|
|
|
|
|
|
|
|
|
|
|
|
public static string PropertyName_Info2 = "Info2";
|
|
|
|
|
|
|
|
|
|
|
|
public static string PropertyName_Info3 = "Info3";
|
|
|
|
|
|
|
|
|
|
|
|
public static string PropertyName_Info4 = "Info4";
|
|
|
|
|
|
|
|
|
|
|
|
public static string PropertyName_Info5 = "Info5";
|
|
|
|
|
|
|
|
|
|
|
|
public static string PropertyName_Organisation = "Organisation";
|
|
|
|
|
|
|
2016-12-08 14:17:41 +01:00
|
|
|
|
public static string PropertyName_Person = "Person";
|
|
|
|
|
|
|
2016-06-27 01:45:38 +02:00
|
|
|
|
public static string PropertyName_OrganisationString = "OrganisationString";
|
|
|
|
|
|
|
2016-12-08 14:17:41 +01:00
|
|
|
|
public static string PropertyName_PersonString = "PersonString";
|
|
|
|
|
|
|
2016-06-27 01:45:38 +02:00
|
|
|
|
public static string PropertyName_Role = "Role";
|
|
|
|
|
|
|
|
|
|
|
|
public static string PropertyName_AddressSummaryInfo = "AddressSummaryInfo";
|
|
|
|
|
|
|
|
|
|
|
|
public static string PropertyName_ContactSummaryInfo = "ContactSummaryInfo";
|
|
|
|
|
|
|
|
|
|
|
|
private string _Notice;
|
|
|
|
|
|
|
|
|
|
|
|
private string _Info1;
|
|
|
|
|
|
|
|
|
|
|
|
private string _Info2;
|
|
|
|
|
|
|
|
|
|
|
|
private string _Info3;
|
|
|
|
|
|
|
|
|
|
|
|
private string _Info4;
|
|
|
|
|
|
|
|
|
|
|
|
private string _Info5;
|
|
|
|
|
|
|
|
|
|
|
|
private CompactOrganisationDC _Organisation;
|
|
|
|
|
|
|
2016-12-08 14:17:41 +01:00
|
|
|
|
private CompactPersonDC _Person;
|
|
|
|
|
|
|
2016-06-27 01:45:38 +02:00
|
|
|
|
private ValueListEntryDC _Role;
|
|
|
|
|
|
|
|
|
|
|
|
public CustomerOrganisationRelationVM(CustomerOrganisationRelationDC pDC)
|
|
|
|
|
|
: base(pDC, pDC.Customer2OrganisationOid == null)
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public string Notice
|
|
|
|
|
|
{
|
|
|
|
|
|
get { return this._Notice; }
|
|
|
|
|
|
|
|
|
|
|
|
set
|
|
|
|
|
|
{
|
|
|
|
|
|
if (this.AreDifferent(this._Notice, value))
|
|
|
|
|
|
{
|
|
|
|
|
|
this._Notice = value;
|
|
|
|
|
|
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Customer2OrganisationNotice, value), PropertyName_Notice);
|
|
|
|
|
|
this.FirePropertyChanged(PropertyName_Notice);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public string Info1
|
|
|
|
|
|
{
|
|
|
|
|
|
get { return this._Info1; }
|
|
|
|
|
|
|
|
|
|
|
|
set
|
|
|
|
|
|
{
|
|
|
|
|
|
if (this.AreDifferent(this._Info1, value))
|
|
|
|
|
|
{
|
|
|
|
|
|
this._Info1 = value;
|
|
|
|
|
|
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Info1, value), PropertyName_Info1);
|
|
|
|
|
|
this.FirePropertyChanged(PropertyName_Info1);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public string Info2
|
|
|
|
|
|
{
|
|
|
|
|
|
get { return this._Info2; }
|
|
|
|
|
|
|
|
|
|
|
|
set
|
|
|
|
|
|
{
|
|
|
|
|
|
if (this.AreDifferent(this._Info2, value))
|
|
|
|
|
|
{
|
|
|
|
|
|
this._Info2 = value;
|
|
|
|
|
|
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Info2, value), PropertyName_Info2);
|
|
|
|
|
|
this.FirePropertyChanged(PropertyName_Info2);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public string Info3
|
|
|
|
|
|
{
|
|
|
|
|
|
get { return this._Info3; }
|
|
|
|
|
|
|
|
|
|
|
|
set
|
|
|
|
|
|
{
|
|
|
|
|
|
if (this.AreDifferent(this._Info3, value))
|
|
|
|
|
|
{
|
|
|
|
|
|
this._Info3 = value;
|
|
|
|
|
|
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Info3, value), PropertyName_Info3);
|
|
|
|
|
|
this.FirePropertyChanged(PropertyName_Info3);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public string Info4
|
|
|
|
|
|
{
|
|
|
|
|
|
get { return this._Info4; }
|
|
|
|
|
|
|
|
|
|
|
|
set
|
|
|
|
|
|
{
|
|
|
|
|
|
if (this.AreDifferent(this._Info4, value))
|
|
|
|
|
|
{
|
|
|
|
|
|
this._Info4 = value;
|
|
|
|
|
|
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Info4, value), PropertyName_Info4);
|
|
|
|
|
|
this.FirePropertyChanged(PropertyName_Info4);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public string Info5
|
|
|
|
|
|
{
|
|
|
|
|
|
get { return this._Info5; }
|
|
|
|
|
|
|
|
|
|
|
|
set
|
|
|
|
|
|
{
|
|
|
|
|
|
if (this.AreDifferent(this._Info5, value))
|
|
|
|
|
|
{
|
|
|
|
|
|
this._Info5 = value;
|
|
|
|
|
|
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Info5, value), PropertyName_Info5);
|
|
|
|
|
|
this.FirePropertyChanged(PropertyName_Info5);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public CompactOrganisationDC Organisation
|
|
|
|
|
|
{
|
|
|
|
|
|
get { return this._Organisation; }
|
|
|
|
|
|
|
|
|
|
|
|
set
|
|
|
|
|
|
{
|
|
|
|
|
|
if (this.AreDifferent(this._Organisation, value))
|
|
|
|
|
|
{
|
|
|
|
|
|
this._Organisation = value;
|
|
|
|
|
|
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Organisation, value), PropertyName_Organisation);
|
|
|
|
|
|
this.FirePropertyChanged(PropertyName_Organisation);
|
|
|
|
|
|
this.FirePropertyChanged(PropertyName_OrganisationString);
|
|
|
|
|
|
this.FirePropertyChanged(PropertyName_AddressSummaryInfo);
|
|
|
|
|
|
this.FirePropertyChanged(PropertyName_ContactSummaryInfo);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2016-12-08 14:17:41 +01:00
|
|
|
|
public CompactPersonDC Person
|
|
|
|
|
|
{
|
|
|
|
|
|
get { return this._Person; }
|
|
|
|
|
|
|
|
|
|
|
|
set
|
|
|
|
|
|
{
|
|
|
|
|
|
if (this.AreDifferent(this._Person, value))
|
|
|
|
|
|
{
|
|
|
|
|
|
this._Person = value;
|
|
|
|
|
|
this.StoreDirtyInformation(this.AreDifferent(DataContract.Person, value), PropertyName_Person);
|
|
|
|
|
|
this.FirePropertyChanged(PropertyName_Person);
|
|
|
|
|
|
this.FirePropertyChanged(PropertyName_PersonString);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2016-06-27 01:45:38 +02:00
|
|
|
|
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
|
|
|
|
|
|
public string OrganisationString
|
|
|
|
|
|
{
|
|
|
|
|
|
get { return this._Organisation.ToStringNullCheck(); } // Validation Workaround
|
|
|
|
|
|
set { }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2016-12-08 14:17:41 +01:00
|
|
|
|
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
|
|
|
|
|
|
public string PersonString
|
|
|
|
|
|
{
|
|
|
|
|
|
get { return _Person.ToStringNullCheck(); } // Validation Workaround
|
|
|
|
|
|
set { }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2016-06-27 01:45:38 +02:00
|
|
|
|
[ValidationAttribute(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);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public string AddressSummaryInfo
|
|
|
|
|
|
{
|
|
|
|
|
|
get
|
|
|
|
|
|
{
|
|
|
|
|
|
string address = _Organisation != null ? _Organisation.Street : string.Empty;
|
|
|
|
|
|
if (!string.IsNullOrEmpty(address))
|
|
|
|
|
|
{
|
|
|
|
|
|
address += "\n";
|
|
|
|
|
|
}
|
|
|
|
|
|
if (address == null)
|
|
|
|
|
|
{
|
|
|
|
|
|
address = string.Empty;
|
|
|
|
|
|
}
|
|
|
|
|
|
address += _Organisation != null ? _Organisation.PostalCode + " " + this._Organisation.Town : string.Empty;
|
|
|
|
|
|
|
|
|
|
|
|
return address;
|
|
|
|
|
|
}
|
|
|
|
|
|
set { }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public string ContactSummaryInfo
|
|
|
|
|
|
{
|
|
|
|
|
|
get
|
|
|
|
|
|
{
|
|
|
|
|
|
string info = string.Empty;
|
|
|
|
|
|
|
|
|
|
|
|
if (!string.IsNullOrEmpty(this._Organisation.Communication1))
|
|
|
|
|
|
info = "Tel.: " + this._Organisation.Communication1;
|
|
|
|
|
|
if (!string.IsNullOrEmpty(this._Organisation.Communication2))
|
|
|
|
|
|
{
|
|
|
|
|
|
if (info.Length > 0)
|
|
|
|
|
|
info += "\n";
|
|
|
|
|
|
info += "Fax: " + this._Organisation.Communication2;
|
|
|
|
|
|
}
|
|
|
|
|
|
if (!string.IsNullOrEmpty(this._Organisation.Communication3))
|
|
|
|
|
|
{
|
|
|
|
|
|
if (info.Length > 0)
|
|
|
|
|
|
info += "\n";
|
|
|
|
|
|
info += "E-Mail: " + this._Organisation.Communication3;
|
|
|
|
|
|
}
|
|
|
|
|
|
if (!string.IsNullOrEmpty(this._Organisation.Communication4))
|
|
|
|
|
|
{
|
|
|
|
|
|
if (info.Length > 0)
|
|
|
|
|
|
info += "\n";
|
|
|
|
|
|
info += "Internet: " + this._Organisation.Communication4;
|
|
|
|
|
|
}
|
|
|
|
|
|
return info;
|
|
|
|
|
|
}
|
|
|
|
|
|
set { }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override void InitByDataContract(CustomerOrganisationRelationDC pDataContract)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (this.IsNew)
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
|
|
this._Notice = pDataContract.Customer2OrganisationNotice;
|
|
|
|
|
|
this._Info1 = pDataContract.Info1;
|
|
|
|
|
|
this._Info2 = pDataContract.Info2;
|
|
|
|
|
|
this._Info3 = pDataContract.Info3;
|
|
|
|
|
|
this._Info4 = pDataContract.Info4;
|
|
|
|
|
|
this._Info5 = pDataContract.Info5;
|
|
|
|
|
|
|
|
|
|
|
|
this._Organisation = pDataContract.Organisation;
|
|
|
|
|
|
this._Role = pDataContract.RelationRole;
|
2016-12-08 14:17:41 +01:00
|
|
|
|
_Person = pDataContract.Person;
|
2016-06-27 01:45:38 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override CustomerOrganisationRelationDC MapToDataContract(CustomerOrganisationRelationDC pDataContract, bool doCommit)
|
|
|
|
|
|
{
|
|
|
|
|
|
pDataContract.Customer2OrganisationNotice = this._Notice;
|
|
|
|
|
|
pDataContract.Organisation = this._Organisation;
|
|
|
|
|
|
pDataContract.RelationRole = this._Role;
|
|
|
|
|
|
pDataContract.Info1 = this._Info1;
|
|
|
|
|
|
pDataContract.Info2 = this._Info2;
|
|
|
|
|
|
pDataContract.Info3 = this._Info3;
|
|
|
|
|
|
pDataContract.Info4 = this._Info4;
|
|
|
|
|
|
pDataContract.Info5 = this._Info5;
|
|
|
|
|
|
|
2016-12-08 14:17:41 +01:00
|
|
|
|
pDataContract.Person = _Person;
|
|
|
|
|
|
|
2016-06-27 01:45:38 +02:00
|
|
|
|
return pDataContract;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|