├── src ├── License.Manager │ ├── App_Data │ │ └── .gitignore │ ├── favicon.ico │ ├── img │ │ ├── google.gif │ │ ├── openid.gif │ │ ├── yahoo.gif │ │ ├── myopenid.gif │ │ ├── glyphicons-halflings.png │ │ └── glyphicons-halflings-white.png │ ├── Global.asax │ ├── js │ │ ├── AuthServices.js │ │ ├── ProductServices.js │ │ ├── CustomerServices.js │ │ ├── LicenseServices.js │ │ ├── lib │ │ │ └── angular │ │ │ │ └── i18n │ │ │ │ ├── angular-locale_chr.js │ │ │ │ ├── angular-locale_haw.js │ │ │ │ ├── angular-locale_cy.js │ │ │ │ ├── angular-locale_en-zz.js │ │ │ │ ├── angular-locale_tl-ph.js │ │ │ │ ├── angular-locale_el-polyton.js │ │ │ │ ├── angular-locale_mo.js │ │ │ │ ├── angular-locale_sr-rs.js │ │ │ │ ├── angular-locale_zh-hans-hk.js │ │ │ │ ├── angular-locale_zh-hans-mo.js │ │ │ │ ├── angular-locale_zh-hans.js │ │ │ │ ├── angular-locale_zh-hant.js │ │ │ │ ├── angular-locale_zh-hans-sg.js │ │ │ │ ├── angular-locale_zh-hant-hk.js │ │ │ │ ├── angular-locale_zh-hant-tw.js │ │ │ │ ├── angular-locale_zh-hant-mo.js │ │ │ │ ├── angular-locale_ms-bn.js │ │ │ │ ├── angular-locale_ms.js │ │ │ │ ├── angular-locale_id.js │ │ │ │ ├── angular-locale_in.js │ │ │ │ ├── angular-locale_ms-my.js │ │ │ │ ├── angular-locale_id-id.js │ │ │ │ ├── angular-locale_ur-in.js │ │ │ │ ├── angular-locale_en-bz.js │ │ │ │ ├── angular-locale_en.js │ │ │ │ ├── angular-locale_en-be.js │ │ │ │ ├── angular-locale_ta-lk.js │ │ │ │ ├── angular-locale_en-as.js │ │ │ │ ├── angular-locale_en-au.js │ │ │ │ ├── angular-locale_en-bb.js │ │ │ │ ├── angular-locale_en-bm.js │ │ │ │ ├── angular-locale_en-bw.js │ │ │ │ ├── angular-locale_en-fm.js │ │ │ │ ├── angular-locale_en-gb.js │ │ │ │ ├── angular-locale_en-gu.js │ │ │ │ ├── angular-locale_en-gy.js │ │ │ │ ├── angular-locale_en-hk.js │ │ │ │ ├── angular-locale_en-iso.js │ │ │ │ ├── angular-locale_en-jm.js │ │ │ │ ├── angular-locale_en-mh.js │ │ │ │ ├── angular-locale_en-mp.js │ │ │ │ ├── angular-locale_en-mu.js │ │ │ │ ├── angular-locale_en-na.js │ │ │ │ ├── angular-locale_en-nz.js │ │ │ │ ├── angular-locale_en-ph.js │ │ │ │ ├── angular-locale_en-pk.js │ │ │ │ ├── angular-locale_en-pr.js │ │ │ │ ├── angular-locale_en-pw.js │ │ │ │ ├── angular-locale_en-sg.js │ │ │ │ ├── angular-locale_en-tc.js │ │ │ │ ├── angular-locale_en-tt.js │ │ │ │ ├── angular-locale_en-um.js │ │ │ │ ├── angular-locale_en-us.js │ │ │ │ ├── angular-locale_en-vg.js │ │ │ │ ├── angular-locale_en-vi.js │ │ │ │ ├── angular-locale_en-zw.js │ │ │ │ └── angular-locale_nl-aw.js │ │ └── AuthController.js │ ├── packages.config │ ├── partials │ │ ├── product-list.html │ │ ├── customer-list.html │ │ ├── license-list.html │ │ ├── customer-add.html │ │ ├── customer-detail.html │ │ ├── product-add.html │ │ └── product-detail.html │ ├── Web.Debug.config │ ├── Web.Release.config │ └── Global.asax.cs ├── License.Manager.Core │ ├── ServiceModel │ │ ├── FindCustomers.cs │ │ ├── FindLicenses.cs │ │ ├── FindProducts.cs │ │ ├── IssueLicenseResponse.cs │ │ ├── GetProduct.cs │ │ ├── DownloadLicense.cs │ │ ├── GetCustomer.cs │ │ ├── GetLicenseTypes.cs │ │ ├── CreateCustomer.cs │ │ ├── CreateProduct.cs │ │ ├── UpdateCustomer.cs │ │ ├── UpdateProduct.cs │ │ ├── ProductDto.cs │ │ ├── LicenseDto.cs │ │ ├── GetLicense.cs │ │ ├── IssueLicense.cs │ │ ├── CreateLicense.cs │ │ └── UpdateLicense.cs │ ├── packages.config │ ├── Model │ │ ├── EntityBase.cs │ │ ├── KeyPair.cs │ │ ├── Customer.cs │ │ ├── Product.cs │ │ └── License.cs │ ├── Validation │ │ ├── CreateCustomerValidator.cs │ │ ├── CreateLicenseValidator.cs │ │ └── CreateProductValidator.cs │ ├── UserSession.cs │ └── Persistence │ │ ├── ProductAllPropertiesIndex.cs │ │ ├── CustomerAllPropertiesIndex.cs │ │ ├── License_ByProductOrCustomer.cs │ │ └── Product_ByNameOrDescription.cs ├── .nuget │ └── NuGet.Config ├── License.Manager.sln.DotSettings └── License.Manager.sln ├── NuGet.Config ├── .gitignore ├── LICENSE.md └── README.md /src/License.Manager/App_Data/.gitignore: -------------------------------------------------------------------------------- 1 | * -------------------------------------------------------------------------------- /src/License.Manager/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dnauck/License.Manager/HEAD/src/License.Manager/favicon.ico -------------------------------------------------------------------------------- /src/License.Manager/img/google.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dnauck/License.Manager/HEAD/src/License.Manager/img/google.gif -------------------------------------------------------------------------------- /src/License.Manager/img/openid.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dnauck/License.Manager/HEAD/src/License.Manager/img/openid.gif -------------------------------------------------------------------------------- /src/License.Manager/img/yahoo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dnauck/License.Manager/HEAD/src/License.Manager/img/yahoo.gif -------------------------------------------------------------------------------- /src/License.Manager/Global.asax: -------------------------------------------------------------------------------- 1 | <%@ Application Codebehind="Global.asax.cs" Inherits="License.Manager.Global" Language="C#" %> 2 | -------------------------------------------------------------------------------- /src/License.Manager/img/myopenid.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dnauck/License.Manager/HEAD/src/License.Manager/img/myopenid.gif -------------------------------------------------------------------------------- /src/License.Manager/img/glyphicons-halflings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dnauck/License.Manager/HEAD/src/License.Manager/img/glyphicons-halflings.png -------------------------------------------------------------------------------- /src/License.Manager.Core/ServiceModel/FindCustomers.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dnauck/License.Manager/HEAD/src/License.Manager.Core/ServiceModel/FindCustomers.cs -------------------------------------------------------------------------------- /src/License.Manager.Core/ServiceModel/FindLicenses.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dnauck/License.Manager/HEAD/src/License.Manager.Core/ServiceModel/FindLicenses.cs -------------------------------------------------------------------------------- /src/License.Manager.Core/ServiceModel/FindProducts.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dnauck/License.Manager/HEAD/src/License.Manager.Core/ServiceModel/FindProducts.cs -------------------------------------------------------------------------------- /src/License.Manager/img/glyphicons-halflings-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dnauck/License.Manager/HEAD/src/License.Manager/img/glyphicons-halflings-white.png -------------------------------------------------------------------------------- /NuGet.Config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/.nuget/NuGet.Config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/License.Manager/js/AuthServices.js: -------------------------------------------------------------------------------- 1 | angular.module('AuthServices', ['ngResource']). 2 | factory('Auth', function($resource) { 3 | return $resource('api/auth/credentials', {}, { 4 | 'login': { method: 'POST', params: { userName: '@userName', password: '@password', rememberMe: '@rememberMe' } }, 5 | 'logout': { method: 'POST', url: 'api/auth/logout' } 6 | }); 7 | }); -------------------------------------------------------------------------------- /src/License.Manager/js/ProductServices.js: -------------------------------------------------------------------------------- 1 | angular.module('ProductServices', ['ngResource']). 2 | factory('Product', function($resource) { 3 | return $resource('api/products/:id', { id: '@id' }, { 4 | 'query': { method: 'GET', isArray: true }, 5 | 'get': { method: 'GET' }, 6 | 'update': { method: 'PUT' }, 7 | 'delete': { method: 'DELETE' } 8 | }); 9 | }); -------------------------------------------------------------------------------- /src/License.Manager/js/CustomerServices.js: -------------------------------------------------------------------------------- 1 | angular.module('CustomerServices', ['ngResource']). 2 | factory('Customer', function($resource) { 3 | return $resource('api/customers/:id', { id: '@id'}, { 4 | 'query': { method: 'GET', isArray: true }, 5 | 'get': { method: 'GET' }, 6 | 'update': { method: 'PUT' }, 7 | 'delete': { method: 'DELETE' } 8 | }); 9 | }); -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | #ignore thumbnails created by windows 3 | Thumbs.db 4 | #Ignore files build by Visual Studio 5 | *.obj 6 | *.exe 7 | *.pdb 8 | *.user 9 | *.aps 10 | *.pch 11 | *.vspscc 12 | *_i.c 13 | *_p.c 14 | *.ncb 15 | *.suo 16 | *.tlb 17 | *.tlh 18 | *.bak 19 | *.cache 20 | *.ilk 21 | *.log 22 | [Bb]in 23 | [Dd]ebug*/ 24 | *.lib 25 | *.sbr 26 | obj/ 27 | [Rr]elease*/ 28 | _ReSharper*/ 29 | [Tt]est[Rr]esult* 30 | packages/ 31 | Publish/ 32 | -------------------------------------------------------------------------------- /src/License.Manager.sln.DotSettings: -------------------------------------------------------------------------------- 1 | 2 | <data><IncludeFilters /><ExcludeFilters /></data> 3 | <data /> -------------------------------------------------------------------------------- /src/License.Manager/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/License.Manager/js/LicenseServices.js: -------------------------------------------------------------------------------- 1 | angular.module('LicenseServices', ['ngResource']). 2 | factory('License', function($resource) { 3 | return $resource('api/licenses/:id', { id: '@id' }, { 4 | 'query': { 5 | method: 'GET', 6 | isArray: true, 7 | url: 'api/:findByEntity/:entityId/licenses', 8 | params: { 9 | findByEntity: 'products', 10 | entityId: '@entityId' 11 | } 12 | }, 13 | 'get': { method: 'GET' }, 14 | 'update': { method: 'PUT' }, 15 | 'delete': { method: 'DELETE' }, 16 | 'issue': { 17 | method: 'POST', 18 | url: 'api/licenses/issue' 19 | } 20 | }); 21 | }); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_chr.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", {"DATETIME_FORMATS":{"MONTH":["ᎤᏃᎸᏔᏅ","ᎧᎦᎵ","ᎠᏅᏱ","ᎧᏬᏂ","ᎠᏂᏍᎬᏘ","ᏕᎭᎷᏱ","ᎫᏰᏉᏂ","ᎦᎶᏂ","ᏚᎵᏍᏗ","ᏚᏂᏅᏗ","ᏅᏓᏕᏆ","ᎤᏍᎩᏱ"],"SHORTMONTH":["ᎤᏃ","ᎧᎦ","ᎠᏅ","ᎧᏬ","ᎠᏂ","ᏕᎭ","ᎫᏰ","ᎦᎶ","ᏚᎵ","ᏚᏂ","ᏅᏓ","ᎤᏍ"],"DAY":["ᎤᎾᏙᏓᏆᏍᎬ","ᎤᎾᏙᏓᏉᏅᎯ","ᏔᎵᏁᎢᎦ","ᏦᎢᏁᎢᎦ","ᏅᎩᏁᎢᎦ","ᏧᎾᎩᎶᏍᏗ","ᎤᎾᏙᏓᏈᏕᎾ"],"SHORTDAY":["ᏆᏍᎬ","ᏉᏅᎯ","ᏔᎵᏁ","ᏦᎢᏁ","ᏅᎩᏁ","ᏧᎾᎩ","ᏈᏕᎾ"],"AMPMS":["ᏌᎾᎴ","ᏒᎯᏱᎢᏗᏢ"],"medium":"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a","fullDate":"EEEE, MMMM d, y","longDate":"MMMM d, y","mediumDate":"MMM d, y","shortDate":"M/d/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"chr"}); 4 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_haw.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", {"DATETIME_FORMATS":{"MONTH":["Ianuali","Pepeluali","Malaki","ʻApelila","Mei","Iune","Iulai","ʻAukake","Kepakemapa","ʻOkakopa","Nowemapa","Kekemapa"],"SHORTMONTH":["Ian.","Pep.","Mal.","ʻAp.","Mei","Iun.","Iul.","ʻAu.","Kep.","ʻOk.","Now.","Kek."],"DAY":["Lāpule","Poʻakahi","Poʻalua","Poʻakolu","Poʻahā","Poʻalima","Poʻaono"],"SHORTDAY":["LP","P1","P2","P3","P4","P5","P6"],"AMPMS":["AM","PM"],"medium":"d MMM y h:mm:ss a","short":"d/M/yy h:mm a","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"d/M/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"haw"}); 4 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_cy.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", {"DATETIME_FORMATS":{"MONTH":["Ionawr","Chwefror","Mawrth","Ebrill","Mai","Mehefin","Gorffenaf","Awst","Medi","Hydref","Tachwedd","Rhagfyr"],"SHORTMONTH":["Ion","Chwef","Mawrth","Ebrill","Mai","Meh","Gorff","Awst","Medi","Hyd","Tach","Rhag"],"DAY":["Dydd Sul","Dydd Llun","Dydd Mawrth","Dydd Mercher","Dydd Iau","Dydd Gwener","Dydd Sadwrn"],"SHORTDAY":["Sul","Llun","Maw","Mer","Iau","Gwen","Sad"],"AMPMS":["AM","PM"],"medium":"d MMM y HH:mm:ss","short":"dd/MM/yyyy HH:mm","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"dd/MM/yyyy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"cy"}); 4 | }]); -------------------------------------------------------------------------------- /src/License.Manager.Core/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 2012 - 2013 Nauck IT KG http://www.nauck-it.de 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-zz.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"(\u00A4","negSuf":")","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"$"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["January","February","March","April","May","June","July","August","September","October","November","December"],"SHORTMONTH":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"DAY":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"SHORTDAY":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"AMPMS":["AM","PM"],"medium":"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a","fullDate":"EEEE, MMMM d, y","longDate":"MMMM d, y","mediumDate":"MMM d, y","shortDate":"M/d/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"en-zz"}); 4 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_tl-ph.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"P"},"pluralCat":function (n) { if (n == 0 || n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["Enero","Pebrero","Marso","Abril","Mayo","Hunyo","Hulyo","Agosto","Setyembre","Oktubre","Nobyembre","Disyembre"],"SHORTMONTH":["Ene","Peb","Mar","Abr","May","Hun","Hul","Ago","Set","Okt","Nob","Dis"],"DAY":["Linggo","Lunes","Martes","Miyerkules","Huwebes","Biyernes","Sabado"],"SHORTDAY":["Lin","Lun","Mar","Mye","Huw","Bye","Sab"],"AMPMS":["AM","PM"],"medium":"MMM d, y HH:mm:ss","short":"M/d/yy HH:mm","fullDate":"EEEE, MMMM dd y","longDate":"MMMM d, y","mediumDate":"MMM d, y","shortDate":"M/d/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"tl-ph"}); 4 | }]); -------------------------------------------------------------------------------- /src/License.Manager/partials/product-list.html: -------------------------------------------------------------------------------- 1 |
2 |

