var Bizgaze; (function (Bizgaze) { let Apps; (function (Apps) { let PayBacks; (function (PayBacks) { let Components; (function (Components) { class CouponRedemption extends Unibase.Platform.Core.BaseComponent { constructor() { super(...arguments); this._totalamount = 0; this._isScannedCoupon = false; this._isSecondCoupon = false; this._totalAppliedCoupons = 0; } cssFiles() { return null; } jsFiles() { return ["apps/paybacks/components/couponredemption.js", "apps/transact/managers/invoicemanager.js", "apps/paybacks/managers/schememanager.js"]; } html(id, containerid) { var html = ""; return html; } load(id, containerid, callback) { } init(containerid) { var instance = this; Unibase.Platform.Helpers.FileCacheHelper.Instance().loadCssFile("libs/simplebar/simplebar.min.css", null); this.fileCacheHelper.loadCssFile("tenants/themes/compact/css/coupons.css", null); this.fileCacheHelper.loadJsFile("apps/paybacks/managers/schememanager.js", null); this.fileCacheHelper.loadCssFile("platform/automation/components/notifier.js", null); this.fileCacheHelper.loadJsFile("platform/automation/enums/noitfyalerts.js", null); $('[data-toggle="tooltip"]').tooltip(); $(document).on("click", '.coupon-modal-close', function (e) { $('.timeline-wrap').removeClass('d-none'); $(this).closest('.coupon-modal').removeClass('d-block'); $('.spn_cpnrd_errormsg').html(''); return false; }); $(document).ready(function () { $('#cpnRedemp_txtCouponNo').on("input", function () { if ($("#cpnRedemp_txtCouponNo").val().toString().length >= 15) { Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().redeemCoupon(); } }); $(document).on("click", '#cpnrd_btn_ApplyNewCoupon', function (e) { var idTarget = $(this).attr('data-target'); $('.div_cpnrd_coupon_submissions').addClass('d-none'); $('.div_cpnrd_apply_coupon').removeClass('d-block'); $(idTarget).addClass('d-block'); $(idTarget).find('.input-focus').focus(); $('.cpnrd_div_btn_acitons').addClass('hidden'); $('.btn_cpnrd_SubmitCoupons').addClass('hidden'); Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().refreshData(); return false; }); $('#crpnrd_btn_OpenScanner').on("click", function () { $('#cpnRedemp_txtCouponNo').focusin(); Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().openScanner(); }); $('.btn_cpnrd_close_apply_coupon').on('click', function () { Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().refreshData(); Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().loadCouponSubmissions($('#cpnRedemp_hfOrganizationId').val()); $('.cpnrd_div_btn_acitons').removeClass('hidden'); $('#cpnrd_divErrorsList').addClass('hidden'); }); }); Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().render(containerid); Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().organizationAutoComplete(); } organizationAutoComplete() { var instance = this; var isCustomer = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().isRestrictedUser; var UserId = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().userId; if (isCustomer) { instance.fileCacheHelper.loadJsFile("apps/crm/contacts/managers/contactmanager.js", function () { Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getOrgContact(UserId).then(function (response) { var contactId = response.result.OrgContactId; var orgContactName = response.result.OrgContactName; var organizationName = response.result.OrganizationName; var PhoneNumber = response.result.PhoneNumber; var SapCode = ""; if (response.result.SAPCIN != null) { SapCode = response.result.SAPCIN; } var organiozationid = response.result.OrgId; var contactName = organizationName + '-' + SapCode + '-' + PhoneNumber; var contact = new Option(contactName, organiozationid.toString(), true); $('#cpnRedemp_hfOrganizationId').val(organiozationid); $("#cpnRedemp_txtOrganizationName").append(contact); if (contactId != 0) { Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().loadOrganizationDetails(organiozationid); Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().loadCouponSubmissions(organiozationid); Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().refreshData(); $('.timeline-wrap').removeClass('d-none'); $('.coupon-modal-close').closest('.coupon-modal').removeClass('d-block'); $('.spn_cpnrd_errormsg').html(''); $('.btn_cpnrd_SubmitCoupons').addClass('hidden'); $('.cpnRedemp_CouponSummary').removeClass('d-none'); $(".cpnRedemp_ContactDetails").removeClass('hidden'); } else { $('.cpnRedemp_CouponSummary').addClass('d-none'); $(".cpnRedemp_ContactDetails").addClass('hidden'); } }); }); } else { Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().bindContact(); } } bindContact() { var url = _appsettings.server_url() + '/apis/v4/bizgaze/paybacks/coupons/couponcontact'; AutoCompleteHelper.getHelper().Create("#cpnRedemp_txtOrganizationName", "#cpnRedemp_hfOrganizationId", url, function (response) { var autocompletedata = response; if ($('#cpnRedemp_hfOrganizationId').val() != 0) { Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().loadOrganizationDetails($('#cpnRedemp_hfOrganizationId').val()); Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().loadCouponSubmissions($('#cpnRedemp_hfOrganizationId').val()); Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().refreshData(); $('.timeline-wrap').removeClass('d-none'); $('.coupon-modal-close').closest('.coupon-modal').removeClass('d-block'); $('.spn_cpnrd_errormsg').html(''); $('.btn_cpnrd_SubmitCoupons').addClass('hidden'); $('.cpnRedemp_CouponSummary').removeClass('d-none'); $(".cpnRedemp_ContactDetails").removeClass('hidden'); } else { $('.cpnRedemp_CouponSummary').addClass('d-none'); $(".cpnRedemp_ContactDetails").addClass('hidden'); } }); } ; loadOrganizationDetails(organizationId) { var instance = this; instance.fileCacheHelper.loadJsFile("apps/paybacks/managers/schememanager.js", function () { Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().getOrganizationDetails(organizationId).then(function (response) { var data = response.result; if (data != null) { $("#cpnrd_spnContactName").text(data.OrganizationName); $("#cpnrd_spnContactPhoneNumber").text(data.PhoneNumber); $("#cpnrd_spnContactEmailId").text(data.EmailAddress); $("#cpnrd_spnContactCityName").text(data.CityName); $("#cpnrd_spnContactStageName").text(data.StageName); $("#cpnrd_spnStateName").text(data.StateName); $("#cpnrd_spnContactAddress").text(data.AddressName); $("#cpnrd_spnContactTagName").text(data.TagName); $("#cpnrd_spnContactStateName").text(data.StateName); $("#hf_Coupon_Org_search").val(data.OrganizationId); $("#cpnrd_spnContactAddress").attr('title', data.AddressName); if (data.SapCIN == "0" || data.SapCIN == 0 || data.SapCIN == null) $("#cpnrd_spnContactId").text('NA'); else $("#cpnrd_spnContactId").text(data.SapCIN); if (data.StageStatusName != 'Confirmed') { $('#cpnrd_btn_ApplyNewCoupon').addClass('disabled'); $('#cpnrd_btn_ApplyNewCoupon').addClass('cpnrd-custom-disabled-btn'); } else { $('#cpnrd_btn_ApplyNewCoupon').removeClass('disabled'); $('#cpnrd_btn_ApplyNewCoupon').removeClass('cpnrd-custom-disabled-btn'); } } }); }); } refreshData() { $('#cpnrd_CouponRdemptionList_Items').empty(); $('.cpnrd_ulErrorsList').empty(); $(".cpnrd_spnAppliedCouponsTotalAmount").text(''); $(".cpnrd_spnCouponSubmissionNumber").text(''); $(".cpnrd_spanAppliedCouponsCount").text(''); $("#cpnrd_hfCouponSubmissionId").val(0); $("#cpnrd_hfCouponSubmissionNo").val(''); $("#cpnrd_hf_AppliedCouponsAmount").val(0); $('.cpnrd_spanTotalMktValue').text(''); $('.cpnrd_spanTotalMfgValue').text(''); $("#cpnrd_hf_MktCouponsAmount").val(0); $("#cpnrd_hf_MfgCouponsAmount").val(0); $("#cpnRedemp_txtCouponNo").val(''); $("#cpnrd_CouponRdemptionList_Items").html(''); $(".cpnrd_ulErrorsList").html(''); Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance()._isSecondCoupon = false; Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance()._totalAppliedCoupons = 0; } loadCouponSubmissions(contactid) { var instance = this; Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/paybacks/managers/schememanager.js", function () { Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().getTransactionLog(contactid).then(function (response) { Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().bindSubmissionsHtml(response.result); $('.cpnrd_div_btn_acitons').removeClass('hidden'); }); }); } bindSubmissionsHtml(logdata) { var html = ''; if (logdata.length > 0) { for (var i = 0; i < logdata.length; i++) { let data = logdata[i]; Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().loadTransactionLogItems(data.CouponSubmissionId); html += '
' + '' + '
' + '
' + '
Coupon Code
' + '
Product Code
Amount
Is Scanned Coupon
Marketing
Manufacturing
' + '
' + '
' + '
' + '
'; } } else { html += '
No submissions found...
'; } $('.cpnRedmp_SubmissionList_li').html(html); } loadTransactionLogItems(couponsubmissionid) { this.fileCacheHelper.loadJsFile("apps/paybacks/managers/schememanager.js", function () { Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().getTransactionLogItems(couponsubmissionid).then(function (response) { var logitemdata = response.result; var html = ''; $('.cpmRedemp_TransationLogItems_' + couponsubmissionid + '').html(html); }); }); } readScanner(capturedValue, uniqueId) { if (capturedValue != "" && capturedValue != null && capturedValue != undefined) { $("#cpnRedemp_txtCouponNo").val(capturedValue); Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance()._isScannedCoupon = true; Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().redeemCoupon(); } } openScanner() { if (isMobileApp()) { Unibase.Platform.Helpers.MobileHelper.Instance().openQrScanner("Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().readScanner", "_Widget_User_Designed_Coupon_Rademption"); } } andriodTextToSpeech(textToSpeech) { if (isMobileApp()) { Unibase.Platform.Helpers.MobileHelper.Instance().textToSpeech(textToSpeech); } } redeemCoupon() { var instance = this; $('.spn_cpnrd_errormsg').html(''); let contactid = Number($('#cpnRedemp_hfOrganizationId').val()); let couponno = $('#cpnRedemp_txtCouponNo').val().toString(); var tempArray = []; let isSecondCoupon = instance._isSecondCoupon; let isScannedCoupon = instance._isScannedCoupon; let TotalAmount = Number($("#cpnrd_hf_AppliedCouponsAmount").val()); let mktTotalAmount = Number($("#cpnrd_hf_MktCouponsAmount").val()); let mfgTotalAmount = Number($("#cpnrd_hf_MfgCouponsAmount").val()); let audiotype; if (contactid == 0) { MessageHelper.Instance().showError('Please select any customer... ', 'spn_cpnrd_errormsg'); return null; } if (couponno == "" || couponno == undefined) { MessageHelper.Instance().showError('Coupon number can not be empty', 'spn_cpnrd_errormsg'); return null; } this.fileCacheHelper.loadJsFile("apps/paybacks/managers/schememanager.js", function () { Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/invoicemanager.js", function () { var coupon = { CouponNo: couponno, AppliedContactId: contactid, IsSecondCoupon: isSecondCoupon, IsRedeemed: true, CouponSubmissionId: Number($('#cpnrd_hfCouponSubmissionId').val()), CouponSubmissionNo: $('#cpnrd_hfCouponSubmissionNo').val(), IsScannedCoupon: isScannedCoupon, }; Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().RedeemCoupon(coupon).then(function (response) { if (response.errors != null) { Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().bindTempErrorLog(couponno, response.message); MessageHelper.Instance().showError(response.message, 'spn_cpnrd_errormsg'); if (isMobileApp()) if (response.message.includes('redeemed')) Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().andriodTextToSpeech("Coupon already redeemed"); else Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().andriodTextToSpeech(response.message); else { if (response.message.includes('Invalid/duplicate')) { audiotype = Unibase.Platform.Automation.Enums.NotifyAlerts.InvalidDuplicateCoupon; Unibase.Platform.Automation.Components.Notifier.Instance().playAudio(audiotype); } else if (response.message.includes('redeemed')) { audiotype = Unibase.Platform.Automation.Enums.NotifyAlerts.CouponAlreadyRedeemed; Unibase.Platform.Automation.Components.Notifier.Instance().playAudio(audiotype); } else if (response.message.includes('Unauthentic') || response.message.includes('unauthentic')) { audiotype = Unibase.Platform.Automation.Enums.NotifyAlerts.UnAuthenticCoupon; Unibase.Platform.Automation.Components.Notifier.Instance().playAudio(audiotype); } else if (response.message.includes('Scrapped') || response.message.includes('scrapped')) { audiotype = Unibase.Platform.Automation.Enums.NotifyAlerts.CouponScrapped; Unibase.Platform.Automation.Components.Notifier.Instance().playAudio(audiotype); } else { eval('unibase_tenants_themes_notificationrefresh.invalidDuplicateCoupon()'); audiotype = Unibase.Platform.Automation.Enums.NotifyAlerts.InvalidDuplicateCoupon; Unibase.Platform.Automation.Components.Notifier.Instance().playAudio(audiotype); } } $("#cpnRedemp_txtCouponNo").val(''); return null; } if (response.result != null) { var data = JSON.parse(response.result); data = data.Result; instance._isSecondCoupon = true; Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance()._isScannedCoupon = false; $(".cpnrd_spnCouponSubmissionNumber").text(data.SubmissionNo); $("#cpnrd_hfCouponSubmissionId").val(data.CouponSubmissionId); $("#cpnrd_hfCouponSubmissionNo").val(data.SubmissionNo); let couponId = data.CouponId; TotalAmount = TotalAmount + Number(data.CouponValue); if (data.ItemDivisionType == "MKT") mktTotalAmount = mktTotalAmount + Number(data.CouponValue); else if (data.ItemDivisionType == "MFG") mfgTotalAmount = mfgTotalAmount + Number(data.CouponValue); $(".cpnrd_spnAppliedCouponsTotalAmount").text(TotalAmount); $("#cpnrd_hf_AppliedCouponsAmount").val(TotalAmount); $('#cpnrd_hf_CouponSubmissionNo').val(data.SubmissionNo); $("#cpnrd_hf_MktCouponsAmount").val(mktTotalAmount); $("#cpnrd_hf_MfgCouponsAmount").val(mfgTotalAmount); $('.cpnrd_spanTotalMktValue').text(mktTotalAmount); $('.cpnrd_spanTotalMfgValue').text(mfgTotalAmount); Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().bindRedemptionHtml(data); if (isMobileApp()) Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().andriodTextToSpeech('Coupon Applied'); else audiotype = Unibase.Platform.Automation.Enums.NotifyAlerts.CouponBeep; Unibase.Platform.Automation.Components.Notifier.Instance().playAudio(audiotype); $("#cpnRedemp_txtCouponNo").val(''); } }); }); }); this._totalamount = Number($("#cpnrd_hf_AppliedCouponsAmount").val()); } bindTempErrorLog(couponNumber, message) { $('#cpnrd_divErrorsList').removeClass('hidden'); var html = '
  • ' + '' + couponNumber + '' + '' + message + '' + '
    '; '
  • '; $('.cpnrd_ulErrorsList_li:first').before(html); } submitCoupons() { let contactid = Number($('#cpnRedemp_hfOrganizationId').val()); var postdata = { ContactId: contactid, IsSubmitted: true, ConsumedValue: Number($('.AvailableWalletAmount').text()), SubmissionNo: $('.cpnrd_spnCouponSubmissionNumber').text(), SubmissionId: $('#cpnrd_hfCouponSubmissionId').val(), }; Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/paybacks/managers/schememanager.js", function () { Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().couponsubmition(postdata).then(function (response) { $('#cpnrd_CouponRdemptionList_Items').empty(); $("#cpnrd_CouponRdemptionList_Items").html(''); $('.cpnrd_spanAppliedCouponsCount').text('0'); $('.cpnrd_spnAppliedCouponsTotalAmount').text('0'); var data = response; Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().loadCouponSubmissions($('#cpnRedemp_hfOrganizationId').val()); if (response.errors != null) { MessageHelper.Instance().showError(response.message, 'spn_cpnrd_errormsg'); } else { $('.timeline-wrap').removeClass('d-none'); $('.coupon-modal-close').closest('.coupon-modal').removeClass('d-block'); $('.spn_cpnrd_errormsg').html(''); MessageHelper.Instance().showSuccess(response.message, 'spn_cpnrd_errormsg'); return false; } }); }); } getcouponwallletamount(contactid) { Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/paybacks/managers/schememanager.js", function () { Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().getcouponwallletamount(contactid).then(function (response) { var data = response; var amount = data.result.WalletValue; $('.AvailableWalletAmount').text(amount); }); }); } bindRedemptionHtml(couponData) { let SubmissionNo = ""; var instance = this; instance._totalAppliedCoupons += 1; SubmissionNo = couponData.SubmissionNo; var mktVal = 0; var mfgVal = 0; if (couponData.ItemDivisionType == "MKT") mktVal = couponData.CouponValue; else if (couponData.ItemDivisionType == "MFG") mfgVal = couponData.CouponValue; var html = ''; var lastAss = ''; if (couponData.LastAssignedTo != null || couponData.LastAssignedTo != '') lastAss = couponData.LastAssignedToName; html += '' + '' + couponData.CouponNo + '' + '' + couponData.Sku + '' + '₹' + couponData.CouponValue + '' + '' + mktVal + '' + '' + mfgVal + '' + '' + lastAss + '' + ''; if (SubmissionNo != "") { $('.btn_cpnrd_SubmitCoupons').removeClass('hidden'); } $('.cpnrd_spanAppliedCouponsCount').text(instance._totalAppliedCoupons); $('.cpnrd_CouponRdemptionList_Items_li:first').after(html); } render(containerid) { var portletwidgetid = Number($("#hf_PortletWidgetId").val()); $(".div_portletwidget_" + portletwidgetid).empty(); var html = `
    Submissions
    Apply New Coupon
    You can apply multiple coupons
    Submission Number :
    Applied Coupons0 Total Amount0
    Coupon CodeProduct Code AmountMarketing0 Manufacturing0 Last Assigned To
    `; $("#" + containerid).html(html); } static Instance() { if (this.instance === undefined) { this.instance = new CouponRedemption(); } return this.instance; } } Components.CouponRedemption = CouponRedemption; })(Components = PayBacks.Components || (PayBacks.Components = {})); })(PayBacks = Apps.PayBacks || (Apps.PayBacks = {})); })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {})); })(Bizgaze || (Bizgaze = {}));