예제 #1
0
        protected void UpdateRedemptionBut_Click(object sender, EventArgs e)
        {
            int redemptionrewardid = int.Parse(UpdateRedemptionBut.CommandArgument);
            var db = new ApplicationServices.ApplicationServicesDB();

            using (var scope = db.GetTransaction())
            {
                ClientManager.updateRedemptionRedemptionReward(
                    redemptionrewardid,
                    int.Parse(CollectionModeRBL.SelectedValue), int.Parse(StatusDDL.SelectedValue));

                ClientDetailPnl.Visible = false;


                //        ClientManager.updateRedemptionByProductReceipt(
                //redemptionbyproductreceiptid,
                //   int.Parse(StatusDDL.SelectedValue),
                // InvoiceNoTB.Text.Trim(), int.Parse(ResellerDDL2.SelectedValue),
                //   PurchaseDateRadDatePicker.SelectedDate,
                //    int.Parse(PromotionDDL.SelectedValue), PromotionDDL.SelectedItem.Text);


                /*    ClientManager.approveRedemptionByPointReceipt(
                 *      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;
                 *
                 *  //RedemptionByPointTransaction
                 *  string notes = "Receipt ID:" + redemptionByPointReceipt.redemptionbypointreceiptid +
                 *      " | Points:" + redemptionByPointReceipt.totalpoints;
                 *  ClientManager.insertRedemptionByPointTransaction(
                 *      redemptionByPointReceipt.UserId,
                 *      redemptionByPointReceipt.clientid,
                 *      (int)RedemptionByPointTransactionType.DEBIT,
                 *      redemptionByPointReceipt.totalpoints,
                 *      newPointBalance,
                 *      notes);
                 *  ClientManager.updateRedemptionMemberClientBalance(
                 *      redemptionByPointReceipt.UserId,
                 *     redemptionByPointReceipt.clientid,
                 *     newPointBalance);
                 */
                scope.Complete();
            }
            //reload radgrid
            // var x = ClientManager.getAllRedemptionByPointReceiptPendingProcess();
            //ReceiptRadGrid.DataSource = x;
            // ReceiptRadGrid.Rebind();
            RedemptionRewardRadGrid.Rebind();

            Logger.LogInfo(Membership.GetUser().UserName + "- updated Redemption ID:" + redemptionrewardid
                           , this.GetType());
        }
예제 #2
0
        protected void DeleteBut_Click(object sender, EventArgs e)
        {
            int redemptionrewardid = int.Parse(UpdateRedemptionBut.CommandArgument);
            var db = new ApplicationServices.ApplicationServicesDB();

            using (var scope = db.GetTransaction())
            {
                ApplicationServices.RedemptionReward redemptionReward = ClientManager.getRedemptionReward(redemptionrewardid);

                int rewardid = redemptionReward.rewardid;
                var redemptionMemberClient = ClientManager.getRedemptionMemberClient(
                    redemptionReward.UserId, redemptionReward.clientid);

                //add stock back to reward balance
                ClientManager.increaseRewardQtyBy1(rewardid);

                //if by points
                if (redemptionReward.type == (int)PromotionType.BY_POINT)
                {
                    int newPointBalance = redemptionMemberClient.pointbalance + redemptionReward.rewardpoints;

                    //return points
                    ClientManager.updateRedemptionMemberClientBalance(redemptionReward.UserId,
                                                                      redemptionReward.clientid,
                                                                      newPointBalance);
                    string notes = "VOID | Redemption ID:" + redemptionReward.redemptionrewardid + " | Points:" + redemptionReward.rewardpoints;
                    //add void transaction
                    ClientManager.insertRedemptionByPointTransaction(
                        redemptionReward.UserId,
                        redemptionReward.clientid,
                        (int)RedemptionByPointTransactionType.DEBIT,
                        redemptionReward.rewardpoints,
                        newPointBalance,
                        notes);
                }

                ClientManager.deleteRedemptionReward(
                    redemptionrewardid);
                ClientDetailPnl.Visible = false;

                scope.Complete();
                Logger.LogInfo(Membership.GetUser().UserName + "- deleted and return stock for Redemption ID:" + redemptionrewardid
                               , this.GetType());
            }

            RedemptionRewardRadGrid.Rebind();
        }