Products

3 |
4 | {{notificationAlert.message}} 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 24 | 25 | 26 |
List of all products
NameDescriptionAction
{{prod.name}}{{prod.description}} 20 | Details 21 | Licenses 22 | Delete 23 |
27 | Add Product 28 |
29 | -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_el-polyton.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου"],"SHORTMONTH":["Ιαν","Φεβ","Μαρ","Απρ","Μαϊ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],"DAY":["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],"SHORTDAY":["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],"AMPMS":["π.μ.","μ.μ."],"medium":"d MMM y h:mm:ss a","short":"d/M/yy h:mm a","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"d/M/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"el-polyton"}); 4 | }]); -------------------------------------------------------------------------------- /src/License.Manager/partials/customer-list.html: -------------------------------------------------------------------------------- 1 |
2 |

Customers

3 |
4 | {{notificationAlert.message}} 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 26 | 27 | 28 |
List of all customers
NameCompanyE-MailAction
{{cust.name}}{{cust.company}}{{cust.email}} 22 | Details 23 | Licenses 24 | Delete 25 |
29 | Add Customer 30 |
31 | -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_mo.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", {"DATETIME_FORMATS":{"MONTH":["ianuarie","februarie","martie","aprilie","mai","iunie","iulie","august","septembrie","octombrie","noiembrie","decembrie"],"SHORTMONTH":["ian.","feb.","mar.","apr.","mai","iun.","iul.","aug.","sept.","oct.","nov.","dec."],"DAY":["duminică","luni","marți","miercuri","joi","vineri","sâmbătă"],"SHORTDAY":["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],"AMPMS":["AM","PM"],"medium":"dd.MM.yyyy HH:mm:ss","short":"dd.MM.yyyy HH:mm","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"dd.MM.yyyy","shortDate":"dd.MM.yyyy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"MDL"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 0 || n != 1 && (n % 100) >= 1 && (n % 100) <= 19 && n == Math.floor(n)) { return PLURAL_CATEGORY.FEW; } return PLURAL_CATEGORY.OTHER;},"id":"mo"}); 4 | }]); -------------------------------------------------------------------------------- /src/License.Manager/Web.Debug.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 17 | 18 | 29 | 30 | -------------------------------------------------------------------------------- /src/License.Manager/Web.Release.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 17 | 18 | 19 | 30 | 31 | -------------------------------------------------------------------------------- /src/License.Manager.Core/Model/EntityBase.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | namespace License.Manager.Core.Model 27 | { 28 | public abstract class EntityBase 29 | { 30 | public int Id { get; set; } 31 | } 32 | } -------------------------------------------------------------------------------- /src/License.Manager.Core/ServiceModel/IssueLicenseResponse.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using System; 27 | 28 | namespace License.Manager.Core.ServiceModel 29 | { 30 | public class IssueLicenseResponse 31 | { 32 | public Guid Token { get; set; } 33 | } 34 | } -------------------------------------------------------------------------------- /src/License.Manager.Core/Model/KeyPair.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | namespace License.Manager.Core.Model 27 | { 28 | public class KeyPair 29 | { 30 | public string EncryptedPrivateKey { get; set; } 31 | public string PublicKey { get; set; } 32 | } 33 | } -------------------------------------------------------------------------------- /src/License.Manager/partials/license-list.html: -------------------------------------------------------------------------------- 1 |
2 |

Licenses

