Built files from Bizgaze WebServer
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

createseries.js 33KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526
  1. var Unibase;
  2. (function (Unibase) {
  3. let Platform;
  4. (function (Platform) {
  5. let Series;
  6. (function (Series) {
  7. let Components;
  8. (function (Components) {
  9. class CreateSeries extends Platform.Core.BaseComponent {
  10. constructor() {
  11. super();
  12. this.InstalledAppId = 0;
  13. this.seriesManager = Series.Managers.SeriesManager.Instance();
  14. this.companymanager = Bizgaze.Apps.CRM.Companies.Managers.CompanyManager.Instance();
  15. }
  16. jsFiles() {
  17. return ['platform/series/managers/seriesmanager.js', 'apps/crm/companies/managers/companymanager.js', 'platform/series/components/series.js', "platform/forms/components/formviewer/formviewer.js", 'libs/parsley/parsley.min.js', 'platform/core/infos/status.js', 'platform/series/requests/series.js'];
  18. }
  19. cssFiles() {
  20. return [];
  21. }
  22. html(id, containerid) {
  23. let html = `<form id="frm_CreateSeries" method="post" data-validate="parsley">
  24. <div class="b-b bg-white header">
  25. <strong class="text-dark Title sp_title">Create Series</strong>
  26. </div>
  27. <div data-simplebar class="simple-scroll-bar scrollable control-sorting">
  28. <div id="div_SeriesMessage" class="clear">
  29. </div>
  30. <div class="section_Details card">
  31. <div class="card-body">
  32. <div class="row div_SName">
  33. <div class="col-sm-6">
  34. <div class="floating-label-form-group form-group floating-label focus" id="div_SeriesName">
  35. <label for="lblSeriesName" id="lbl_SeriesName">Series Name<span class="text-danger"> *</span></label>
  36. <div class="input-group">
  37. <input type="text" id="txt_SeriesName" class="form-control required floating-label-control" data-isdynamic="false" placeholder="Series Name *" data-placeholder="Enter Series Name" data-label="Series Name *" />
  38. <input type="hidden" id="hf_StatusId" value="1" />
  39. </div>
  40. </div>
  41. </div>
  42. <div class="col-sm-6" id="div_AppliedFor">
  43. <label for="lblAppliedFor" id="lbl_AppliedFor">Applied For<span class="text-danger"> *</span></label>
  44. <select style="width:100%" id="txt_AppliedFor" class="form-control txt_AppliedFor required value-control floating-label-control" data-isdynamic="false" placeholder="Applied For" data-placeholder="Applied For" data-label="Applied For">
  45. </select>
  46. <input type="hidden" id="hf_AppliedFor" />
  47. </div>
  48. </div>
  49. <div class="row div_SFormat">
  50. <div class="col-sm-6">
  51. <div class="floating-label-form-group form-group floating-label focus" id="div_SeriesFormat">
  52. <label for="lblSeriesFormat" id="lbl_SeriesFormat">Series Format<span class="text-danger"> *</span></label>
  53. <div class="input-group">
  54. <input type="text" id="txt_SeriesFormat" class="form-control required floating-label-control" data-isdynamic="false" data-placeholder="SE/{{SN}}" data-label="Series Format *" placeholder="Series Format *" />
  55. </div>
  56. </div>
  57. </div>
  58. <div class="col-sm-6">
  59. <div class="floating-label-form-group form-group floating-label focus" id="div_StartingNo">
  60. <label for="lblStartingNo" id="lbl_StartingNo">Starting No<span class="text-danger"> *</span></label>
  61. <input type="text" id="txt_StartingNo" class="form-control required floating-label-control" data-isdynamic="false" data-placeholder="1" data-label="Starting No *" placeholder="Starting No *"/>
  62. </div>
  63. </div>
  64. </div>
  65. <div class="row div_Format">
  66. <div class="col-sm-6">
  67. <div class="floating-label-form-group form-group floating-label focus" id="div_NumberSize">
  68. <label for="lblNumberSize" id="lbl_NumberSize">Number Size<span class="text-danger"> *</span></label>
  69. <input type="text" id="txt_NumberSize" class="form-control required floating-label-control" data-isdynamic="false" data-placeholder="4" data-label="Number Size *" placeholder="Number Size *" maxlength="1" />
  70. </div>
  71. </div>
  72. <div class="col-sm-6">
  73. <div class="floating-label-form-group form-group floating-label focus" id="div_NumberPrefix">
  74. <label for="lblNumberPrefix" id="lbl_NumberPrefix">Number Prefix<span class="text-danger"> *</span></label>
  75. <input type="text" id="txt_NumberPrefix" class="form-control required floating-label-control" data-isdynamic="false" data-placeholder="0" data-label="Number Prefix *" placeholder="Number Prefix *" maxlength="1"/>
  76. </div>
  77. </div>
  78. </div>
  79. <div class="row div_Dates">
  80. <div class="col-sm-6 ">
  81. <div class="floating-label-form-group floating-label-form-group-with-value" id="div_FromDate">
  82. <label for="lblFromDate" id="lbl_FromDate">From Date<span class="text-danger"> *</span></label>
  83. <div class="input-group">
  84. <input type="text" id="txt_fromdate" class="form-control value-control datepicker-input hasDatepicker required" data-date-format="dd/MM/yyyy" data-isdynamic="false" placeholder="From Date *" data-placeholder="dd/mm/yyyy" data-label="From Date *" />
  85. <a class="input-group-addon bg-white no-borders"><i class="fa fa-calendar"></i></a>
  86. </div>
  87. </div>
  88. </div>
  89. <div class="col-sm-6">
  90. <div class="floating-label-form-group floating-label-form-group-with-value" id="div_ToDate">
  91. <label for="lblToDate" id="lbl_ToDate">To Date<span class="text-danger"> *</span></label>
  92. <div class="input-group">
  93. <input type="text" id="txt_ToDate" class="form-control value-control datepicker-input hasDatepicker required" data-date-format="dd/MM/yyyy" data-isdynamic="false" placeholder="To Date *" data-placeholder="dd/mm/yyyy" data-label="To Date *" readonly="true" />
  94. <a class="input-group-addon bg-white no-borders"><i class="fa fa-calendar"></i></a>
  95. </div>
  96. </div>
  97. </div>
  98. </div>
  99. <div class="row div_ManualNum">
  100. <div class="col-sm-6 mt-30">
  101. <div class="form-group floating-label focus" id="div_istodate">
  102. <label for="frm_chk_istodate" id="lbl_istodate">Is To Date Undefined</label>
  103. <label class="switch pull-right">
  104. <input type="checkbox" id="chk_istodate" data-isdynamic="false" />
  105. <span></span>
  106. </label>
  107. </div>
  108. </div>
  109. <div class="col-sm-6 mt-30">
  110. <div class="form-group floating-label focus" id="div_ManualNumbering">
  111. <label for="frm_chk_ManualNumbering" id="lbl_ManualNumbering"><strong>Manual Numbering</strong></label>
  112. <label class="switch pull-right">
  113. <input type="checkbox" id="chk_ManualNumbering" data-isdynamic="false" />
  114. <span></span>
  115. </label>
  116. </div>
  117. </div>
  118. </div>
  119. <div class="row div_SerialnumberSettings">
  120. <div class="col-sm-6 mt-30">
  121. <div class="form-group floating-label focus" id="div_IsRandom">
  122. <label for="frm_chk_IsRandom" id="lbl_IsRandom"><strong>IsRandom</strong></label>
  123. <label class="switch pull-right">
  124. <input type="hidden" id="hf_IsRandom" value="" />
  125. <input type="checkbox" id="chk_IsRandom" data-isdynamic="false" />
  126. <span></span>
  127. <input type="hidden" id="hf_IsRandom" value="">
  128. <label for="Validation" id="lblValidation_IsRandom"></label>
  129. <input type="hidden" id="hfFormPropertyId" />
  130. </label>
  131. </div>
  132. </div>
  133. <div class="col-sm-6 div_SeriesType">
  134. <div class="form-group floating-label focus" id="divSeriesType">
  135. <label for="frm_chk_SeriesType" id="lbl_IsRandom">Series Type</label>
  136. <select id="ddl_SeriesType" class="form-control type-control value-control " placeholder = "Select SeriesType" data-placeholder="select SeriesType"><option value="0">--Select--</option><option value="1">Alphabets</option><option value="2">Numbers</option><option value="3">AlphaNumeric</option></select>
  137. </div>
  138. </div>
  139. </div>
  140. <div class="row div_CompnBranch">
  141. <div class="col-sm-6" id="div_Companies">
  142. <label for="lblCompanies" id="lbl_Companies">Companies</label>
  143. <select style="width:100%" id="sel_Companies" class="form-control txt_Companies floating-label-control" data-isdynamic="false" placeholder="Select" data-placeholder="Select" data-label="Companies" multiple="multiple">
  144. <input type="hidden" id="hfSelect2_Companies" class="hfSelect2_Roles' form-control value-control" data-isdynamic="true"/>
  145. </select>
  146. </div>
  147. <div class="col-sm-6" id="div_Branches">
  148. <label for="lblAppliedFor" id="lbl_Branches">Branches</label>
  149. <select style="width:100%" id="sel_Branches" class="form-control txt_Branches floating-label-control" data-isdynamic="false" placeholder="Select" data-placeholder="Select" data-label="Branches" multiple="multiple">
  150. <input type="hidden" id="hfSelect2_Branches" class="hfSelect2_Branches' form-control value-control" data-isdynamic="true"/>
  151. </select>
  152. </div>
  153. </div>
  154. </div>
  155. </div>
  156. <div class="section_Description card">
  157. <div class="card-header">Description</div>
  158. <div class="card-body">
  159. <div class="divsummernote wrapper bg-white" style="padding-top:0px;">
  160. <div id="div_Series_Description" data-isdynamic="false" placeholder="Description" data-placeholder="Enter Description" data-label="Description"></div>
  161. </div>
  162. </div>
  163. </div>
  164. </div>
  165. <div class="bg-white footer b-t">
  166. <a id="btn_CloseSeries" class="btn btn-light btn-sm mr-auto btn-close"> Close</a>
  167. <a id="btn_SaveSeries" class="btn btn-primary btn-sm">Save</a>
  168. </div></form>`;
  169. return html;
  170. }
  171. load(id, containerid, callback) {
  172. var instance = this;
  173. instance.summernote();
  174. var InstalledAppId = Unibase.Platform.Series.Components.Series.Instance().InstalledAppId;
  175. instance.InstalledAppId = InstalledAppId;
  176. $('#txt_StartingNo').addClass('numberonly');
  177. $('#txt_NumberSize').addClass('numberonly');
  178. $('#txt_NumberPrefix').addClass('numberonly');
  179. $('.numberonly').keypress(function (event) {
  180. if ((event.which > 47 && event.which < 58)) {
  181. }
  182. else {
  183. event.preventDefault();
  184. }
  185. }).on('paste', function (event) {
  186. event.preventDefault();
  187. });
  188. $("#txt_ToDate,#txt_fromdate").keypress(function (event) {
  189. if ((event.which > 44 && event.which < 58)) {
  190. }
  191. else {
  192. event.preventDefault();
  193. }
  194. });
  195. var currentdate = new Date();
  196. var datetime = currentdate.getDate() + "/"
  197. + (currentdate.getMonth() + 1) + "/"
  198. + currentdate.getFullYear() + " ";
  199. $("#txt_fromdate").val("" + datetime + "");
  200. currentdate.setDate(currentdate.getDate() + 364);
  201. var datetime1 = currentdate.getDate() + "/"
  202. + (currentdate.getMonth() + 1) + "/"
  203. + (currentdate.getFullYear()) + " ";
  204. $('#txt_fromdate').daterangepicker({
  205. locale: {
  206. format: 'DD/MM/YYYY',
  207. },
  208. singleDatePicker: true,
  209. showDropdowns: true,
  210. minYear: 1901,
  211. maxDate: new Date(2050, 11, 31)
  212. })
  213. .change(dateChanged)
  214. .on('changeDate', dateChanged);
  215. $("#txt_ToDate").val("" + datetime1 + "");
  216. $('#txt_ToDate').daterangepicker({
  217. locale: {
  218. format: 'DD/MM/YYYY',
  219. },
  220. singleDatePicker: true,
  221. showDropdowns: true,
  222. minYear: 1901,
  223. minDate: datetime,
  224. maxDate: new Date(2050, 11, 31)
  225. });
  226. `1`;
  227. function dateChanged(ev) {
  228. var DateSplit = $("#txt_fromdate").val().toString().split('/');
  229. var DateArray = DateSplit.filter(function (v) { return v !== ''; });
  230. var Only = DateArray[2].split(" ");
  231. var onlyYear = parseInt(Only[0]);
  232. var fromdate = new Date(moment($("#txt_fromdate").val(), "DD/MM/YYYY").format("YYYY/MM/DD"));
  233. var todate_min = new Date(moment($("#txt_fromdate").val(), "DD/MM/YYYY").format("YYYY/MM/DD"));
  234. fromdate.setDate(fromdate.getDate() + 364);
  235. var datetime1 = fromdate.getDate() + "/"
  236. + (fromdate.getMonth() + 1) + "/"
  237. + (fromdate.getFullYear()) + " ";
  238. $("#txt_ToDate").val(datetime1);
  239. $('#txt_ToDate').daterangepicker({
  240. locale: {
  241. format: 'DD/MM/YYYY',
  242. },
  243. singleDatePicker: true,
  244. showDropdowns: true,
  245. minYear: 1901,
  246. minDate: todate_min,
  247. maxDate: new Date(2050, 11, 31)
  248. });
  249. }
  250. $("#chk_istodate").on('change', function () {
  251. if ($(this).is(':checked')) {
  252. $('#txt_ToDate').prop('disabled', true);
  253. $('#txt_ToDate').css("cursor", "not-allowed");
  254. $('#txt_ToDate').removeClass("required");
  255. }
  256. else {
  257. $('#txt_ToDate').prop('disabled', false);
  258. $('#txt_ToDate').addClass("required");
  259. $('#txt_ToDate').removeAttr("style");
  260. }
  261. });
  262. $("#chk_ManualNumbering").on('change', function () {
  263. if ($(this).is(':checked')) {
  264. $('#txt_StartingNo').prop('disabled', true);
  265. $('#txt_NumberSize').prop('disabled', true);
  266. $('#txt_NumberPrefix').prop('disabled', true);
  267. $('#txt_SeriesFormat').prop('disabled', true);
  268. $('#txt_StartingNo').removeClass("required");
  269. $('#txt_SeriesFormat').removeClass("required");
  270. $('#txt_NumberPrefix').removeClass("required");
  271. $('#txt_NumberSize').removeClass("required");
  272. }
  273. else {
  274. $('#txt_StartingNo').prop('disabled', false);
  275. $('#txt_NumberSize').prop('disabled', false);
  276. $('#txt_NumberPrefix').prop('disabled', false);
  277. $('#txt_SeriesFormat').prop('disabled', false);
  278. $('#txt_StartingNo').addClass("required");
  279. $('#txt_SeriesFormat').addClass("required");
  280. $('#txt_NumberPrefix').addClass("required");
  281. $('#txt_NumberSize').addClass("required");
  282. }
  283. });
  284. $("#btn_SaveSeries").click(function () {
  285. let appcontrolid = "frm_CreateSeries";
  286. let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
  287. if (result == false) {
  288. MessageHelper.Instance().showError("Mandatory fields are missing", "div_SeriesMessage");
  289. return false;
  290. }
  291. else {
  292. instance.saveSeries(containerid, id);
  293. }
  294. });
  295. $(".div_SeriesType").addClass('hidden');
  296. $("#chk_IsRandom").on('change', function () {
  297. if ($(this).is(':checked')) {
  298. $(".div_SeriesType").removeClass('hidden');
  299. }
  300. else {
  301. $(".div_SeriesType").addClass('hidden');
  302. }
  303. });
  304. instance.loaddata(id);
  305. }
  306. loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) {
  307. CreateSeries.Instance().init(Pk_Value);
  308. }
  309. init(seriesid) {
  310. this.navigationHelper.popup(seriesid, '', Unibase.Platform.Series.Components.CreateSeries.Instance(), null, Platform.Helpers.Size.DockLeft);
  311. }
  312. loaddata(seriesid) {
  313. var instance = this;
  314. let url = _appsettings.server_url() + "/apis/v4/unibase/platform/apps/appkeyautocomplete";
  315. AutoCompleteHelper.getHelper().Create("#txt_AppliedFor", "#hf_AppliedFor", url, function (response) {
  316. });
  317. var companyurl = _appsettings.server_url() + '/apis/v4/bizgaze/crm/companies/getcompaniesAutoComplete';
  318. AutoCompleteHelper.getHelper().Create("#sel_Companies", "#hfSelect2_Companies", companyurl, function (response) {
  319. });
  320. var branchurl = _appsettings.server_url() + '/apis/v4/bizgaze/crm/companies/getbranchesAutoComplete';
  321. AutoCompleteHelper.getHelper().Create("#sel_Branches", "#hfSelect2_Branches", branchurl, function (response) {
  322. });
  323. if (seriesid != 0) {
  324. $(".sp_title").text("Edit Series");
  325. $("#div_AppliedFor").addClass("hidden");
  326. $(".div_SFormat").remove();
  327. $(".div_Format").remove();
  328. $(".div_Dates").remove();
  329. $(".div_ManualNum").remove();
  330. this.seriesManager.getSeriesById(seriesid).then(function (response) {
  331. $("#txt_SeriesName").val(response.result.SeriesName);
  332. $("#hfSeriesId").val(response.result.SeriesId);
  333. $("#hf_AppliedFor").val(response.result.AppKeyId);
  334. $("#txt_AppliedFor").removeClass('required');
  335. $("#div_Series_Description").summernote("code", response.result.Description);
  336. $("#div_SeriesName").addClass("floating-label-form-group-with-value");
  337. if (response.result.IsRandom == true) {
  338. $("#chk_IsRandom").prop("checked", true);
  339. $("#ddl_SeriesType").val(response.result.SeriesType);
  340. $(".div_SeriesType").removeClass('hidden');
  341. }
  342. if (response.result.Companies != '' && response.result.Companies != null) {
  343. var cids = response.result.Companies;
  344. var Companies = [];
  345. var ids = [];
  346. instance.companymanager.getAssignedCompanies(cids).then(function (response) {
  347. if (response.result != null) {
  348. var options = "";
  349. for (var i = 0; i < response.result.length; i++) {
  350. ids.push(response.result[i].CompanyId);
  351. options += '<option value="' + response.result[i].CompanyId + '">' + response.result[i].CompanyName + '</option>';
  352. }
  353. $("#sel_Companies").append(options).val(ids).trigger("change");
  354. }
  355. });
  356. }
  357. if (response.result.Branches != '' && response.result.Branches != null) {
  358. var userid = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().userId;
  359. instance.companymanager.getAssignedBranches(response.result.Branches, userid).then(function (response) {
  360. var Branches = [];
  361. var Ids = [];
  362. if (response.result != null) {
  363. var options = "";
  364. for (var i = 0; i < response.result.length; i++) {
  365. Ids.push(response.result[i].BranchId);
  366. options += '<option value="' + response.result[i].BranchId + '">' + response.result[i].BranchName + '</option>';
  367. }
  368. $("#sel_Branches").append(options).val(Ids).trigger("change");
  369. }
  370. });
  371. }
  372. $('#hf_StatusId').val(response.result.StatusId);
  373. });
  374. }
  375. }
  376. summernote() {
  377. $('#div_Series_Description').summernote({
  378. height: 100,
  379. minHeight: null,
  380. maxHeight: null,
  381. focus: true,
  382. placeholder: "Enter Description",
  383. codemirror: {
  384. mode: 'text/html',
  385. htmlNode: true,
  386. lineNumbers: true
  387. },
  388. toolbar: [
  389. ['font', ['bold', 'italic', 'underline']],
  390. ['color', ['color']],
  391. ['view', ['fullscreen', 'codeview', 'help']],
  392. ],
  393. });
  394. }
  395. getSelectedBranches() {
  396. var Branchcount = new Array();
  397. var branches = $('#sel_Branches').val();
  398. if (branches != null && branches != "null" && branches != "" && branches != undefined) {
  399. branches = branches.toString();
  400. Branchcount = branches.split(',');
  401. var branch = "";
  402. for (var i = 0; i < Branchcount.length; i++) {
  403. if (Branchcount[i] != "") {
  404. branch += "|" + Branchcount[i] + "|";
  405. }
  406. }
  407. return branch;
  408. }
  409. else {
  410. return "";
  411. }
  412. }
  413. getSelectedCompanies() {
  414. var companycount = new Array();
  415. var companies = $('#sel_Companies').val();
  416. if (companies != null && companies != "null" && companies != "" && companies != undefined) {
  417. companies = companies.toString();
  418. companycount = companies.split(',');
  419. var company = "";
  420. for (var i = 0; i < companycount.length; i++) {
  421. if (companycount[i] != "") {
  422. company += "|" + companycount[i] + "|";
  423. }
  424. }
  425. return company;
  426. }
  427. else {
  428. return "";
  429. }
  430. }
  431. saveSeries(containerid, id) {
  432. var instance = this;
  433. var StartingNo = 0;
  434. var SeriesFormat = "";
  435. var NumberPrefix = "";
  436. var NumberSize = 0;
  437. var fromdatestring = moment($("#txt_fromdate").val(), "DD/MM/YYYY").add(1, 'days').format("YYYY/MM/DD");
  438. let todatestring = moment($("#txt_ToDate").val(), "DD/MM/YYYY").add(1, 'days').format("YYYY/MM/DD");
  439. var todate = new Date(todatestring);
  440. var fromdate = new Date(fromdatestring);
  441. if (id == 0) {
  442. if ($("#chk_ManualNumbering").is(':checked')) {
  443. StartingNo = 0;
  444. SeriesFormat = "";
  445. NumberPrefix = "";
  446. NumberSize = 0;
  447. }
  448. else {
  449. StartingNo = Number($('#txt_StartingNo').val());
  450. SeriesFormat = $('#txt_SeriesFormat').val().toString();
  451. NumberPrefix = $('#txt_NumberPrefix').val().toString();
  452. NumberSize = Number($('#txt_NumberSize').val());
  453. }
  454. }
  455. let seriesformat = {
  456. SeriesId: id,
  457. SeriesFormatId: 0,
  458. StartingNumber: StartingNo,
  459. SeriesFormat: SeriesFormat,
  460. NumberPrefix: NumberPrefix,
  461. NumberSize: NumberSize,
  462. FromDate: fromdate,
  463. ToDate: todate,
  464. LastNumber: 0,
  465. IsToDateUndefined: $("#chk_istodate").prop('checked')
  466. };
  467. var InstalledAppId = instance.InstalledAppId;
  468. var AppKeyId = 0;
  469. if (id == 0) {
  470. AppKeyId = Number($("#txt_AppliedFor").val());
  471. }
  472. else {
  473. AppKeyId = Number($("#hf_AppliedFor").val());
  474. }
  475. var description = $('#div_Series_Description').summernote('code').toString();
  476. if (description == '<p><br></p>')
  477. description = '';
  478. else {
  479. description = $('#div_Series_Description').summernote('code').toString();
  480. description = description.replace('<p>', '').replace('</p>', '');
  481. }
  482. let postData = {
  483. SeriesId: id,
  484. SeriesName: $('#txt_SeriesName').val(),
  485. Description: description,
  486. AppKeyId: AppKeyId,
  487. CreateSeriesFormat: seriesformat,
  488. NumberPrefix: id == 0 ? $('#txt_NumberPrefix').val() : "",
  489. NumberSize: id == 0 ? Number($('#txt_NumberSize').val()) : 0,
  490. InstalledAppId: InstalledAppId,
  491. ManualNumbering: $("#chk_ManualNumbering").is(":checked"),
  492. Companies: this.getSelectedCompanies(),
  493. Branches: this.getSelectedBranches(),
  494. IsRandom: $("#chk_IsRandom").is(":checked"),
  495. SeriesType: Number($("#ddl_SeriesType option:selected").val()),
  496. StatusId: Number($('#hf_StatusId').val())
  497. };
  498. if (id != 0) {
  499. postData.CreateSeriesFormat = null;
  500. }
  501. this.seriesManager.createSeries(postData).then(function (response) {
  502. if (response.status == Unibase.Data.Status.Error) {
  503. MessageHelper.Instance().showError(response.message, 'div_SeriesMessage');
  504. }
  505. else {
  506. MessageHelper.Instance().showSuccess(response.message, 'div_SeriesMessage');
  507. $('#' + containerid).modal('hide');
  508. $('#' + containerid).remove();
  509. Unibase.Platform.Series.Components.Series.Instance().load(0, '', null);
  510. }
  511. });
  512. }
  513. static Instance() {
  514. if (this.instance === undefined) {
  515. this.instance = new CreateSeries();
  516. }
  517. return this.instance;
  518. }
  519. }
  520. Components.CreateSeries = CreateSeries;
  521. })(Components = Series.Components || (Series.Components = {}));
  522. })(Series = Platform.Series || (Platform.Series = {}));
  523. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  524. })(Unibase || (Unibase = {}));