예제 #3
0
        protected void loadRedemptionByProductReceipt(int redemptionbyproductreceiptid)
        {
            var redemptionByProductReceipt = ClientManager.getRedemptionByProductReceipt(redemptionbyproductreceiptid);

            ReceiptidLit.Text = redemptionByProductReceipt.redemptionbyproductreceiptid.ToString();
            var client = ClientManager.getClient(redemptionByProductReceipt.clientid);

            ClientNameLit.Text = client.name;
            MembershipUser member = Membership.GetUser(redemptionByProductReceipt.UserId);

            UseridLit.Text = member.UserName;
            var promotion = ClientManager.getPromotion(redemptionByProductReceipt.promotionid);

            InvoiceNoTB.Text = redemptionByProductReceipt.invoiceno;
            //   PromotionLit.Text = promotion.name;
            PromotionDDL.SelectedValue             = redemptionByProductReceipt.promotionid.ToString();
            ResellerDDL2.SelectedValue             = redemptionByProductReceipt.resellerid.ToString();
            PurchaseDateRadDatePicker.SelectedDate = redemptionByProductReceipt.purchasedate;
            StatusDDL.SelectedValue = redemptionByProductReceipt.status.ToString();

            ReceiptHL.NavigateUrl = Config.UploadInvoiceRelativePath + redemptionByProductReceipt.receiptpath;

            bool canEdit;

            if ((redemptionByProductReceipt.status == (int)RedemptionByPointReceiptState.PROCESSED) ||
                (redemptionByProductReceipt.status == (int)RedemptionByPointReceiptState.DUPLICATE) ||
                (redemptionByProductReceipt.status == (int)RedemptionByPointReceiptState.REJECTED))
            {
                //  RedemptionDetailsEditPnl.Visible = false;
                canEdit = false;
                if (Roles.IsUserInRole("Admin"))
                {
                    canEdit = true;
                }
            }
            else
            {
                // RedemptionDetailsEditPnl.Visible = true;
                canEdit = true;
            }
            InvoiceNoTB.Enabled  = canEdit;
            PromotionDDL.Enabled = false;
            ResellerDDL2.Enabled = canEdit;
            PurchaseDateRadDatePicker.Enabled = canEdit;
            StatusDDL.Enabled                = canEdit;
            UpdateReceiptBut.Enabled         = canEdit;
            RedemptionDetailsEditPnl.Visible = canEdit;
            serialnoTB.Text = "";
            bool showRedemptionDetails = false;

            if ((redemptionByProductReceipt.resellerid == null) ||
                (redemptionByProductReceipt.invoiceno == null) ||
                (redemptionByProductReceipt.purchasedate == null))
            {
                showRedemptionDetails = false;
            }
            else
            {
                showRedemptionDetails = true;
            }

            RedemptionDetailsPnl.Visible = showRedemptionDetails;
            // int resellerIndex= ResellerDDL2.FindItemIndexByValue(redemptionbypointreceipt.resellerid.ToString());
            // ResellerDDL2.SelectedValue = redemptionbypointreceipt.resellerid.ToString();
            //  InvoiceNoTB.Text = redemptionbypointreceipt.invoiceno;//todo
            // PurchaseDateRadDatePicker.SelectedDate = redemptionbypointreceipt.purchasedate;//todo
            // totalpointsLit.Text = redemptionbypointreceipt.totalpoints.ToString();//todo


            //   ReceiptHL.NavigateUrl = Config.UploadInvoiceRelativePath + redemptionReward.receiptpath;

            //var x = ClientManager.getAllRedemptionByPointReceiptReceiptId(redemptionbypointreceiptid);
            //ReceiptItemRadGrid.DataSource = x;
            //ReceiptItemRadGrid.Rebind();

            //load productddl
            //var y = ClientManager.getAllProductsByPromotionid(redemptionByProductReceipt.promotionid);
            ////var y = ClientManager.getAllProductsByPromotionid(redemptionByProductReceipt.promotionid);

            //ProductDDL.DataTextField = "model";
            //ProductDDL.DataValueField = "productid";
            //ProductDDL.DataSource = y;

            //ProductDDL.DataBind();
            //ProductDDL.Items.Insert(0, new RadComboBoxItem("-select-", string.Empty));

            var z = ClientManager.getAllProductRewardsByPromotionid(redemptionByProductReceipt.promotionid);

            ProductDDL2.DataSource = z;
            ProductDDL2.DataBind();

            //load rewardfgrid
            // int redemptionbyproductreceiptid = int.Parse(ReceiptidLit.Text);
            var x = ClientManager.getAllRedemptionRewardsByReceiptId(redemptionbyproductreceiptid);

            RedemptionRewardRadGrid.DataSource = x;
            RedemptionRewardRadGrid.Rebind();


            AddItemBut.CommandArgument       = redemptionByProductReceipt.redemptionbyproductreceiptid.ToString();
            UpdateReceiptBut.CommandArgument = redemptionByProductReceipt.redemptionbyproductreceiptid.ToString();
        }
