示例#1
0
        protected void VoidReceiptBut_Click(object sender, EventArgs e)
        {
            //only admin can void
            //when void add transaction by minusing points back to user account
            //if status is processed.
            //else
            //just change status to void.
            int redemptionbypointreceiptid = int.Parse(UpdateReceiptBut.CommandArgument);
            var db = new ApplicationServices.ApplicationServicesDB();

            using (var scope = db.GetTransaction())
            {
                bool approveRedemptionByPointReceipt = ClientManager.voidRedemptionByPointReceipt(
                    redemptionbypointreceiptid,
                    int.Parse(ResellerDDL2.SelectedValue),
                    InvoiceNoTB.Text.Trim(),
                    (DateTime)PurchaseDateRadDatePicker.SelectedDate);
                RedemptionByPointReceipt redemptionByPointReceipt = ClientManager.getRedemptionByPointReceipt(redemptionbypointreceiptid);
                RedemptionMemberClient   redemptionMemberClient   = ClientManager.getRedemptionMemberClient(
                    redemptionByPointReceipt.UserId,
                    redemptionByPointReceipt.clientid);
                int    newPointBalance = redemptionMemberClient.pointbalance - redemptionByPointReceipt.totalpoints;
                string notes           = "Receipt ID:" + redemptionByPointReceipt.redemptionbypointreceiptid +
                                         " | Points:" + -redemptionByPointReceipt.totalpoints;

                int insertRedemptionByPointTransaction = ClientManager.insertRedemptionByPointTransaction(
                    redemptionByPointReceipt.UserId,
                    redemptionByPointReceipt.clientid,
                    (int)RedemptionByPointTransactionType.VOID,
                    -redemptionByPointReceipt.totalpoints,
                    newPointBalance,
                    notes);
                bool updateRedemptionMemberClientBalance = ClientManager.updateRedemptionMemberClientBalance(
                    redemptionByPointReceipt.UserId,
                    redemptionByPointReceipt.clientid,
                    newPointBalance);

                if ((insertRedemptionByPointTransaction != -1) &&
                    updateRedemptionMemberClientBalance)
                {
                    scope.Complete();
                }
                var x = ClientManager.getAllRedemptionByPointReceiptPendingProcess();
                ReceiptRadGrid.DataSource = x;
                ReceiptRadGrid.Rebind();
                ClientDetailPnl.Visible = false;

                Logger.LogInfo(Membership.GetUser().UserName + "- Void status is set for Receipt ID(ClaimPoints):" + redemptionbypointreceiptid
                               + " points are removed from member"
                               , this.GetType());
            }
        }
示例#2
0
        protected void UpdateReceiptBut_Click(object sender, EventArgs e)
        {
            Page.Validate("form");
            if (Page.IsValid)
            {
                int redemptionbypointreceiptid = int.Parse(UpdateReceiptBut.CommandArgument);
                var db = new ApplicationServices.ApplicationServicesDB();
                using (var scope = db.GetTransaction())
                {
                    bool approveRedemptionByPointReceipt = ClientManager.approveRedemptionByPointReceipt(
                        redemptionbypointreceiptid,
                        int.Parse(ResellerDDL2.SelectedValue),
                        InvoiceNoTB.Text.Trim(),
                        (DateTime)PurchaseDateRadDatePicker.SelectedDate);
                    //textbox is filled so take balance from custom points tb
                    if (CustomPointsTB.Text.Trim().Count() > 0)
                    {
                        ClientManager.updateRedemptionByPointReceiptPoint(
                            redemptionbypointreceiptid,
                            int.Parse(CustomPointsTB.Text));
                    }

                    RedemptionByPointReceipt redemptionByPointReceipt = ClientManager.getRedemptionByPointReceipt(redemptionbypointreceiptid);
                    RedemptionMemberClient   redemptionMemberClient   = ClientManager.getRedemptionMemberClient(
                        redemptionByPointReceipt.UserId,
                        redemptionByPointReceipt.clientid);


                    int newPointBalance = redemptionMemberClient.pointbalance + redemptionByPointReceipt.totalpoints;
                    //RedemptionByPointTransaction
                    string notes = "Receipt ID:" + redemptionByPointReceipt.redemptionbypointreceiptid +
                                   " | Points:" + redemptionByPointReceipt.totalpoints;
                    int insertRedemptionByPointTransaction = ClientManager.insertRedemptionByPointTransaction(
                        redemptionByPointReceipt.UserId,
                        redemptionByPointReceipt.clientid,
                        (int)RedemptionByPointTransactionType.DEBIT,
                        redemptionByPointReceipt.totalpoints,
                        newPointBalance,
                        notes);
                    bool updateRedemptionMemberClientBalance = ClientManager.updateRedemptionMemberClientBalance(
                        redemptionByPointReceipt.UserId,
                        redemptionByPointReceipt.clientid,
                        newPointBalance);

                    /*
                     * MembershipUser membershipUser = Membership.GetUser(redemptionByPointReceipt.UserId);
                     * Hashtable values = new Hashtable();
                     * values.Add("[/logo/]", Config.EmailLogoUrl);
                     * var redemptionMember = ClientManager.getRedemptionMember(redemptionByPointReceipt.UserId);
                     * bool canSendEmail = EmailManager.SendClaimPointApprovalMail(
                     *                        membershipUser.Email,
                     *                        redemptionMember.firstname,
                     *                        values);
                     */
                    if (approveRedemptionByPointReceipt &&
                        (insertRedemptionByPointTransaction != -1) &&
                        updateRedemptionMemberClientBalance)
                    {
                        scope.Complete();
                    }
                }

                //reload radgrid
                var x = ClientManager.getAllRedemptionByPointReceiptPendingProcess();
                ReceiptRadGrid.DataSource = x;
                ReceiptRadGrid.Rebind();
                ClientDetailPnl.Visible = false;

                Logger.LogInfo(Membership.GetUser().UserName + "- Processed status is set and points assigned for Receipt ID(ClaimPoints):" + redemptionbypointreceiptid
                               , this.GetType());
            }
        }