var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var Bizgaze; (function (Bizgaze) { let Apps; (function (Apps) { let Paybacks; (function (Paybacks) { let Components; (function (Components) { class CouponGeneration extends Unibase.Platform.Core.BaseComponent { constructor() { super(); this.generatedquantity = 0; this.couponrequestid = 0; } cssFiles() { return []; } jsFiles() { return ["apps/paybacks/components/coupongeneration.js", "platform/core/helpers/datetimehelper/datetimehelper.js", "platform/portlets/managers/portletmanager.js", "platform/portlets/managers/interfaces/iportletmanager.js"]; } html(id, containerid) { var html = `
Coupon Generation
  • Generation ID
    Generated Coupons
    Generated Date
    Created By
`; return html; } load(id, containerid, callback) { return __awaiter(this, void 0, void 0, function* () { var instance = this; var requestedquantity; instance.generatedquantity = 0; for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) { if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_requestedquantity") { requestedquantity = Number(obj.Value); } if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_couponrequestid") { instance.couponrequestid = Number(obj.Value); } } $("#txt_requestcoupons").text(requestedquantity); $("#hf_requestedquantity").val(requestedquantity); $("#addCouponGeneration").click(function () { $(".div_generationproperties").removeClass("hidden"); }); yield Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().getCouponGenerations(instance.couponrequestid).then(function (response) { var data = response.result; if (data.length > 0) { for (var i = 0; i < data.length; i++) { instance.generatedquantity += data[i].GeneratedQuantity; } } }); $("#hf_generatedquantity").val(instance.generatedquantity); $("#txt_generatedcoupons").text(instance.generatedquantity); $("#savecoupongeneration").click(function () { instance.SaveCouponGeneration(containerid); }); $(".txt_couponqty").keypress(function (key) { if (key.charCode < 46 || key.charCode > 58) return false; }); instance.loadCoupongenerations(instance.couponrequestid); }); } init(containerid) { var instance = this; instance.fileCacheHelper.loadJsFiles(["apps/paybacks/components/coupongeneration.js", "apps/paybacks/managers/schememanager.js", "tenants/themes/default/components/details/details.js", "platform/core/helpers/datetimehelper/datetimehelper.js", "platform/portlets/managers/interfaces/iportletmanager.js", "platform/portlets/managers/portletmanager.js"], function () { instance.navigationHelper.loadSection(0, containerid, Bizgaze.Apps.Paybacks.Components.CouponGeneration.Instance(), null, null); }); } SaveCouponGeneration(containerid) { var requestquantity = Number($("#hf_requestedquantity").val()); var generatedquantity = Number($("#hf_generatedquantity").val()); if (generatedquantity == 0) generatedquantity = Number($("#txt_couponqty").val()); else generatedquantity += Number($("#txt_couponqty").val()); if (generatedquantity > requestquantity) { MessageHelper.Instance().showError("Generated Quantity can not be greater than Requested Quantity", "bizgaze_ErrorMessages"); return false; } var instance = this; var postData = { coupongenerationid: Number(0), couponrequestid: Number(instance.couponrequestid), generatedquantity: Number($("#txt_couponqty").val()), generationno: 0, seriesid: 0, stageid: 0, }; instance.fileCacheHelper.loadJsFile("tenants/themes/default/components/details/details.js", function () { Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().saveCouponGeneration(postData).then(function (response) { MessageHelper.Instance().showSuccess(response.message, "bizgaze_ErrorMessages"); instance.loadCoupongenerations(instance.couponrequestid); $(".div_generationproperties").addClass("hidden"); var portletid = Number($("#hf_PortletId").val()); var installedappid = Unibase.Themes.Providers.DetailHelper.installedAppId; Unibase.Themes.Compact.Components.Details.Instance().loadWidgets(installedappid, portletid, ""); }); }); } loadCoupongenerations(couponrequestid) { Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().getCouponGenerations(couponrequestid).then(function (response) { var data = response.result; var html = ''; if (data.length > 0) { for (var i = 0; i < data.length; i++) { var len = $('.length-row').length; var _datetimehelper = Unibase.Platform.Helpers.DateTimeHelper.Instance(); html += '
  • ' + '' + '' + '
    ' + '
    ' + '' + data[i].GeneratedQuantity + '
    ' + '
    ' + '' + _datetimehelper.formatLocalDate1(data[i].CreatedDate, '') + '' + '
    ' + '
    ' + '' + data[i].CreatedbyName + '' + '
    ' + '
    ' + '
  • '; } $("#CouponGeneration_Details_HiddenRow").empty(); $('#CouponGeneration_Details_HiddenRow').append(html); } }); } RegenerateCoupon() { var instance = this; var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; var id = String(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_coupongenerationid").Value); var stagestatusid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_refstatusid").Value); if (stagestatusid == 4) { $(".DetailSetting_" + installedAppId + "_Re-Generate").removeClass("hidden"); } else $(".DetailSetting_" + installedAppId + "_Re-Generate").addClass("hidden"); let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1]; $(detailContainer).find('.DetailSetting_' + Unibase.Themes.Providers.DetailHelper.installedAppId + '_Re-Generate').click(function () { $(".DetailSetting_" + installedAppId + "_Re-Generate").addClass("hidden"); instance.fileCacheHelper.loadJsFile("apps/paybacks/managers/schememanager.js", function () { Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().ResaveCouponGeneration(id).then(function (response) { if (response.errors == null) { var detailInstance = Unibase.Themes.Compact.Components.Details.Instance(); var panel = "#" + detailInstance._containerId; var obj = Unibase.Themes.Compact.Components.Details.Instance(); obj._recordId = Unibase.Themes.Providers.DetailHelper.recordId; obj._installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; detailInstance.loadAppDefaultWidget(obj, panel, detailInstance._containerId, function () { detailInstance.loadDefaultWidgets(obj._installedAppId, panel); detailInstance.LoadApprovals(obj._recordId, obj._installedAppId); }); MessageHelper.Instance().showSuccess("Coupon Generated Successfully", ""); } else { MessageHelper.Instance().showError(response.message, "div_message"); } }); }); }); } static Instance() { if (this.instance === undefined) { this.instance = new CouponGeneration(); } return this.instance; } } Components.CouponGeneration = CouponGeneration; })(Components = Paybacks.Components || (Paybacks.Components = {})); })(Paybacks = Apps.Paybacks || (Apps.Paybacks = {})); })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {})); })(Bizgaze || (Bizgaze = {}));