예제 #4
0
        protected void loadRedemptionReward(int redemptionrewardid)
        {
            var redemptionreward = ClientManager.getRedemptionReward(redemptionrewardid);

            RedemptionidLit.Text = redemptionreward.redemptionrewardid.ToString();
            var client           = ClientManager.getClient(redemptionreward.clientid);
            var redemptionMember = ClientManager.getRedemptionMember(redemptionreward.UserId);

            ClientNameLit.Text = client.name;
            MembershipUser member = Membership.GetUser(redemptionreward.UserId);

            UseridLit.Text    = member.UserName;
            FirstNameLit.Text = redemptionMember.firstname;
            LastNameLit.Text  = redemptionMember.lastname;
            NRICLit.Text      = redemptionMember.NRIC;
            ContactNoLit.Text = redemptionMember.contactno;
            var promotion = ClientManager.getPromotion(redemptionreward.promotionid);

            //    InvoiceNoTB.Text = redemptionByProductReceipt.invoiceno;
            PromotionLit.Text = promotion.name;
            //    PromotionDDL.SelectedValue = redemptionByProductReceipt.promotionid.ToString();
            //    ResellerDDL2.SelectedValue = redemptionByProductReceipt.resellerid.ToString();
            //   PurchaseDateRadDatePicker.SelectedDate = redemptionByProductReceipt.purchasedate;
            StatusDDL.SelectedValue = redemptionreward.status.ToString();
            // int resellerIndex= ResellerDDL2.FindItemIndexByValue(redemptionbypointreceipt.resellerid.ToString());
            // ResellerDDL2.SelectedValue = redemptionbypointreceipt.resellerid.ToString();
            //  InvoiceNoTB.Text = redemptionbypointreceipt.invoiceno;//todo
            // PurchaseDateRadDatePicker.SelectedDate = redemptionbypointreceipt.purchasedate;//todo
            // totalpointsLit.Text = redemptionbypointreceipt.totalpoints.ToString();//todo
            CollectionModeRBL.SelectedValue = redemptionreward.modeofcollection.ToString();

            //   ReceiptHL.NavigateUrl = Config.UploadInvoiceRelativePath + redemptionReward.receiptpath;

            //var x = ClientManager.getAllRedemptionByPointReceiptReceiptId(redemptionbypointreceiptid);
            //ReceiptItemRadGrid.DataSource = x;
            //ReceiptItemRadGrid.Rebind();

            //load productddl
            var y = ClientManager.getAllProductsByPromotionid(redemptionreward.promotionid);

            //var y = ClientManager.getAllProductsByPromotionid(redemptionByProductReceipt.promotionid);



            //load rewardfgrid
            // int redemptionbyproductreceiptid = int.Parse(ReceiptidLit.Text);
            //var x = ClientManager.getAllRedemptionRewardsByReceiptId(redemptionbyproductreceiptid);
            //RedemptionRewardRadGrid.DataSource = x;
            RedemptionRewardRadGrid.Rebind();


            UpdateRedemptionBut.CommandArgument = redemptionreward.redemptionrewardid.ToString();

            if (Roles.IsUserInRole("Admin"))
            {
                DeleteBut.Visible = true;
            }
            else
            {
                DeleteBut.Visible = false;
            }
        }
