Class CustomizationPackageVO
- Namespace
- PHCBusinessLayer
- Assembly
- PHCBusinessLayer.dll
Entidade que representa um Pacote de Costumização
[AttTable("CustomizationPackage", 20240404)]
[AttTableTarget(DBTarget.Home)]
[AttTableGama(Gamas.Grow)]
[AttTableOrderBy("fromstore, identifier, name")]
[AttTableFlags(new TableFlags[] { TableFlags.MasterEntity, TableFlags.RequiresAdminAccess, TableFlags.TableForJorge, TableFlags.AddOnNotDeployable, TableFlags.AddOnFramework, TableFlags.AddOnNotCustomizable, TableFlags.StudioOnly, TableFlags.UseImagePicker })]
[AttTableMaintenance(typeof(CustomizationPackageMaintenance))]
[AttTableVOInfo(typeof(CustomizationPackageAttInfo))]
public class CustomizationPackageVO : BusinessVO, IBaseSerialization, ICloneVO, ICloneable, IChange, IParent, IGenericVO
- Inheritance
-
CustomizationPackageVO
Properties
AddonCategoryVO
[AttExternalCollection(typeof(AddonCategoryVO), new string[] { "[addonCategory].[addonCategorystamp]", "[CustomizationPackage].[addonCategorystamp]" })]
public AddonCategoryVO AddonCategoryVO { get; }
Property Value
addonCategorystamp
[AttLenght(25)]
[AttEntityAvailable(typeof(AddonCategoryVO))]
[AttForeignKey(CanDuplicate = true, HiddenField = false)]
[AttFieldType(new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.syncOnChange })]
public string addonCategorystamp { get; set; }
Property Value
addonproducts
[AttCollection(typeof(AddonProductVO))]
public List<AddonProductVO> addonproducts { get; set; }
Property Value
benefits
[AttCollection(typeof(CustomizationPackageBenefitVO))]
public List<CustomizationPackageBenefitVO> benefits { get; set; }
Property Value
breakNews
news of an addon
[AttFieldType(AttFieldType.InputTypes.memo)]
public string breakNews { get; set; }
Property Value
category
Category or area of business where this customization package can be included.
[AttLenght(2)]
public int category { get; set; }
Property Value
companiesRecordsStatusJSON
This field saves information about records from addons pending to be copied/deleted to/from companies. It's a JSON with a List of KeyValueVO's where the key is the companystamp and value the status (CopyRecordsStatus)
[AttHidden]
public string companiesRecordsStatusJSON { get; set; }
Property Value
contactEmail
[AttLenght(45)]
[AttRGPDrank(RGPDranks.Personal)]
[AttFieldType(AttFieldType.InputTypes.email)]
public string contactEmail { get; set; }
Property Value
contentUrls
[AttCollection(typeof(CustomizationPackageLinkVO))]
public List<CustomizationPackageLinkVO> contentUrls { get; set; }
Property Value
customizationPackageStamp
Campo único do registo, serve para ligação de outras entidades a esta entidade.
[AttLenght(25)]
public string customizationPackageStamp { get; set; }
Property Value
Remarks
Este campo identifica de forma única o registo (chave primária por defeito)
Tamanho 25
description
Customization Package Description
[AttFieldType(AttFieldType.InputTypes.memo)]
public string description { get; set; }
Property Value
edition
Edition to which we're applying this customization package
[AttLenght(2)]
[AttMandatory]
public Gamas edition { get; set; }
Property Value
errorMessage
This field stores the error messages as a json list that might have occurred during the add-on installation Example value: ["One error message", "Another error message"]
public string errorMessage { get; set; }
Property Value
features
[AttCollection(typeof(CustomizationPackageFeatureVO))]
public List<CustomizationPackageFeatureVO> features { get; set; }
Property Value
formCustomizations
[AttCollection(typeof(FormCustomizationVO))]
public List<FormCustomizationVO> formCustomizations { get; set; }
Property Value
fromstore
Indicates if this addon was installed through the app store
public bool fromstore { get; set; }
Property Value
fullName
[AttVirtualField]
public string fullName { get; set; }
Property Value
hasErrors
[AttVirtualField]
public bool hasErrors { get; set; }
Property Value
hasInstructions
[AttVirtualField]
public bool hasInstructions { get; set; }
Property Value
hasNewVersion
If this is true, then the "Upgrade version" is available
[AttVirtualField]
public bool hasNewVersion { get; set; }
Property Value
hasNews
[AttVirtualField]
public bool hasNews { get; set; }
Property Value
hasOldVersion
If this is true, then the "Revert version" is available
[AttVirtualField]
public bool hasOldVersion { get; set; }
Property Value
hideOnStore
Indicates if this package is limited to set of specific customers.
[AttFieldType(AttFieldType.InputTypes.boolean)]
public bool hideOnStore { get; set; }
Property Value
identifier
Unique identifier. This field identifies the customization package and should remain the same through all it's versions
[AttLenght(50)]
[AttMandatory]
[AttPrimaryKey]
[AttList(Inactive = true)]
public string identifier { get; set; }
Property Value
Remarks
Length 50.
identifierforparameter
Identifier withoud "_" to be user in parameters
[AttVirtualField]
public string identifierforparameter { get; }
Property Value
image
[AttExternalCollection(typeof(ImageInfoVO))]
public ImageInfoVO image { get; }
Property Value
imagestamp
[AttLenght(25)]
[AttForeignKey(typeof(ImageInfoVO), HiddenField = false, CanDuplicate = true)]
[AttRGPDrank(RGPDranks.Personal)]
[AttFieldType(AttFieldType.InputTypes.image)]
public string imagestamp { get; set; }
Property Value
inPreSale
Indicates that addon is not for sale yet
[AttFieldType(AttFieldType.InputTypes.boolean)]
public bool inPreSale { get; set; }
Property Value
installed
Indicates if this package is already installed
[AttList]
public bool installed { get; set; }
Property Value
instructions
[AttCollection(typeof(CustomizationPackageInstructionVO))]
public List<CustomizationPackageInstructionVO> instructions { get; set; }
Property Value
isprivate
Indicates if this package is limited to set of specific customers.
[AttFieldType(AttFieldType.InputTypes.boolean)]
public bool isprivate { get; set; }
Property Value
labelCategory
[AttVirtualField]
public string labelCategory { get; set; }
Property Value
language
Language where this customization package is available
[AttLenght(25)]
[AttPrimaryKey]
[AttMandatory]
[AttFieldType(AttFieldType.InputTypes.integer)]
public languages language { get; set; }
Property Value
logo
[AttExternalCollection(typeof(ImageInfoVO))]
public ImageInfoVO logo { get; }
Property Value
logostamp
Connection field to the table ImageInfoVO
[AttLenght(25)]
[AttForeignKey(typeof(ImageInfoVO), CanDuplicate = true, HiddenField = false)]
[AttFieldType(AttFieldType.InputTypes.image)]
public string logostamp { get; set; }
Property Value
menuIcon
Menu folder icon
[AttLenght(20)]
public string menuIcon { get; set; }
Property Value
monthlyprice
Total value of the package per month.
[AttLenght(19, 6)]
[AttFieldType(AttFieldType.InputTypes.currency)]
public decimal monthlyprice { get; set; }
Property Value
Remarks
Lenght of 19, where the units are 12 and decimals are 6.
motrejeicao
Rejection Reason
[AttFieldType(AttFieldType.InputTypes.memo, new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
public string motrejeicao { get; set; }
Property Value
name
Customization Package Name
[AttLenght(52)]
[AttMandatory]
[AttLogInfo(0)]
[AttList]
public string name { get; set; }
Property Value
news
[AttCollection(typeof(CustomizationPackageNewsVO))]
public List<CustomizationPackageNewsVO> news { get; set; }
Property Value
notesForApproval
[AttFieldType(AttFieldType.InputTypes.memo)]
public string notesForApproval { get; set; }
Property Value
notifyUser
mark addon to show notification at system notification
public AddonNotificationTypes notifyUser { get; set; }
Property Value
oneshotprice
Total value of the package if bough in one single transaction.
[AttLenght(19, 6)]
[AttFieldType(AttFieldType.InputTypes.currency)]
public decimal oneshotprice { get; set; }
Property Value
Remarks
Lenght of 19, where the units are 12 and decimals are 6.
owned
if the addon is owned or not it doesnt mean that is installed
[AttVirtualField]
public bool owned { get; set; }
Property Value
packageItems
[AttCollection(typeof(CustomizationPackageItemVO))]
public List<CustomizationPackageItemVO> packageItems { get; set; }
Property Value
preSaleLabel
pre sale url label button
[AttLenght(200)]
public string preSaleLabel { get; set; }
Property Value
preSaleURL
pre sale url
[AttLenght(500)]
public string preSaleURL { get; set; }
Property Value
prices
[AttCollection(typeof(CustomizationPackagePriceVO))]
public List<CustomizationPackagePriceVO> prices { get; set; }
Property Value
privateidentifiers
[AttCollection(typeof(CustomizationPackagePrivateURLVO))]
public List<CustomizationPackagePrivateURLVO> privateidentifiers { get; set; }
Property Value
productType
It indicates if record is an addon or other type
[AttLenght(2)]
[AttMandatory]
public ProductType productType { get; set; }
Property Value
productid
Used to manage the Add-on accesses. Will be calculated when installing from store.
[AttLenght(4)]
public int productid { get; set; }
Property Value
sample
Indicates if this Add-on will be used as a demo
[AttLenght(1)]
public CustomizationPackageSample sample { get; set; }
Property Value
screenshot
[AttExternalCollection(typeof(ImageInfoVO))]
public ImageInfoVO screenshot { get; }
Property Value
screenshotstamp
Connection field to the table ImageInfoVO
[AttLenght(25)]
[AttForeignKey(typeof(ImageInfoVO), CanDuplicate = true, HiddenField = false)]
[AttFieldType(AttFieldType.InputTypes.image)]
public string screenshotstamp { get; set; }
Property Value
slogan
Slogan for Store
[AttFieldType(AttFieldType.InputTypes.memo)]
public string slogan { get; set; }
Property Value
sloganSecondary
Secondary Slogan for Store
[AttFieldType(AttFieldType.InputTypes.memo)]
public string sloganSecondary { get; set; }
Property Value
status
Status of the Add-on.
[AttLenght(2)]
public CustomizationPackageStatus status { get; set; }
Property Value
storeversion
Store Version.
[AttLenght(6, 2)]
public decimal storeversion { get; set; }
Property Value
Remarks
If this value is greater than the version, it means that there is a new version in the store to update.
trienniallyprice
Total value of the package three years.
[AttLenght(19, 6)]
[AttFieldType(AttFieldType.InputTypes.currency)]
public decimal trienniallyprice { get; set; }
Property Value
Remarks
Lenght of 19, where the units are 12 and decimals are 6.
version
Version.
[AttLenght(6, 2)]
[AttPrimaryKey]
[AttFieldType(AttFieldType.InputTypes.decimal)]
[AttList]
public decimal version { get; set; }
Property Value
Remarks
The integer part of this number should be incremented when major features have been added.
If minor features or significant fixes are added then it's the decimal part that should be incremented
yearlyprice
Total value of the package per year.
[AttLenght(19, 6)]
[AttFieldType(AttFieldType.InputTypes.currency)]
public decimal yearlyprice { get; set; }
Property Value
Remarks
Lenght of 19, where the units are 12 and decimals are 6.