3 |
4 | {{notificationAlert.message}} 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 |
List of all licenses
ProductHolderTypeQuantityExpirationAction
{{lic.product.name}}{{lic.customer.name}}{{lic.licenseType}}{{lic.quantity}}{{lic.expiration | date:shortDate}} 26 | Details 27 | Issue 28 | Delete 29 |
33 | Add License 34 |
35 | -------------------------------------------------------------------------------- /src/License.Manager.Core/Model/Customer.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | namespace License.Manager.Core.Model 27 | { 28 | public class Customer : EntityBase 29 | { 30 | public string Name { get; set; } 31 | public string Company { get; set; } 32 | public string Email { get; set; } 33 | } 34 | } -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_sr-rs.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"РСД"},"pluralCat":function (n) { if ((n % 10) == 1 && (n % 100) != 11) { return PLURAL_CATEGORY.ONE; } if ((n % 10) >= 2 && (n % 10) <= 4 && ((n % 100) < 12 || (n % 100) > 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.FEW; } if ((n % 10) == 0 || ((n % 10) >= 5 && (n % 10) <= 9) || ((n % 100) >= 11 && (n % 100) <= 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар"],"SHORTMONTH":["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец"],"DAY":["недеља","понедељак","уторак","среда","четвртак","петак","субота"],"SHORTDAY":["нед","пон","уто","сре","чет","пет","суб"],"AMPMS":["пре подне","поподне"],"medium":"dd.MM.y. HH.mm.ss","short":"d.M.yy. HH.mm","fullDate":"EEEE, dd. MMMM y.","longDate":"dd. MMMM y.","mediumDate":"dd.MM.y.","shortDate":"d.M.yy.","mediumTime":"HH.mm.ss","shortTime":"HH.mm"},"id":"sr-rs"}); 4 | }]); -------------------------------------------------------------------------------- /src/License.Manager.Core/ServiceModel/GetProduct.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using ServiceStack.ServiceHost; 27 | 28 | namespace License.Manager.Core.ServiceModel 29 | { 30 | [Route("/products/{Id}", "GET, OPTIONS")] 31 | public class GetProduct : IReturn 32 | { 33 | public int Id { get; set; } 34 | } 35 | } -------------------------------------------------------------------------------- /src/License.Manager.Core/ServiceModel/DownloadLicense.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using System; 27 | using ServiceStack.ServiceHost; 28 | 29 | namespace License.Manager.Core.ServiceModel 30 | { 31 | [Route("/licenses/issue", "GET, OPTIONS")] 32 | public class DownloadLicense 33 | { 34 | public Guid Token { get; set; } 35 | } 36 | } -------------------------------------------------------------------------------- /src/License.Manager.Core/ServiceModel/GetCustomer.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using License.Manager.Core.Model; 27 | using ServiceStack.ServiceHost; 28 | 29 | namespace License.Manager.Core.ServiceModel 30 | { 31 | [Route("/customers/{Id}", "GET, OPTIONS")] 32 | public class GetCustomer : IReturn 33 | { 34 | public int Id { get; set; } 35 | } 36 | } -------------------------------------------------------------------------------- /src/License.Manager.Core/ServiceModel/GetLicenseTypes.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using System.Collections.Generic; 27 | using ServiceStack.ServiceHost; 28 | 29 | namespace License.Manager.Core.ServiceModel 30 | { 31 | [Route("/licenses/types", "GET, OPTIONS")] 32 | public class GetLicenseTypes : IReturn> 33 | { 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/License.Manager.Core/Model/Product.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using System.Collections.Generic; 27 | 28 | namespace License.Manager.Core.Model 29 | { 30 | public class Product : EntityBase 31 | { 32 | public string Name { get; set; } 33 | public string Description { get; set; } 34 | public KeyPair KeyPair { get; set; } 35 | 36 | public List ProductFeatures { get; set; } 37 | } 38 | } -------------------------------------------------------------------------------- /src/License.Manager.Core/ServiceModel/CreateCustomer.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using License.Manager.Core.Model; 27 | using ServiceStack.ServiceHost; 28 | 29 | namespace License.Manager.Core.ServiceModel 30 | { 31 | [Route("/customers", "POST, OPTIONS")] 32 | public class CreateCustomer : IReturn 33 | { 34 | public string Name { get; set; } 35 | public string Company { get; set; } 36 | public string Email { get; set; } 37 | } 38 | } -------------------------------------------------------------------------------- /src/License.Manager.Core/ServiceModel/CreateProduct.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using System.Collections.Generic; 27 | using ServiceStack.ServiceHost; 28 | 29 | namespace License.Manager.Core.ServiceModel 30 | { 31 | [Route("/products", "POST, OPTIONS")] 32 | public class CreateProduct : IReturn 33 | { 34 | public string Name { get; set; } 35 | public string Description { get; set; } 36 | public List ProductFeatures { get; set; } 37 | } 38 | } -------------------------------------------------------------------------------- /src/License.Manager.Core/Validation/CreateCustomerValidator.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using License.Manager.Core.ServiceModel; 27 | using ServiceStack.FluentValidation; 28 | 29 | namespace License.Manager.Core.Validation 30 | { 31 | public class CreateCustomerValidator : AbstractValidator 32 | { 33 | public CreateCustomerValidator() 34 | { 35 | RuleFor(p => p.Name).NotEmpty(); 36 | RuleFor(p => p.Email).EmailAddress().NotEmpty(); 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /src/License.Manager.Core/ServiceModel/UpdateCustomer.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using License.Manager.Core.Model; 27 | using ServiceStack.ServiceHost; 28 | 29 | namespace License.Manager.Core.ServiceModel 30 | { 31 | [Route("/customers/{Id}", "PUT, DELETE, OPTIONS")] 32 | public class UpdateCustomer : IReturn 33 | { 34 | public int Id { get; set; } 35 | public string Name { get; set; } 36 | public string Company { get; set; } 37 | public string Email { get; set; } 38 | } 39 | } -------------------------------------------------------------------------------- /src/License.Manager.Core/UserSession.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using ServiceStack.ServiceInterface.Auth; 27 | 28 | namespace License.Manager.Core 29 | { 30 | public class UserSession : AuthUserSession 31 | { 32 | public override void OnAuthenticated(ServiceStack.ServiceInterface.IServiceBase authService, IAuthSession session, IOAuthTokens tokens, System.Collections.Generic.Dictionary authInfo) 33 | { 34 | base.OnAuthenticated(authService, session, tokens, authInfo); 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /src/License.Manager.Core/ServiceModel/UpdateProduct.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using System.Collections.Generic; 27 | using ServiceStack.ServiceHost; 28 | 29 | namespace License.Manager.Core.ServiceModel 30 | { 31 | [Route("/products/{Id}", "PUT, DELETE, OPTIONS")] 32 | public class UpdateProduct : IReturn 33 | { 34 | public int Id { get; set; } 35 | public string Name { get; set; } 36 | public string Description { get; set; } 37 | 38 | public List ProductFeatures { get; set; } 39 | } 40 | } -------------------------------------------------------------------------------- /src/License.Manager.Core/ServiceModel/ProductDto.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using System.Collections.Generic; 27 | using ServiceStack.ServiceHost; 28 | 29 | namespace License.Manager.Core.ServiceModel 30 | { 31 | public class ProductDto : IReturn 32 | { 33 | public int Id { get; set; } 34 | public string Name { get; set; } 35 | public string Description { get; set; } 36 | 37 | //public int NumberOfLicenses { get; set; } 38 | //public int NumberOfCustomers { get; set; } 39 | 40 | public List ProductFeatures { get; set; } 41 | } 42 | } -------------------------------------------------------------------------------- /src/License.Manager.Core/Model/License.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using System; 27 | using System.Collections.Generic; 28 | using Portable.Licensing; 29 | 30 | namespace License.Manager.Core.Model 31 | { 32 | public class License : EntityBase 33 | { 34 | public Guid LicenseId { get; set; } 35 | public LicenseType LicenseType { get; set; } 36 | public int Quantity { get; set; } 37 | public DateTime Expiration { get; set; } 38 | public int CustomerId { get; set; } 39 | public int ProductId { get; set; } 40 | public Dictionary ProductFeatures { get; set; } 41 | public Dictionary AdditionalAttributes { get; set; } 42 | } 43 | } -------------------------------------------------------------------------------- /src/License.Manager.Core/Validation/CreateLicenseValidator.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using System; 27 | using License.Manager.Core.ServiceModel; 28 | using ServiceStack.FluentValidation; 29 | 30 | namespace License.Manager.Core.Validation 31 | { 32 | public class CreateLicenseValidator : AbstractValidator 33 | { 34 | public CreateLicenseValidator() 35 | { 36 | RuleFor(l => l.LicenseType).NotNull(); 37 | RuleFor(l => l.Quantity).GreaterThanOrEqualTo(1); 38 | RuleFor(l => l.Expiration).GreaterThan(DateTime.UtcNow); 39 | RuleFor(l => l.CustomerId).GreaterThan(0); 40 | RuleFor(l => l.ProductId).GreaterThan(0); 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /src/License.Manager/Global.asax.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using System; 27 | using System.Web; 28 | using License.Manager.Core; 29 | 30 | namespace License.Manager 31 | { 32 | public class Global : HttpApplication 33 | { 34 | protected void Application_Start(object sender, EventArgs e) 35 | { 36 | new AppHost().Init(); 37 | } 38 | 39 | protected void Application_BeginRequest(object sender, EventArgs e) 40 | { 41 | if (Request.IsLocal) 42 | ServiceStack.MiniProfiler.Profiler.Start(); 43 | } 44 | 45 | protected void Application_EndRequest(object src, EventArgs e) 46 | { 47 | ServiceStack.MiniProfiler.Profiler.Stop(); 48 | } 49 | } 50 | } -------------------------------------------------------------------------------- /src/License.Manager/js/AuthController.js: -------------------------------------------------------------------------------- 1 | function LoginCtrl($scope, $location, $log, $window, Auth, authInterceptorService) { 2 | 3 | $scope.notificationAlert = { show: false, message: '', type: 'info' }; 4 | 5 | $scope.defaultAuthData = { rememberMe: false, openIdUrl: '' }; 6 | $scope.authData = angular.copy($scope.defaultAuthData); 7 | 8 | $scope.login = function(loginData) { 9 | 10 | if (!loginData.rememberMe) 11 | loginData.rememberMe = false; 12 | 13 | Auth.login(loginData, 14 | function(success, getResponseHeaders) { 15 | $scope.notificationAlert.show = false; 16 | authInterceptorService.loginConfirmed(); 17 | }, 18 | function (error, getResponseHeaders) { 19 | $scope.authData = angular.copy($scope.defaultAuthData); 20 | $scope.notificationAlert.show = true; 21 | $scope.notificationAlert.type = 'error'; 22 | $scope.notificationAlert.message = error.data.responseStatus.message; 23 | }); 24 | }; 25 | 26 | $scope.signInWithGoogle = function() { 27 | $window.location = '/api/auth/googleopenid'; 28 | }; 29 | 30 | $scope.signInWithYahoo = function() { 31 | $window.location = '/api/auth/yahooopenid'; 32 | }; 33 | 34 | $scope.signInWithMyOpenId = function () { 35 | $window.location = '/api/auth/myopenid'; 36 | }; 37 | 38 | $scope.signInWithOpenId = function (openIdUrl) { 39 | $window.location = '/api/auth/openid?OpenIdUrl=' + openIdUrl; 40 | }; 41 | 42 | $scope.$on('event:auth-loginRequired', function (event, response) { 43 | $scope.notificationAlert.show = true; 44 | $scope.notificationAlert.type = 'error'; 45 | $scope.notificationAlert.message = response.data.responseStatus.message; 46 | $scope.authData = angular.copy($scope.defaultAuthData); 47 | }); 48 | } 49 | 50 | //LoginCtrl.$inject = ['$scope', '$location', '$log', 'Auth', 'authInterceptorService']; -------------------------------------------------------------------------------- /src/License.Manager.Core/ServiceModel/LicenseDto.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using System; 27 | using System.Collections.Generic; 28 | using License.Manager.Core.Model; 29 | 30 | namespace License.Manager.Core.ServiceModel 31 | { 32 | public class LicenseDto 33 | { 34 | public int Id { get; set; } 35 | public Guid LicenseId { get; set; } 36 | public Portable.Licensing.LicenseType LicenseType { get; set; } 37 | public int Quantity { get; set; } 38 | public DateTime Expiration { get; set; } 39 | public Customer Customer { get; set; } 40 | public ProductDto Product { get; set; } 41 | public Dictionary ProductFeatures { get; set; } 42 | public Dictionary AdditionalAttributes { get; set; } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/License.Manager.Core/ServiceModel/GetLicense.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using ServiceStack.ServiceHost; 27 | 28 | namespace License.Manager.Core.ServiceModel 29 | { 30 | [Route("/licenses/{Id}", "GET, OPTIONS")] 31 | //[Route("/licenses/{LicenseId}", "GET, OPTIONS")] 32 | [Route("/products/{ProductId}/licenses/{Id}", "GET, OPTIONS")] 33 | //[Route("/products/{ProductId}/licenses/{LicenseId}", "GET, OPTIONS")] 34 | [Route("/customers/{CustomerId}/licenses/{Id}", "GET, OPTIONS")] 35 | //[Route("/customers/{CustomerId}/licenses/{LicenseId}", "GET, OPTIONS")] 36 | public class GetLicense : IReturn 37 | { 38 | public int Id { get; set; } 39 | //public Guid LicenseId { get; set; } 40 | public int CustomerId { get; set; } 41 | public int ProductId { get; set; } 42 | } 43 | } -------------------------------------------------------------------------------- /src/License.Manager.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2012 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "License.Manager", "License.Manager\License.Manager.csproj", "{6D609823-EE25-4AA1-9F36-D206DA62855D}" 5 | EndProject 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "License.Manager.Core", "License.Manager.Core\License.Manager.Core.csproj", "{8B7A31DA-2599-4157-9341-B070971E424F}" 7 | EndProject 8 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{8308506D-A155-4081-A578-6EC534A2EACD}" 9 | ProjectSection(SolutionItems) = preProject 10 | .nuget\NuGet.Config = .nuget\NuGet.Config 11 | .nuget\NuGet.exe = .nuget\NuGet.exe 12 | .nuget\NuGet.targets = .nuget\NuGet.targets 13 | EndProjectSection 14 | EndProject 15 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Common", "Common", "{45015F39-1C29-407E-BD39-A2641F2F014A}" 16 | ProjectSection(SolutionItems) = preProject 17 | ..\LICENSE.md = ..\LICENSE.md 18 | ..\README.md = ..\README.md 19 | EndProjectSection 20 | EndProject 21 | Global 22 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 23 | Debug|Any CPU = Debug|Any CPU 24 | Release|Any CPU = Release|Any CPU 25 | EndGlobalSection 26 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 27 | {6D609823-EE25-4AA1-9F36-D206DA62855D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 28 | {6D609823-EE25-4AA1-9F36-D206DA62855D}.Debug|Any CPU.Build.0 = Debug|Any CPU 29 | {6D609823-EE25-4AA1-9F36-D206DA62855D}.Release|Any CPU.ActiveCfg = Release|Any CPU 30 | {6D609823-EE25-4AA1-9F36-D206DA62855D}.Release|Any CPU.Build.0 = Release|Any CPU 31 | {8B7A31DA-2599-4157-9341-B070971E424F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 32 | {8B7A31DA-2599-4157-9341-B070971E424F}.Debug|Any CPU.Build.0 = Debug|Any CPU 33 | {8B7A31DA-2599-4157-9341-B070971E424F}.Release|Any CPU.ActiveCfg = Release|Any CPU 34 | {8B7A31DA-2599-4157-9341-B070971E424F}.Release|Any CPU.Build.0 = Release|Any CPU 35 | EndGlobalSection 36 | GlobalSection(SolutionProperties) = preSolution 37 | HideSolutionNode = FALSE 38 | EndGlobalSection 39 | EndGlobal 40 | -------------------------------------------------------------------------------- /src/License.Manager.Core/ServiceModel/IssueLicense.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using System; 27 | using ServiceStack.ServiceHost; 28 | 29 | namespace License.Manager.Core.ServiceModel 30 | { 31 | [Route("/licenses/issue", "POST, OPTIONS")] 32 | [Route("/licenses/{Id}/issue", "POST, OPTIONS")] 33 | [Route("/products/{ProductId}/licenses/issue", "POST, OPTIONS")] 34 | [Route("/products/{ProductId}/licenses/{Id}/issue", "POST, OPTIONS")] 35 | [Route("/customers/{CustomerId}/licenses/issue", "POST, OPTIONS")] 36 | [Route("/customers/{CustomerId}/licenses/{Id}/issue", "POST, OPTIONS")] 37 | public class IssueLicense : IReturn 38 | { 39 | public int Id { get; set; } 40 | public Guid LicenseId { get; set; } 41 | public int CustomerId { get; set; } 42 | public int ProductId { get; set; } 43 | } 44 | } -------------------------------------------------------------------------------- /src/License.Manager.Core/Persistence/ProductAllPropertiesIndex.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using System.Linq; 27 | using License.Manager.Core.Model; 28 | using Raven.Abstractions.Indexing; 29 | using Raven.Client.Indexes; 30 | 31 | namespace License.Manager.Persistence 32 | { 33 | public class ProductAllPropertiesIndex : AbstractIndexCreationTask 34 | { 35 | public class Result 36 | { 37 | public string Query { get; set; } 38 | } 39 | 40 | public ProductAllPropertiesIndex() 41 | { 42 | Map = products => 43 | from product in products 44 | select new 45 | { 46 | Query = AsDocument(product).Select(x => x.Value) 47 | }; 48 | 49 | Index(x => x.Query, FieldIndexing.Analyzed); 50 | } 51 | } 52 | } -------------------------------------------------------------------------------- /src/License.Manager.Core/Persistence/CustomerAllPropertiesIndex.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using System.Linq; 27 | using License.Manager.Core.Model; 28 | using Raven.Abstractions.Indexing; 29 | using Raven.Client.Indexes; 30 | 31 | namespace License.Manager.Core.Persistence 32 | { 33 | public class CustomerAllPropertiesIndex : AbstractIndexCreationTask 34 | { 35 | public class Result 36 | { 37 | public string Query { get; set; } 38 | } 39 | 40 | public CustomerAllPropertiesIndex() 41 | { 42 | Map = customers => 43 | from customer in customers 44 | select new 45 | { 46 | Query = AsDocument(customer).Select(x => x.Value) 47 | }; 48 | 49 | Index(x => x.Query, FieldIndexing.Analyzed); 50 | } 51 | } 52 | } -------------------------------------------------------------------------------- /src/License.Manager.Core/Validation/CreateProductValidator.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using System.Collections.Generic; 27 | using System.Linq; 28 | using License.Manager.Core.ServiceModel; 29 | using ServiceStack.FluentValidation; 30 | 31 | namespace License.Manager.Core.Validation 32 | { 33 | public class CreateProductValidator : AbstractValidator 34 | { 35 | public CreateProductValidator() 36 | { 37 | RuleFor(p => p.Name).NotEmpty(); 38 | RuleFor(p => p.ProductFeatures).Must(BeUniqueAndNotEmpty) 39 | .WithMessage("{PropertyName} must be unique."); 40 | } 41 | 42 | private static bool BeUniqueAndNotEmpty(List values) 43 | { 44 | var allNotEmpty = values.All(x => !string.IsNullOrWhiteSpace(x)); 45 | var unique = values.Distinct().Count() == values.Count; 46 | return allNotEmpty && unique; 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /src/License.Manager.Core/ServiceModel/CreateLicense.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using System; 27 | using System.Collections.Generic; 28 | using Portable.Licensing; 29 | using ServiceStack.ServiceHost; 30 | 31 | namespace License.Manager.Core.ServiceModel 32 | { 33 | [Route("/licenses", "POST, OPTIONS")] 34 | [Route("/products/{ProductId}/licenses", "POST, OPTIONS")] 35 | [Route("/customers/{CustomerId}/licenses", "POST, OPTIONS")] 36 | public class CreateLicense : IReturn 37 | { 38 | public Guid LicenseId { get; set; } 39 | public LicenseType LicenseType { get; set; } 40 | public int Quantity { get; set; } 41 | public DateTime Expiration { get; set; } 42 | public int CustomerId { get; set; } 43 | public int ProductId { get; set; } 44 | public Dictionary ProductFeatures { get; set; } 45 | public Dictionary AdditionalAttributes { get; set; } 46 | } 47 | } -------------------------------------------------------------------------------- /src/License.Manager.Core/ServiceModel/UpdateLicense.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using System; 27 | using System.Collections.Generic; 28 | using Portable.Licensing; 29 | using ServiceStack.ServiceHost; 30 | 31 | namespace License.Manager.Core.ServiceModel 32 | { 33 | [Route("/licenses/{Id}", "PUT, DELETE, OPTIONS")] 34 | [Route("/products/{ProductId}/licenses/{Id}", "PUT, DELETE, OPTIONS")] 35 | [Route("/customers/{CustomerId}/licenses/{Id}", "PUT, DELETE, OPTIONS")] 36 | public class UpdateLicense : IReturn 37 | { 38 | public int Id { get; set; } 39 | public LicenseType LicenseType { get; set; } 40 | public int Quantity { get; set; } 41 | public DateTime Expiration { get; set; } 42 | public int CustomerId { get; set; } 43 | public int ProductId { get; set; } 44 | public Dictionary ProductFeatures { get; set; } 45 | public Dictionary AdditionalAttributes { get; set; } 46 | } 47 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Documentation # 2 | 3 | ---------- 4 | 5 | ## About License Manager for Portable.Licensing ## 6 | 7 | License.Manager is a web-based management solution for Portable.Licensing developed using AngularJS and ServiceStack. 8 | 9 | ### Features ### 10 | 11 | - easy management of customers, products and licenses 12 | - REST service backend for integration with payment providers and 3rd party tools 13 | 14 | ## About Portable.Licensing ## 15 | 16 | Portable.Licensing is a cross platform software licensing framework which allows you to implement licensing into your application or library. It provides you all tools to create and validate licenses for your software. 17 | 18 | Portable.Licensing is using the latest military strength, state-of-the-art cryptographic algorithm to ensure that your software and thus your intellectual property is protected. 19 | 20 | It is targeting the *Portable Class Library* and thus runs on nearly every .NET/Mono profile including Silverlight, Windows Phone, Windows Store App, Xamarin.iOS, Xamarin.Android, Xamarin.Mac and XBox 360. Use it for your Desktop- (WinForms, WPF, etc.), Console-, Service-, Web- (ASP.NET, MVC, etc.), Mobile (Xamarin.iOS, Xamarin.Android) or even LightSwitch applications. 21 | 22 | ### Features ### 23 | 24 | - runs on .NET >= 4.0.3, Silverlight >= 4, Windows Phone >= 7.5, Windows Store Apps, Mono, Xamarin.iOS, Xamarin.Android, Xamarin.Mac, XBox 360 25 | - easy creation and validation of your licenses 26 | - trial, standard and subscription licenses 27 | - cryptographic signed licenses, no alteration possible 28 | - allows you to enable/disable program modules or product features 29 | - limit various parameters for your software, e.g. max transactions, etc. 30 | - add additional key/value pair attributes to your licenses 31 | - easily extend the fluent validation API with extension methods 32 | 33 | ---------- 34 | 35 | 36 | ## Getting started ## 37 | 38 | ### Download ### 39 | 40 | 41 | ---------- 42 | 43 | ## License ## 44 | 45 | License Manager for Portable.Licensing is distributed using the MIT/X11 License. 46 | 47 | ## Further Information ## 48 | 49 | The latest release and documentation can be found on the Portable.Licensing project website: 50 | 51 | [http://dev.nauck-it.de/projects/portable-licensing](http://dev.nauck-it.de/projects/portable-licensing) 52 | -------------------------------------------------------------------------------- /src/License.Manager/partials/customer-add.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | {{notificationAlert.message}} 4 |
5 |
6 |
7 | Add Customer 8 | 9 |
10 | 11 |
12 | 13 | Please specifiy the customer's name. 14 |
15 |
16 | 17 |
18 | 19 |
20 | 21 |
22 |
23 | 24 |
25 | 26 |
27 | 28 | This is not a valid email. 29 |
30 |
31 | 32 |
33 | 34 | 35 |
36 |
37 |
38 |
-------------------------------------------------------------------------------- /src/License.Manager/partials/customer-detail.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | {{notificationAlert.message}} 4 |
5 |
6 |
7 | Customer details 8 | 9 |
10 | 11 |
12 | 13 | Please specifiy the customer's name. 14 |
15 |
16 | 17 |
18 | 19 |
20 | 21 |
22 |
23 | 24 |
25 | 26 |
27 | 28 | This is not a valid email. 29 |
30 |
31 | 32 |
33 | 34 | 35 |
36 |
37 |
38 |
-------------------------------------------------------------------------------- /src/License.Manager.Core/Persistence/License_ByProductOrCustomer.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using System.Linq; 27 | using Raven.Abstractions.Indexing; 28 | using Raven.Client.Indexes; 29 | 30 | namespace License.Manager.Core.Persistence 31 | { 32 | public class License_ByProductOrCustomer : 33 | AbstractIndexCreationTask 34 | { 35 | public class Result 36 | { 37 | public int CustomerId { get; set; } 38 | public int ProductId { get; set; } 39 | } 40 | 41 | public License_ByProductOrCustomer() 42 | { 43 | Map = licenses => from license in licenses 44 | select new 45 | { 46 | license.CustomerId, 47 | license.ProductId 48 | }; 49 | 50 | Index(p => p.CustomerId, FieldIndexing.NotAnalyzed); 51 | Index(x => x.ProductId, FieldIndexing.NotAnalyzed); 52 | } 53 | } 54 | } -------------------------------------------------------------------------------- /src/License.Manager.Core/Persistence/Product_ByNameOrDescription.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright © 2012 - 2013 Nauck IT KG http://www.nauck-it.de 3 | // 4 | // Author: 5 | // Daniel Nauck 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining 8 | // a copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be 16 | // included in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | using System.Linq; 27 | using License.Manager.Core.Model; 28 | using Raven.Abstractions.Indexing; 29 | using Raven.Client.Indexes; 30 | 31 | namespace License.Manager.Core.Persistence 32 | { 33 | public class Product_ByNameOrDescription : AbstractIndexCreationTask 34 | { 35 | public class Result 36 | { 37 | public string Name { get; set; } 38 | public string Description { get; set; } 39 | } 40 | 41 | public Product_ByNameOrDescription() 42 | { 43 | Map = products => from product in products 44 | select new 45 | { 46 | product.Name, 47 | product.Description, 48 | }; 49 | 50 | Index(p => p.Name, FieldIndexing.Analyzed); 51 | Index(x => x.Description, FieldIndexing.Analyzed); 52 | } 53 | } 54 | } -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_zh-hans-hk.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "上午", 7 | "1": "下午" 8 | }, 9 | "DAY": { 10 | "0": "星期日", 11 | "1": "星期一", 12 | "2": "星期二", 13 | "3": "星期三", 14 | "4": "星期四", 15 | "5": "星期五", 16 | "6": "星期六" 17 | }, 18 | "MONTH": { 19 | "0": "一月", 20 | "1": "二月", 21 | "2": "三月", 22 | "3": "四月", 23 | "4": "五月", 24 | "5": "六月", 25 | "6": "七月", 26 | "7": "八月", 27 | "8": "九月", 28 | "9": "十月", 29 | "10": "十一月", 30 | "11": "十二月" 31 | }, 32 | "SHORTDAY": { 33 | "0": "周日", 34 | "1": "周一", 35 | "2": "周二", 36 | "3": "周三", 37 | "4": "周四", 38 | "5": "周五", 39 | "6": "周六" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "1月", 43 | "1": "2月", 44 | "2": "3月", 45 | "3": "4月", 46 | "4": "5月", 47 | "5": "6月", 48 | "6": "7月", 49 | "7": "8月", 50 | "8": "9月", 51 | "9": "10月", 52 | "10": "11月", 53 | "11": "12月" 54 | }, 55 | "fullDate": "y年M月d日EEEE", 56 | "longDate": "y年M月d日", 57 | "medium": "y年M月d日 ah:mm:ss", 58 | "mediumDate": "y年M月d日", 59 | "mediumTime": "ah:mm:ss", 60 | "short": "d/M/yy ah:mm", 61 | "shortDate": "d/M/yy", 62 | "shortTime": "ah:mm" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "¥", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00A4", 89 | "negSuf": ")", 90 | "posPre": "\u00A4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "zh-hans-hk", 96 | "pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_zh-hans-mo.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "上午", 7 | "1": "下午" 8 | }, 9 | "DAY": { 10 | "0": "星期日", 11 | "1": "星期一", 12 | "2": "星期二", 13 | "3": "星期三", 14 | "4": "星期四", 15 | "5": "星期五", 16 | "6": "星期六" 17 | }, 18 | "MONTH": { 19 | "0": "一月", 20 | "1": "二月", 21 | "2": "三月", 22 | "3": "四月", 23 | "4": "五月", 24 | "5": "六月", 25 | "6": "七月", 26 | "7": "八月", 27 | "8": "九月", 28 | "9": "十月", 29 | "10": "十一月", 30 | "11": "十二月" 31 | }, 32 | "SHORTDAY": { 33 | "0": "周日", 34 | "1": "周一", 35 | "2": "周二", 36 | "3": "周三", 37 | "4": "周四", 38 | "5": "周五", 39 | "6": "周六" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "1月", 43 | "1": "2月", 44 | "2": "3月", 45 | "3": "4月", 46 | "4": "5月", 47 | "5": "6月", 48 | "6": "7月", 49 | "7": "8月", 50 | "8": "9月", 51 | "9": "10月", 52 | "10": "11月", 53 | "11": "12月" 54 | }, 55 | "fullDate": "y年M月d日EEEE", 56 | "longDate": "y年M月d日", 57 | "medium": "y年M月d日 ah:mm:ss", 58 | "mediumDate": "y年M月d日", 59 | "mediumTime": "ah:mm:ss", 60 | "short": "d/M/yy ah:mm", 61 | "shortDate": "d/M/yy", 62 | "shortTime": "ah:mm" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "¥", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00A4", 89 | "negSuf": ")", 90 | "posPre": "\u00A4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "zh-hans-mo", 96 | "pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_zh-hans.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "上午", 7 | "1": "下午" 8 | }, 9 | "DAY": { 10 | "0": "星期日", 11 | "1": "星期一", 12 | "2": "星期二", 13 | "3": "星期三", 14 | "4": "星期四", 15 | "5": "星期五", 16 | "6": "星期六" 17 | }, 18 | "MONTH": { 19 | "0": "1月", 20 | "1": "2月", 21 | "2": "3月", 22 | "3": "4月", 23 | "4": "5月", 24 | "5": "6月", 25 | "6": "7月", 26 | "7": "8月", 27 | "8": "9月", 28 | "9": "10月", 29 | "10": "11月", 30 | "11": "12月" 31 | }, 32 | "SHORTDAY": { 33 | "0": "周日", 34 | "1": "周一", 35 | "2": "周二", 36 | "3": "周三", 37 | "4": "周四", 38 | "5": "周五", 39 | "6": "周六" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "1月", 43 | "1": "2月", 44 | "2": "3月", 45 | "3": "4月", 46 | "4": "5月", 47 | "5": "6月", 48 | "6": "7月", 49 | "7": "8月", 50 | "8": "9月", 51 | "9": "10月", 52 | "10": "11月", 53 | "11": "12月" 54 | }, 55 | "fullDate": "y年M月d日EEEE", 56 | "longDate": "y年M月d日", 57 | "medium": "yyyy-M-d ah:mm:ss", 58 | "mediumDate": "yyyy-M-d", 59 | "mediumTime": "ah:mm:ss", 60 | "short": "yy-M-d ah:mm", 61 | "shortDate": "yy-M-d", 62 | "shortTime": "ah:mm" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "¥", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00A4", 89 | "negSuf": ")", 90 | "posPre": "\u00A4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "zh-hans", 96 | "pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_zh-hant.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "上午", 7 | "1": "下午" 8 | }, 9 | "DAY": { 10 | "0": "星期日", 11 | "1": "星期一", 12 | "2": "星期二", 13 | "3": "星期三", 14 | "4": "星期四", 15 | "5": "星期五", 16 | "6": "星期六" 17 | }, 18 | "MONTH": { 19 | "0": "1月", 20 | "1": "2月", 21 | "2": "3月", 22 | "3": "4月", 23 | "4": "5月", 24 | "5": "6月", 25 | "6": "7月", 26 | "7": "8月", 27 | "8": "9月", 28 | "9": "10月", 29 | "10": "11月", 30 | "11": "12月" 31 | }, 32 | "SHORTDAY": { 33 | "0": "週日", 34 | "1": "週一", 35 | "2": "週二", 36 | "3": "週三", 37 | "4": "週四", 38 | "5": "週五", 39 | "6": "週六" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "1月", 43 | "1": "2月", 44 | "2": "3月", 45 | "3": "4月", 46 | "4": "5月", 47 | "5": "6月", 48 | "6": "7月", 49 | "7": "8月", 50 | "8": "9月", 51 | "9": "10月", 52 | "10": "11月", 53 | "11": "12月" 54 | }, 55 | "fullDate": "y年M月d日EEEE", 56 | "longDate": "y年M月d日", 57 | "medium": "yyyy/M/d ah:mm:ss", 58 | "mediumDate": "yyyy/M/d", 59 | "mediumTime": "ah:mm:ss", 60 | "short": "y/M/d ah:mm", 61 | "shortDate": "y/M/d", 62 | "shortTime": "ah:mm" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "¥", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00A4", 89 | "negSuf": ")", 90 | "posPre": "\u00A4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "zh-hant", 96 | "pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_zh-hans-sg.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "上午", 7 | "1": "下午" 8 | }, 9 | "DAY": { 10 | "0": "星期日", 11 | "1": "星期一", 12 | "2": "星期二", 13 | "3": "星期三", 14 | "4": "星期四", 15 | "5": "星期五", 16 | "6": "星期六" 17 | }, 18 | "MONTH": { 19 | "0": "一月", 20 | "1": "二月", 21 | "2": "三月", 22 | "3": "四月", 23 | "4": "五月", 24 | "5": "六月", 25 | "6": "七月", 26 | "7": "八月", 27 | "8": "九月", 28 | "9": "十月", 29 | "10": "十一月", 30 | "11": "十二月" 31 | }, 32 | "SHORTDAY": { 33 | "0": "周日", 34 | "1": "周一", 35 | "2": "周二", 36 | "3": "周三", 37 | "4": "周四", 38 | "5": "周五", 39 | "6": "周六" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "1月", 43 | "1": "2月", 44 | "2": "3月", 45 | "3": "4月", 46 | "4": "5月", 47 | "5": "6月", 48 | "6": "7月", 49 | "7": "8月", 50 | "8": "9月", 51 | "9": "10月", 52 | "10": "11月", 53 | "11": "12月" 54 | }, 55 | "fullDate": "y年M月d日EEEE", 56 | "longDate": "y年M月d日", 57 | "medium": "y年M月d日 ah:mm:ss", 58 | "mediumDate": "y年M月d日", 59 | "mediumTime": "ah:mm:ss", 60 | "short": "dd/MM/yy ahh:mm", 61 | "shortDate": "dd/MM/yy", 62 | "shortTime": "ahh:mm" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "¥", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00A4", 89 | "negSuf": ")", 90 | "posPre": "\u00A4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "zh-hans-sg", 96 | "pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_zh-hant-hk.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "上午", 7 | "1": "下午" 8 | }, 9 | "DAY": { 10 | "0": "星期日", 11 | "1": "星期一", 12 | "2": "星期二", 13 | "3": "星期三", 14 | "4": "星期四", 15 | "5": "星期五", 16 | "6": "星期六" 17 | }, 18 | "MONTH": { 19 | "0": "1月", 20 | "1": "2月", 21 | "2": "3月", 22 | "3": "4月", 23 | "4": "5月", 24 | "5": "6月", 25 | "6": "7月", 26 | "7": "8月", 27 | "8": "9月", 28 | "9": "10月", 29 | "10": "11月", 30 | "11": "12月" 31 | }, 32 | "SHORTDAY": { 33 | "0": "週日", 34 | "1": "週一", 35 | "2": "週二", 36 | "3": "週三", 37 | "4": "週四", 38 | "5": "週五", 39 | "6": "週六" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "1月", 43 | "1": "2月", 44 | "2": "3月", 45 | "3": "4月", 46 | "4": "5月", 47 | "5": "6月", 48 | "6": "7月", 49 | "7": "8月", 50 | "8": "9月", 51 | "9": "10月", 52 | "10": "11月", 53 | "11": "12月" 54 | }, 55 | "fullDate": "y年M月d日EEEE", 56 | "longDate": "y年M月d日", 57 | "medium": "y年M月d日 ahh:mm:ss", 58 | "mediumDate": "y年M月d日", 59 | "mediumTime": "ahh:mm:ss", 60 | "short": "yy年M月d日 ah:mm", 61 | "shortDate": "yy年M月d日", 62 | "shortTime": "ah:mm" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "¥", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00A4", 89 | "negSuf": ")", 90 | "posPre": "\u00A4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "zh-hant-hk", 96 | "pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_zh-hant-tw.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "上午", 7 | "1": "下午" 8 | }, 9 | "DAY": { 10 | "0": "星期日", 11 | "1": "星期一", 12 | "2": "星期二", 13 | "3": "星期三", 14 | "4": "星期四", 15 | "5": "星期五", 16 | "6": "星期六" 17 | }, 18 | "MONTH": { 19 | "0": "1月", 20 | "1": "2月", 21 | "2": "3月", 22 | "3": "4月", 23 | "4": "5月", 24 | "5": "6月", 25 | "6": "7月", 26 | "7": "8月", 27 | "8": "9月", 28 | "9": "10月", 29 | "10": "11月", 30 | "11": "12月" 31 | }, 32 | "SHORTDAY": { 33 | "0": "週日", 34 | "1": "週一", 35 | "2": "週二", 36 | "3": "週三", 37 | "4": "週四", 38 | "5": "週五", 39 | "6": "週六" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "1月", 43 | "1": "2月", 44 | "2": "3月", 45 | "3": "4月", 46 | "4": "5月", 47 | "5": "6月", 48 | "6": "7月", 49 | "7": "8月", 50 | "8": "9月", 51 | "9": "10月", 52 | "10": "11月", 53 | "11": "12月" 54 | }, 55 | "fullDate": "y年M月d日EEEE", 56 | "longDate": "y年M月d日", 57 | "medium": "yyyy/M/d ah:mm:ss", 58 | "mediumDate": "yyyy/M/d", 59 | "mediumTime": "ah:mm:ss", 60 | "short": "y/M/d ah:mm", 61 | "shortDate": "y/M/d", 62 | "shortTime": "ah:mm" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "¥", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00A4", 89 | "negSuf": ")", 90 | "posPre": "\u00A4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "zh-hant-tw", 96 | "pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_zh-hant-mo.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "上午", 7 | "1": "下午" 8 | }, 9 | "DAY": { 10 | "0": "星期日", 11 | "1": "星期一", 12 | "2": "星期二", 13 | "3": "星期三", 14 | "4": "星期四", 15 | "5": "星期五", 16 | "6": "星期六" 17 | }, 18 | "MONTH": { 19 | "0": "1月", 20 | "1": "2月", 21 | "2": "3月", 22 | "3": "4月", 23 | "4": "5月", 24 | "5": "6月", 25 | "6": "7月", 26 | "7": "8月", 27 | "8": "9月", 28 | "9": "10月", 29 | "10": "11月", 30 | "11": "12月" 31 | }, 32 | "SHORTDAY": { 33 | "0": "週日", 34 | "1": "週一", 35 | "2": "週二", 36 | "3": "週三", 37 | "4": "週四", 38 | "5": "週五", 39 | "6": "週六" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "1月", 43 | "1": "2月", 44 | "2": "3月", 45 | "3": "4月", 46 | "4": "5月", 47 | "5": "6月", 48 | "6": "7月", 49 | "7": "8月", 50 | "8": "9月", 51 | "9": "10月", 52 | "10": "11月", 53 | "11": "12月" 54 | }, 55 | "fullDate": "y年MM月dd日EEEE", 56 | "longDate": "y年MM月dd日", 57 | "medium": "y年M月d日 ahh:mm:ss", 58 | "mediumDate": "y年M月d日", 59 | "mediumTime": "ahh:mm:ss", 60 | "short": "yy年M月d日 ah:mm", 61 | "shortDate": "yy年M月d日", 62 | "shortTime": "ah:mm" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "¥", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00A4", 89 | "negSuf": ")", 90 | "posPre": "\u00A4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "zh-hant-mo", 96 | "pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/partials/product-add.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | {{notificationAlert.message}} 4 |
5 |
6 |
7 | Add Product 8 | 9 |
10 | 11 |
12 | 13 |
14 |
15 | 16 |
17 | 18 |
19 | 20 |
21 |
22 | 23 |
24 | 25 |
26 |
    27 |
  • 28 |
    29 | 30 | 31 |
    32 |
  • 33 |
34 | 35 |
36 |
37 | 38 |
39 | 40 | 41 |
42 |
43 |
44 |
45 | -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_ms-bn.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "PG", 7 | "1": "PTG" 8 | }, 9 | "DAY": { 10 | "0": "Ahad", 11 | "1": "Isnin", 12 | "2": "Selasa", 13 | "3": "Rabu", 14 | "4": "Khamis", 15 | "5": "Jumaat", 16 | "6": "Sabtu" 17 | }, 18 | "MONTH": { 19 | "0": "Januari", 20 | "1": "Februari", 21 | "2": "Mac", 22 | "3": "April", 23 | "4": "Mei", 24 | "5": "Jun", 25 | "6": "Julai", 26 | "7": "Ogos", 27 | "8": "September", 28 | "9": "Oktober", 29 | "10": "November", 30 | "11": "Disember" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Ahd", 34 | "1": "Isn", 35 | "2": "Sel", 36 | "3": "Rab", 37 | "4": "Kha", 38 | "5": "Jum", 39 | "6": "Sab" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mac", 45 | "3": "Apr", 46 | "4": "Mei", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Ogos", 50 | "8": "Sep", 51 | "9": "Okt", 52 | "10": "Nov", 53 | "11": "Dis" 54 | }, 55 | "fullDate": "dd MMMM y", 56 | "longDate": "d MMMM y", 57 | "medium": "dd/MM/yyyy h:mm:ss a", 58 | "mediumDate": "dd/MM/yyyy", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "d/MM/yy h:mm a", 61 | "shortDate": "d/MM/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "RM", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00A4", 89 | "negSuf": ")", 90 | "posPre": "\u00A4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "ms-bn", 96 | "pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_ms.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "PG", 7 | "1": "PTG" 8 | }, 9 | "DAY": { 10 | "0": "Ahad", 11 | "1": "Isnin", 12 | "2": "Selasa", 13 | "3": "Rabu", 14 | "4": "Khamis", 15 | "5": "Jumaat", 16 | "6": "Sabtu" 17 | }, 18 | "MONTH": { 19 | "0": "Januari", 20 | "1": "Februari", 21 | "2": "Mac", 22 | "3": "April", 23 | "4": "Mei", 24 | "5": "Jun", 25 | "6": "Julai", 26 | "7": "Ogos", 27 | "8": "September", 28 | "9": "Oktober", 29 | "10": "November", 30 | "11": "Disember" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Ahd", 34 | "1": "Isn", 35 | "2": "Sel", 36 | "3": "Rab", 37 | "4": "Kha", 38 | "5": "Jum", 39 | "6": "Sab" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mac", 45 | "3": "Apr", 46 | "4": "Mei", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Ogos", 50 | "8": "Sep", 51 | "9": "Okt", 52 | "10": "Nov", 53 | "11": "Dis" 54 | }, 55 | "fullDate": "EEEE, d MMMM y", 56 | "longDate": "d MMMM y", 57 | "medium": "dd/MM/yyyy h:mm:ss a", 58 | "mediumDate": "dd/MM/yyyy", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "d/MM/yy h:mm a", 61 | "shortDate": "d/MM/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "RM", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "ms", 96 | "pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_id.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Minggu", 11 | "1": "Senin", 12 | "2": "Selasa", 13 | "3": "Rabu", 14 | "4": "Kamis", 15 | "5": "Jumat", 16 | "6": "Sabtu" 17 | }, 18 | "MONTH": { 19 | "0": "Januari", 20 | "1": "Februari", 21 | "2": "Maret", 22 | "3": "April", 23 | "4": "Mei", 24 | "5": "Juni", 25 | "6": "Juli", 26 | "7": "Agustus", 27 | "8": "September", 28 | "9": "Oktober", 29 | "10": "November", 30 | "11": "Desember" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Min", 34 | "1": "Sen", 35 | "2": "Sel", 36 | "3": "Rab", 37 | "4": "Kam", 38 | "5": "Jum", 39 | "6": "Sab" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "Mei", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Agt", 50 | "8": "Sep", 51 | "9": "Okt", 52 | "10": "Nov", 53 | "11": "Des" 54 | }, 55 | "fullDate": "EEEE, dd MMMM yyyy", 56 | "longDate": "d MMMM yyyy", 57 | "medium": "d MMM yyyy HH:mm:ss", 58 | "mediumDate": "d MMM yyyy", 59 | "mediumTime": "HH:mm:ss", 60 | "short": "dd/MM/yy HH:mm", 61 | "shortDate": "dd/MM/yy", 62 | "shortTime": "HH:mm" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "Rp", 66 | "DECIMAL_SEP": ",", 67 | "GROUP_SEP": ".", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "\u00a4-", 89 | "negSuf": "", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "id", 96 | "pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_in.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Minggu", 11 | "1": "Senin", 12 | "2": "Selasa", 13 | "3": "Rabu", 14 | "4": "Kamis", 15 | "5": "Jumat", 16 | "6": "Sabtu" 17 | }, 18 | "MONTH": { 19 | "0": "Januari", 20 | "1": "Februari", 21 | "2": "Maret", 22 | "3": "April", 23 | "4": "Mei", 24 | "5": "Juni", 25 | "6": "Juli", 26 | "7": "Agustus", 27 | "8": "September", 28 | "9": "Oktober", 29 | "10": "November", 30 | "11": "Desember" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Min", 34 | "1": "Sen", 35 | "2": "Sel", 36 | "3": "Rab", 37 | "4": "Kam", 38 | "5": "Jum", 39 | "6": "Sab" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "Mei", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Agt", 50 | "8": "Sep", 51 | "9": "Okt", 52 | "10": "Nov", 53 | "11": "Des" 54 | }, 55 | "fullDate": "EEEE, dd MMMM yyyy", 56 | "longDate": "d MMMM yyyy", 57 | "medium": "d MMM yyyy HH:mm:ss", 58 | "mediumDate": "d MMM yyyy", 59 | "mediumTime": "HH:mm:ss", 60 | "short": "dd/MM/yy HH:mm", 61 | "shortDate": "dd/MM/yy", 62 | "shortTime": "HH:mm" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "Rp", 66 | "DECIMAL_SEP": ",", 67 | "GROUP_SEP": ".", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "\u00a4-", 89 | "negSuf": "", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "in", 96 | "pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_ms-my.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "PG", 7 | "1": "PTG" 8 | }, 9 | "DAY": { 10 | "0": "Ahad", 11 | "1": "Isnin", 12 | "2": "Selasa", 13 | "3": "Rabu", 14 | "4": "Khamis", 15 | "5": "Jumaat", 16 | "6": "Sabtu" 17 | }, 18 | "MONTH": { 19 | "0": "Januari", 20 | "1": "Februari", 21 | "2": "Mac", 22 | "3": "April", 23 | "4": "Mei", 24 | "5": "Jun", 25 | "6": "Julai", 26 | "7": "Ogos", 27 | "8": "September", 28 | "9": "Oktober", 29 | "10": "November", 30 | "11": "Disember" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Ahd", 34 | "1": "Isn", 35 | "2": "Sel", 36 | "3": "Rab", 37 | "4": "Kha", 38 | "5": "Jum", 39 | "6": "Sab" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mac", 45 | "3": "Apr", 46 | "4": "Mei", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Ogos", 50 | "8": "Sep", 51 | "9": "Okt", 52 | "10": "Nov", 53 | "11": "Dis" 54 | }, 55 | "fullDate": "EEEE, d MMMM y", 56 | "longDate": "d MMMM y", 57 | "medium": "dd/MM/yyyy h:mm:ss a", 58 | "mediumDate": "dd/MM/yyyy", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "d/MM/yy h:mm a", 61 | "shortDate": "d/MM/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "RM", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "ms-my", 96 | "pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_id-id.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Minggu", 11 | "1": "Senin", 12 | "2": "Selasa", 13 | "3": "Rabu", 14 | "4": "Kamis", 15 | "5": "Jumat", 16 | "6": "Sabtu" 17 | }, 18 | "MONTH": { 19 | "0": "Januari", 20 | "1": "Februari", 21 | "2": "Maret", 22 | "3": "April", 23 | "4": "Mei", 24 | "5": "Juni", 25 | "6": "Juli", 26 | "7": "Agustus", 27 | "8": "September", 28 | "9": "Oktober", 29 | "10": "November", 30 | "11": "Desember" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Min", 34 | "1": "Sen", 35 | "2": "Sel", 36 | "3": "Rab", 37 | "4": "Kam", 38 | "5": "Jum", 39 | "6": "Sab" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "Mei", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Agt", 50 | "8": "Sep", 51 | "9": "Okt", 52 | "10": "Nov", 53 | "11": "Des" 54 | }, 55 | "fullDate": "EEEE, dd MMMM yyyy", 56 | "longDate": "d MMMM yyyy", 57 | "medium": "d MMM yyyy HH:mm:ss", 58 | "mediumDate": "d MMM yyyy", 59 | "mediumTime": "HH:mm:ss", 60 | "short": "dd/MM/yy HH:mm", 61 | "shortDate": "dd/MM/yy", 62 | "shortTime": "HH:mm" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "Rp", 66 | "DECIMAL_SEP": ",", 67 | "GROUP_SEP": ".", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "\u00a4-", 89 | "negSuf": "", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "id-id", 96 | "pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/partials/product-detail.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | {{notificationAlert.message}} 4 |
5 |
6 |
7 | Product details 8 | 9 |
10 | 11 |
12 | 13 |
14 |
15 | 16 |
17 | 18 |
19 | 20 |
21 |
22 | 23 |
24 | 25 |
26 |
    27 |
  • 28 |
    29 | 30 | 31 |
    32 |
  • 33 |
34 | 35 |
36 |
37 | 38 |
39 | 40 | 41 |
42 |
43 |
44 |
45 | -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_ur-in.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "دن", 7 | "1": "رات" 8 | }, 9 | "DAY": { 10 | "0": "اتوار", 11 | "1": "پير", 12 | "2": "منگل", 13 | "3": "بده", 14 | "4": "جمعرات", 15 | "5": "جمعہ", 16 | "6": "ہفتہ" 17 | }, 18 | "MONTH": { 19 | "0": "جنوری", 20 | "1": "فروری", 21 | "2": "مارچ", 22 | "3": "اپريل", 23 | "4": "مئ", 24 | "5": "جون", 25 | "6": "جولائ", 26 | "7": "اگست", 27 | "8": "ستمبر", 28 | "9": "اکتوبر", 29 | "10": "نومبر", 30 | "11": "دسمبر" 31 | }, 32 | "SHORTDAY": { 33 | "0": "اتوار", 34 | "1": "پير", 35 | "2": "منگل", 36 | "3": "بده", 37 | "4": "جمعرات", 38 | "5": "جمعہ", 39 | "6": "ہفتہ" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "جنوری", 43 | "1": "فروری", 44 | "2": "مارچ", 45 | "3": "اپريل", 46 | "4": "مئ", 47 | "5": "جون", 48 | "6": "جولائ", 49 | "7": "اگست", 50 | "8": "ستمبر", 51 | "9": "اکتوبر", 52 | "10": "نومبر", 53 | "11": "دسمبر" 54 | }, 55 | "fullDate": "EEEE؍ d؍ MMMM y", 56 | "longDate": "d؍ MMMM y", 57 | "medium": "d؍ MMM y h:mm:ss a", 58 | "mediumDate": "d؍ MMM y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "d/M/yy h:mm a", 61 | "shortDate": "d/M/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "Rs", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "\u00A4-", 89 | "negSuf": "", 90 | "posPre": "\u00A4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "ur-in", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-bz.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "dd MMMM y", 56 | "longDate": "dd MMMM y", 57 | "medium": "dd-MMM-y HH:mm:ss", 58 | "mediumDate": "dd-MMM-y", 59 | "mediumTime": "HH:mm:ss", 60 | "short": "dd/MM/yy HH:mm", 61 | "shortDate": "dd/MM/yy", 62 | "shortTime": "HH:mm" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-bz", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, MMMM d, y", 56 | "longDate": "MMMM d, y", 57 | "medium": "MMM d, y h:mm:ss a", 58 | "mediumDate": "MMM d, y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "M/d/yy h:mm a", 61 | "shortDate": "M/d/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-be.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE d MMMM y", 56 | "longDate": "d MMM y", 57 | "medium": "dd MMM y HH:mm:ss", 58 | "mediumDate": "dd MMM y", 59 | "mediumTime": "HH:mm:ss", 60 | "short": "dd/MM/yy HH:mm", 61 | "shortDate": "dd/MM/yy", 62 | "shortTime": "HH:mm" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-be", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_ta-lk.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "am", 7 | "1": "pm" 8 | }, 9 | "DAY": { 10 | "0": "ஞாயிறு", 11 | "1": "திங்கள்", 12 | "2": "செவ்வாய்", 13 | "3": "புதன்", 14 | "4": "வியாழன்", 15 | "5": "வெள்ளி", 16 | "6": "சனி" 17 | }, 18 | "MONTH": { 19 | "0": "ஜனவரி", 20 | "1": "பிப்ரவரி", 21 | "2": "மார்ச்", 22 | "3": "ஏப்ரல்", 23 | "4": "மே", 24 | "5": "ஜூன்", 25 | "6": "ஜூலை", 26 | "7": "ஆகஸ்ட்", 27 | "8": "செப்டம்பர்", 28 | "9": "அக்டோபர்", 29 | "10": "நவம்பர்", 30 | "11": "டிசம்பர்" 31 | }, 32 | "SHORTDAY": { 33 | "0": "ஞா", 34 | "1": "தி", 35 | "2": "செ", 36 | "3": "பு", 37 | "4": "வி", 38 | "5": "வெ", 39 | "6": "ச" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "ஜன.", 43 | "1": "பிப்.", 44 | "2": "மார்.", 45 | "3": "ஏப்.", 46 | "4": "மே", 47 | "5": "ஜூன்", 48 | "6": "ஜூலை", 49 | "7": "ஆக.", 50 | "8": "செப்.", 51 | "9": "அக்.", 52 | "10": "நவ.", 53 | "11": "டிச." 54 | }, 55 | "fullDate": "EEEE, d MMMM, y", 56 | "longDate": "d MMMM, y", 57 | "medium": "d MMM, y h:mm:ss a", 58 | "mediumDate": "d MMM, y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "d-M-yy h:mm a", 61 | "shortDate": "d-M-yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "₹", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 2, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 2, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "\u00A4 -", 89 | "negSuf": "", 90 | "posPre": "\u00A4 ", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "ta-lk", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-as.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, MMMM d, y", 56 | "longDate": "MMMM d, y", 57 | "medium": "MMM d, y h:mm:ss a", 58 | "mediumDate": "MMM d, y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "M/d/yy h:mm a", 61 | "shortDate": "M/d/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-as", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-au.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, d MMMM y", 56 | "longDate": "d MMMM y", 57 | "medium": "dd/MM/yyyy h:mm:ss a", 58 | "mediumDate": "dd/MM/yyyy", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "d/MM/yy h:mm a", 61 | "shortDate": "d/MM/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-au", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-bb.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, MMMM d, y", 56 | "longDate": "MMMM d, y", 57 | "medium": "MMM d, y h:mm:ss a", 58 | "mediumDate": "MMM d, y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "M/d/yy h:mm a", 61 | "shortDate": "M/d/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-bb", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-bm.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, MMMM d, y", 56 | "longDate": "MMMM d, y", 57 | "medium": "MMM d, y h:mm:ss a", 58 | "mediumDate": "MMM d, y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "M/d/yy h:mm a", 61 | "shortDate": "M/d/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-bm", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-bw.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE dd MMMM y", 56 | "longDate": "dd MMMM y", 57 | "medium": "MMM d, y h:mm:ss a", 58 | "mediumDate": "MMM d, y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "dd/MM/yy h:mm a", 61 | "shortDate": "dd/MM/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-bw", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-fm.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, MMMM d, y", 56 | "longDate": "MMMM d, y", 57 | "medium": "MMM d, y h:mm:ss a", 58 | "mediumDate": "MMM d, y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "M/d/yy h:mm a", 61 | "shortDate": "M/d/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-fm", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-gb.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, d MMMM y", 56 | "longDate": "d MMMM y", 57 | "medium": "d MMM y HH:mm:ss", 58 | "mediumDate": "d MMM y", 59 | "mediumTime": "HH:mm:ss", 60 | "short": "dd/MM/yyyy HH:mm", 61 | "shortDate": "dd/MM/yyyy", 62 | "shortTime": "HH:mm" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "\u00a3", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "\u00a4-", 89 | "negSuf": "", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-gb", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-gu.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, MMMM d, y", 56 | "longDate": "MMMM d, y", 57 | "medium": "MMM d, y h:mm:ss a", 58 | "mediumDate": "MMM d, y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "M/d/yy h:mm a", 61 | "shortDate": "M/d/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-gu", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-gy.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, MMMM d, y", 56 | "longDate": "MMMM d, y", 57 | "medium": "MMM d, y h:mm:ss a", 58 | "mediumDate": "MMM d, y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "M/d/yy h:mm a", 61 | "shortDate": "M/d/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-gy", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-hk.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, d MMMM, y", 56 | "longDate": "d MMMM, y", 57 | "medium": "d MMM, y h:mm:ss a", 58 | "mediumDate": "d MMM, y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "d/M/yy h:mm a", 61 | "shortDate": "d/M/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-hk", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-iso.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, y MMMM dd", 56 | "longDate": "y MMMM d", 57 | "medium": "y MMM d HH:mm:ss", 58 | "mediumDate": "y MMM d", 59 | "mediumTime": "HH:mm:ss", 60 | "short": "yyyy-MM-dd HH:mm", 61 | "shortDate": "yyyy-MM-dd", 62 | "shortTime": "HH:mm" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-iso", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-jm.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, MMMM d, y", 56 | "longDate": "MMMM d, y", 57 | "medium": "MMM d, y h:mm:ss a", 58 | "mediumDate": "MMM d, y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "d/M/yy h:mm a", 61 | "shortDate": "d/M/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-jm", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-mh.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, MMMM d, y", 56 | "longDate": "MMMM d, y", 57 | "medium": "MMM d, y h:mm:ss a", 58 | "mediumDate": "MMM d, y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "M/d/yy h:mm a", 61 | "shortDate": "M/d/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-mh", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-mp.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, MMMM d, y", 56 | "longDate": "MMMM d, y", 57 | "medium": "MMM d, y h:mm:ss a", 58 | "mediumDate": "MMM d, y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "M/d/yy h:mm a", 61 | "shortDate": "M/d/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-mp", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-mu.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, MMMM d, y", 56 | "longDate": "MMMM d, y", 57 | "medium": "MMM d, y h:mm:ss a", 58 | "mediumDate": "MMM d, y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "M/d/yy h:mm a", 61 | "shortDate": "M/d/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-mu", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-na.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, MMMM d, y", 56 | "longDate": "MMMM d, y", 57 | "medium": "MMM d, y h:mm:ss a", 58 | "mediumDate": "MMM d, y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "M/d/yy h:mm a", 61 | "shortDate": "M/d/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-na", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-nz.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, d MMMM y", 56 | "longDate": "d MMMM y", 57 | "medium": "d/MM/yyyy h:mm:ss a", 58 | "mediumDate": "d/MM/yyyy", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "d/MM/yy h:mm a", 61 | "shortDate": "d/MM/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-nz", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-ph.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, MMMM d, y", 56 | "longDate": "MMMM d, y", 57 | "medium": "MMM d, y h:mm:ss a", 58 | "mediumDate": "MMM d, y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "M/d/yy h:mm a", 61 | "shortDate": "M/d/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-ph", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-pk.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE d MMMM y", 56 | "longDate": "d MMMM y", 57 | "medium": "dd-MMM-y h:mm:ss a", 58 | "mediumDate": "dd-MMM-y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "dd/MM/yy h:mm a", 61 | "shortDate": "dd/MM/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-pk", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-pr.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, MMMM d, y", 56 | "longDate": "MMMM d, y", 57 | "medium": "MMM d, y h:mm:ss a", 58 | "mediumDate": "MMM d, y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "M/d/yy h:mm a", 61 | "shortDate": "M/d/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-pr", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-pw.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, MMMM d, y", 56 | "longDate": "MMMM d, y", 57 | "medium": "MMM d, y h:mm:ss a", 58 | "mediumDate": "MMM d, y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "M/d/yy h:mm a", 61 | "shortDate": "M/d/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-pw", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-sg.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, d MMMM, y", 56 | "longDate": "d MMMM, y", 57 | "medium": "d MMM, y h:mm:ss a", 58 | "mediumDate": "d MMM, y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "d/M/yy h:mm a", 61 | "shortDate": "d/M/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-sg", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-tc.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, MMMM d, y", 56 | "longDate": "MMMM d, y", 57 | "medium": "MMM d, y h:mm:ss a", 58 | "mediumDate": "MMM d, y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "M/d/yy h:mm a", 61 | "shortDate": "M/d/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-tc", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-tt.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, MMMM d, y", 56 | "longDate": "MMMM d, y", 57 | "medium": "MMM d, y h:mm:ss a", 58 | "mediumDate": "MMM d, y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "M/d/yy h:mm a", 61 | "shortDate": "M/d/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-tt", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-um.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, MMMM d, y", 56 | "longDate": "MMMM d, y", 57 | "medium": "MMM d, y h:mm:ss a", 58 | "mediumDate": "MMM d, y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "M/d/yy h:mm a", 61 | "shortDate": "M/d/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-um", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-us.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, MMMM d, y", 56 | "longDate": "MMMM d, y", 57 | "medium": "MMM d, y h:mm:ss a", 58 | "mediumDate": "MMM d, y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "M/d/yy h:mm a", 61 | "shortDate": "M/d/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-us", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-vg.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, MMMM d, y", 56 | "longDate": "MMMM d, y", 57 | "medium": "MMM d, y h:mm:ss a", 58 | "mediumDate": "MMM d, y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "M/d/yy h:mm a", 61 | "shortDate": "M/d/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-vg", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-vi.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE, MMMM d, y", 56 | "longDate": "MMMM d, y", 57 | "medium": "MMM d, y h:mm:ss a", 58 | "mediumDate": "MMM d, y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "M/d/yy h:mm a", 61 | "shortDate": "M/d/yy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-vi", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_en-zw.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "Sunday", 11 | "1": "Monday", 12 | "2": "Tuesday", 13 | "3": "Wednesday", 14 | "4": "Thursday", 15 | "5": "Friday", 16 | "6": "Saturday" 17 | }, 18 | "MONTH": { 19 | "0": "January", 20 | "1": "February", 21 | "2": "March", 22 | "3": "April", 23 | "4": "May", 24 | "5": "June", 25 | "6": "July", 26 | "7": "August", 27 | "8": "September", 28 | "9": "October", 29 | "10": "November", 30 | "11": "December" 31 | }, 32 | "SHORTDAY": { 33 | "0": "Sun", 34 | "1": "Mon", 35 | "2": "Tue", 36 | "3": "Wed", 37 | "4": "Thu", 38 | "5": "Fri", 39 | "6": "Sat" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "Jan", 43 | "1": "Feb", 44 | "2": "Mar", 45 | "3": "Apr", 46 | "4": "May", 47 | "5": "Jun", 48 | "6": "Jul", 49 | "7": "Aug", 50 | "8": "Sep", 51 | "9": "Oct", 52 | "10": "Nov", 53 | "11": "Dec" 54 | }, 55 | "fullDate": "EEEE dd MMMM y", 56 | "longDate": "dd MMMM y", 57 | "medium": "dd MMM,y h:mm:ss a", 58 | "mediumDate": "dd MMM,y", 59 | "mediumTime": "h:mm:ss a", 60 | "short": "d/M/yyyy h:mm a", 61 | "shortDate": "d/M/yyyy", 62 | "shortTime": "h:mm a" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "$", 66 | "DECIMAL_SEP": ".", 67 | "GROUP_SEP": ",", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "(\u00a4", 89 | "negSuf": ")", 90 | "posPre": "\u00a4", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "en-zw", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); -------------------------------------------------------------------------------- /src/License.Manager/js/lib/angular/i18n/angular-locale_nl-aw.js: -------------------------------------------------------------------------------- 1 | angular.module("ngLocale", [], ["$provide", function($provide) { 2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 3 | $provide.value("$locale", { 4 | "DATETIME_FORMATS": { 5 | "AMPMS": { 6 | "0": "AM", 7 | "1": "PM" 8 | }, 9 | "DAY": { 10 | "0": "zondag", 11 | "1": "maandag", 12 | "2": "dinsdag", 13 | "3": "woensdag", 14 | "4": "donderdag", 15 | "5": "vrijdag", 16 | "6": "zaterdag" 17 | }, 18 | "MONTH": { 19 | "0": "januari", 20 | "1": "februari", 21 | "2": "maart", 22 | "3": "april", 23 | "4": "mei", 24 | "5": "juni", 25 | "6": "juli", 26 | "7": "augustus", 27 | "8": "september", 28 | "9": "oktober", 29 | "10": "november", 30 | "11": "december" 31 | }, 32 | "SHORTDAY": { 33 | "0": "zo", 34 | "1": "ma", 35 | "2": "di", 36 | "3": "wo", 37 | "4": "do", 38 | "5": "vr", 39 | "6": "za" 40 | }, 41 | "SHORTMONTH": { 42 | "0": "jan.", 43 | "1": "feb.", 44 | "2": "mrt.", 45 | "3": "apr.", 46 | "4": "mei", 47 | "5": "jun.", 48 | "6": "jul.", 49 | "7": "aug.", 50 | "8": "sep.", 51 | "9": "okt.", 52 | "10": "nov.", 53 | "11": "dec." 54 | }, 55 | "fullDate": "EEEE d MMMM y", 56 | "longDate": "d MMMM y", 57 | "medium": "d MMM y HH:mm:ss", 58 | "mediumDate": "d MMM y", 59 | "mediumTime": "HH:mm:ss", 60 | "short": "dd-MM-yy HH:mm", 61 | "shortDate": "dd-MM-yy", 62 | "shortTime": "HH:mm" 63 | }, 64 | "NUMBER_FORMATS": { 65 | "CURRENCY_SYM": "€", 66 | "DECIMAL_SEP": ",", 67 | "GROUP_SEP": ".", 68 | "PATTERNS": { 69 | "0": { 70 | "gSize": 3, 71 | "lgSize": 3, 72 | "macFrac": 0, 73 | "maxFrac": 3, 74 | "minFrac": 0, 75 | "minInt": 1, 76 | "negPre": "-", 77 | "negSuf": "", 78 | "posPre": "", 79 | "posSuf": "" 80 | }, 81 | "1": { 82 | "gSize": 3, 83 | "lgSize": 3, 84 | "macFrac": 0, 85 | "maxFrac": 2, 86 | "minFrac": 2, 87 | "minInt": 1, 88 | "negPre": "\u00A4 ", 89 | "negSuf": "-", 90 | "posPre": "\u00A4 ", 91 | "posSuf": "" 92 | } 93 | } 94 | }, 95 | "id": "nl-aw", 96 | "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} 97 | }); 98 | }]); --------------------------------------------------------------------------------