예제 #5
0
        protected void AddItemBut_Click(object sender, EventArgs e)
        {
            int redemptionbyproductreceiptid = int.Parse(AddItemBut.CommandArgument);
            //******** wrap this in a transaction!!
            var db = new ApplicationServices.ApplicationServicesDB();

            using (var scope = db.GetTransaction())
            {
                try
                {       // RedemptionData.ClientManager.Product2 ss = (RedemptionData.ClientManager.Product2)ProductDDL2.SelectedItem.DataItem;
                    string   temp    = ProductDDL2.SelectedValue;
                    string[] idArray = temp.Split('|');
                    //  Response.Write("<br>1:" );


                    //   Response.Write("<br>2redemptionbyproductreceiptid:" + redemptionbyproductreceiptid);
                    //  int productid = int.Parse(ProductDDL.SelectedValue);
                    int productid = int.Parse(idArray[0]);
                    int rewardid  = int.Parse(idArray[1]);
                    //   Response.Write("<br>3:" + productid);
                    var product = ClientManager.getProduct(productid);
                    //   Response.Write("<br>4:" + product.productid);
                    var redemptionByProductReceipt = ClientManager.getRedemptionByProductReceipt(redemptionbyproductreceiptid);
                    //   Response.Write("<br>redemptionbyproductreceiptid:" + redemptionbyproductreceiptid);
                    //var promotionByProductProductReward = ClientManager.getPromotionByProductProductRewardByPromotionIdProductId(redemptionByProductReceipt.promotionid, productid);
                    //   Response.Write("<br>redemptionbyproductreceiptid:" + redemptionbyproductreceiptid);
                    var reward = ClientManager.getReward(rewardid);
                    //Response.Write("<br>redemptionbyproductreceiptid:" + redemptionbyproductreceiptid);
                    //Response.Write("<br>productid:" + productid);
                    //Response.Write("<br>product:" + product.productid);
                    //Response.Write("<br>redemptionByProductReceipt:" + redemptionByProductReceipt.redemptionbyproductreceiptid);
                    ////Response.Write("<br>promotionByProductProductReward:" + promotionByProductProductReward.productid);
                    //Response.Write("<br>redemptionByProductReceipt:" + redemptionByProductReceipt.redemptionbyproductreceiptid);
                    //Response.Write("<br>reward:" + reward.rewardid);
                    //Response.Write("<br>serialnoTB.Text.Trim():" + serialnoTB.Text.Trim());
                    //Response.Write("<br>redemptionByProductReceipt.remarks:" + redemptionByProductReceipt.remarks);
                    bool enoughstock = ClientManager.canReduceRewardQtyBy1(reward.rewardid);
                    if (enoughstock)
                    {
                        int status;

                        if (redemptionByProductReceipt.modeofcollection == (int)CollectionMode.DELIVERY)
                        {
                            status = (int)RedemptionRewardState.ARRANGING_DELIVERY;
                        }
                        else
                        {
                            status = (int)RedemptionRewardState.PENDING_COLLECTION;
                        }

                        int redemptionRewardid = ClientManager.insertRedemptionReward(
                            redemptionByProductReceipt.clientid, redemptionByProductReceipt.UserId,
                            redemptionByProductReceipt.promotionid,
                            redemptionByProductReceipt.promotionname,
                            product.productid, product.name,
                            reward.rewardid, reward.name, 0,
                            redemptionByProductReceipt.modeofcollection,
                            serialnoTB.Text.Trim(), redemptionByProductReceipt.remarks,
                            (int)PromotionType.BY_PRODUCT, status,
                            redemptionbyproductreceiptid);

                        //reduce the reward qty by 1
                        ClientManager.reduceRewardQtyBy1(reward.rewardid);
                        AddItemErrorLit.Text = "";

                        Logger.LogInfo(Membership.GetUser().UserName + "- added Redemption Receipt ID(ByProduct):" + redemptionbyproductreceiptid
                                       , this.GetType());
                    }
                    else
                    {
                        AddItemErrorLit.Text = "Cannot add redemption. Not enough stock for this reward.";
                    }
                    scope.Complete();
                }
                catch (Exception ee)
                {
                }
                var x = ClientManager.getAllRedemptionRewardsByReceiptId(redemptionbyproductreceiptid);
                RedemptionRewardRadGrid.DataSource = x;
                RedemptionRewardRadGrid.Rebind();
            }

            /*      int redemptionbypointreceiptid = int.Parse(AddItemBut.CommandArgument);
             *    int productid = int.Parse(ProductDDL.SelectedValue);
             *    var product = ClientManager.getProduct(productid);
             *    ClientManager.insertRedemptionByPointReceiptItem(
             *    redemptionbypointreceiptid,
             *         productid,
             *         serialnoTB.Text.Trim(),
             *         product.points,
             *         product.model);
             *
             *    //reload item grid
             *    var x = ClientManager.getAllRedemptionByPointReceiptReceiptId(redemptionbypointreceiptid);
             *    ReceiptItemRadGrid.DataSource = x;
             *    ReceiptItemRadGrid.Rebind();
             *
             *    //reset fields for add
             *    ProductDDL.SelectedIndex = 0;
             *    serialnoTB.Text = "";
             *
             *    //update receipt
             *    //get For each
             *
             *
             *    List<RedemptionByPointReceiptItem> list = (List<RedemptionByPointReceiptItem>)x;
             *    int total = 0;
             *    foreach (RedemptionByPointReceiptItem item in list)
             *    {
             *        total += item.productpoints;
             *    }
             *    totalpointsLit.Text = total.ToString();
             *    ClientManager.updateRedemptionByPointReceiptPoint(redemptionbypointreceiptid, total);
             */
        }