{"version":3,"sources":["Shared/Static/js/FinancialItem.js"],"names":["define","require","_","Enum","FinancialItem","ID_Produit","cTypeFinancialItem","cClasseFinancialItem","nModeCalcul","this","ModeCalcul","V1","prototype","toString","toID","Object","defineProperties","enumerable","equals","other","fill","obj","self","keys","forEach","key","index","toObject","fromString","stringID","splittedString","split","length","parseInt","ClasseProduit","name","val","TypeFinancialItem"],"mappings":"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","file":"FinancialItem.js","sourcesContent":["define(function (require) {\r\n var _ = require(\"lodash\");\r\n var Enum = require(\"Enum\");\r\n\r\n function FinancialItem(ID_Produit, cTypeFinancialItem, cClasseFinancialItem, nModeCalcul) {\r\n this.ID_Produit = ID_Produit;\r\n this.cTypeFinancialItem = cTypeFinancialItem;\r\n this.cClasseFinancialItem = cClasseFinancialItem;\r\n\r\n this.nModeCalcul = FinancialItem.ModeCalcul.V1;//Default\r\n if (nModeCalcul != null) {\r\n this.nModeCalcul = nModeCalcul;\r\n }\r\n }\r\n\r\n FinancialItem.prototype.toString = function () {\r\n //if (this.ID_Produit == null || this.cTypeFinancialItem == null || this.cClasseFinancialItem == null || this.nModeCalcul == null) return;\r\n\r\n return this.ID_Produit.toString() + \"_\" + this.cTypeFinancialItem.toString() + \"_\" + this.cClasseFinancialItem.toString() + \"_\" + this.nModeCalcul.toString();\r\n }\r\n\r\n FinancialItem.prototype.toID = function () {\r\n\r\n return this.ID_Produit.toString() + \"_\" + this.cTypeFinancialItem.toString() + \"_\" + this.cClasseFinancialItem.toString();\r\n }\r\n\r\n Object.defineProperties(FinancialItem.prototype, {\r\n \"toString\": { enumerable: false },\r\n \"toID\": { enumerable: false }\r\n });\r\n\r\n FinancialItem.prototype.equals = function (other) {\r\n if (other == null) return false;\r\n if (typeof other != typeof this) return false;\r\n\r\n return this.ID_Produit === other.ID_Produit && this.cTypeFinancialItem === other.cTypeFinancialItem && this.cClasseFinancialItem === other.cClasseFinancialItem;\r\n }\r\n\r\n //Fill depuis un obj \"SearchProduit_Result\" retourné par le quantasearch\r\n FinancialItem.prototype.fill = function (obj) {\r\n var self = this;\r\n if (obj == null) return;\r\n\r\n //Iterate sur les properties (non héritées !) de l'objet\r\n Object.keys(obj).forEach(function (key, index) {\r\n self[key] = obj[key];\r\n });\r\n }\r\n\r\n FinancialItem.prototype.toObject = function () {\r\n //var toObject = {};\r\n //var self = this;\r\n\r\n //Object.keys(self).forEach(function (key, index) {\r\n // toObject[key] = self[key];\r\n //});\r\n\r\n //return toObject;\r\n return {\r\n ID_Produit: this.ID_Produit,\r\n cTypeFinancialItem: this.cTypeFinancialItem,\r\n cClasseFinancialItem: this.cClasseFinancialItem,\r\n nModeCalcul: this.nModeCalcul\r\n }\r\n }\r\n\r\n //Retourne une instance de FinancialItem depuis une chaine du type \"84902_1_0\"\r\n FinancialItem.fromString = function (stringID) {\r\n //https://lodash.com/docs/4.17.4#split\r\n var splittedString = _.split(stringID, \"_\");\r\n\r\n if (splittedString.length < 3) return null;\r\n\r\n var ID_Produit = parseInt(splittedString[0]);\r\n var cTypeFinancialItem = parseInt(splittedString[1]);\r\n var cClasseFinancialItem = parseInt(splittedString[2]);\r\n\r\n var nModeCalcul = null;\r\n if (splittedString.length >= 4) {\r\n nModeCalcul = parseInt(splittedString[3]);\r\n }\r\n\r\n var oFinancialItem = new FinancialItem(ID_Produit, cTypeFinancialItem, cClasseFinancialItem, nModeCalcul);\r\n\r\n return oFinancialItem;\r\n }\r\n\r\n\r\n //#region Enum ClasseProduit\r\n FinancialItem.ClasseProduit = new Enum([\r\n { name: 'QUANTALYS', val: 0 },\r\n { name: 'EXTERNE', val: 1 },\r\n ]);\r\n //#endregion\r\n\r\n //#region Enum TypeFinancialItem\r\n FinancialItem.TypeFinancialItem = new Enum([\r\n { name: 'UNDEFINED', val: 0 },\r\n { name: 'FONDS', val: 1 },\r\n { name: 'FONDS_EURO', val: 2 },\r\n { name: 'TITRE', val: 3 },\r\n { name: 'SCPI', val: 4 },\r\n //Manque le 5 ! Car doit répliquer TypeFinancialItem (FinancialItem.vb)\r\n { name: 'PORT_MODELE', val: 6 },\r\n { name: 'CASH', val: 7 },\r\n { name: 'ACTION', val: 8 },\r\n { name: 'OBLIGATION', val: 9 },\r\n { name: 'CAT', val: 10 },\r\n { name: 'GROUPE_CAT', val: 11 },\r\n { name: 'BENCH', val: 12 },\r\n { name: 'PORTEFEUILLE', val: 13 },\r\n { name: 'PORTQUANTALYS', val: 14 },\r\n { name: 'PORTBACKTEST', val: 15 },\r\n { name: 'PORTSIMULE', val: 16 },\r\n { name: 'PROPOSITION', val: 17 },\r\n { name: 'POINTFRONTIER', val: 18 },\r\n { name: 'ALLOCATIONACTIFSPERSO', val: 19 },\r\n { name: 'AASURMESURE', val: 20 },\r\n { name: 'AAPORT', val: 21 },\r\n { name: 'AAPORTSIMULE', val: 22 },\r\n { name: 'CASH_SIMULE', val: 23 },\r\n { name: 'AAQ', val: 24 },\r\n { name: 'TAUXCHANGE', val: 25 },\r\n { name: 'STRUCTURE', val: 26 },\r\n { name: 'OPERATION', val: 27 },\r\n { name: 'AAPROPOSITION', val: 28 },\r\n { name: 'FRAIS', val: 29 },\r\n { name: 'PORTPARHORIZON', val: 30 },\r\n\t\t{ name: 'FCPR', val: 31 },\r\n\t\t{ name: 'PORTGESTIONDELEGUEE', val: 32 },\r\n\t\t{ name: 'FID', val: 33 }\r\n ]);\r\n\r\n //#region Enum ModeCalcul\r\n FinancialItem.ModeCalcul = new Enum([\r\n { name: 'V1', val: 0 },\r\n { name: 'Normal', val: 1 },\r\n { name: 'ConstantMix', val: 2 },\r\n { name: 'BuyAndHold', val: 3 },\r\n ]);\r\n //#endregion\r\n\r\n //#endregion\r\n return FinancialItem;\r\n});\r\n"]}