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 += '';
}
}
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 = '';
for (var i = 0; i < logitemdata.length; i++) {
var mktVal = 0;
var mfgVal = 0;
var data = logitemdata;
if (data[i].ItemDivisionType == 'MKT')
mktVal = data[i].CouponValue;
else if (data[i].ItemDivisionType == 'MFG')
mfgVal = data[i].CouponValue;
html += '- ';
html += '
' +
'
' + data[i].CouponNo + '
' +
'
' + data[i].Sku + '
' +
'
₹' + data[i].CouponValue + '
' +
'
' + data[i].IsScannedCoupon + '
' +
'
₹' + mktVal + '
' +
'
₹' + mfgVal + '
' +
'
';
}
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 = `
`;
$("#" + 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 = {}));