Class AchievementSyncFieldChange
One field's comparison result between an authored achievement and its platform counterpart, for one locale when the field is localized.
Inherited Members
Namespace: Serenity.Achievements.Application.Sync
Assembly: Serenity.Achievements.Application.dll
Syntax
public sealed class AchievementSyncFieldChange
Remarks
A localized field (DisplayName, Description) produces one change per locale the planner was asked to diff, so the review UI can accept "the Spanish name" without also accepting the English one. LocaleCode is empty for every non-localized field.
Constructors
AchievementSyncFieldChange(Fields)
Creates a field change.
Declaration
public AchievementSyncFieldChange(AchievementSyncFieldChange.Fields fields)
Parameters
| Type | Name | Description |
|---|---|---|
| AchievementSyncFieldChange.Fields | fields | The values to build it from. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException | When no fields were given. |
Properties
ChangeKind
Declaration
public AchievementSyncChangeKind ChangeKind { get; }
Property Value
| Type | Description |
|---|---|
| AchievementSyncChangeKind | What the comparison resolved to. |
Direction
Declaration
public AchievementSyncDirection Direction { get; }
Property Value
| Type | Description |
|---|---|
| AchievementSyncDirection | The direction this comparison was made for. |
IsAcceptedOnlyOnItsOwn
Declaration
public bool IsAcceptedOnlyOnItsOwn { get; }
Property Value
| Type | Description |
|---|---|
| bool | Whether an author accepts this change only by ticking its own row: an Offered change, which replaces something the project already holds, and a LocalizationKeyAdoption row, which changes the identity the achievement syncs under from then on. Neither is something to push through a bulk confirmation. |
IsBulkSelectable
Declaration
public bool IsBulkSelectable { get; }
Property Value
| Type | Description |
|---|---|
| bool | Whether an accept-all, an accept-item and an invert may pick this change up: the ones the plan itself recommends, Add and Update, unless the change is IsAcceptedOnlyOnItsOwn. |
IsSelectable
Declaration
public bool IsSelectable { get; }
Property Value
| Type | Description |
|---|---|
| bool | Whether this change is one an author can accept or reject at all — true for Add, Update and Offered, the change kinds that carry anything to apply. |
Kind
Declaration
public AchievementSyncFieldKind Kind { get; }
Property Value
| Type | Description |
|---|---|
| AchievementSyncFieldKind | Which achievement field this change is about. |
LocalValue
Declaration
public string LocalValue { get; }
Property Value
| Type | Description |
|---|---|
| string | The value on the authored (local) side. |
LocaleCode
Declaration
public string LocaleCode { get; }
Property Value
| Type | Description |
|---|---|
| string | The locale this change is for, or empty when Kind is not localized. |
PlatformValue
Declaration
public string PlatformValue { get; }
Property Value
| Type | Description |
|---|---|
| string | The value on the platform side. |
StorefrontIcon
Declaration
public AchievementStorefrontIcon StorefrontIcon { get; }
Property Value
| Type | Description |
|---|---|
| AchievementStorefrontIcon | The storefront's icon this change would bring in, or none when the change is not an icon pull. The connector downloads it on demand when the change is applied. |
UnsupportedReason
Declaration
public string UnsupportedReason { get; }
Property Value
| Type | Description |
|---|---|
| string | Why the field cannot travel, or empty unless ChangeKind is Unsupported. |