Built files from Bizgaze WebServer
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

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 = {}));