protected void btnAssignPromotion_Click(object sender, EventArgs e)
    {
        clearMsgPanel();
        PromotionAssigment promotionAssigment = new PromotionAssigment();

        if (vaidateInputAndFillData(promotionAssigment))
        {
            PromotionManager promotionAssigmentManager = new PromotionManager(promotionAssigment);
            TransactionResponse response = promotionAssigmentManager.addNewPromotionAssignment();

            if (response.isSuccessful())
            {
                msgPanel.Visible = true;
                SucessDIV.Visible = true;
                lblSuccessMessage.Text = response.getMessage();

                AssignPromotionPanel.Visible = true;
                btnAssignNew.Visible = true;
                btnAssignPromotion.Visible = false;

                //REGISTER NOTIFICATION ABOUT THIS ASSIGNMENT TO HR OFFICER
                //HERE THE CIRRENT USER (i.e., HR Manager) IS THE SENDER AND HR OFFICERs ARE THE RECEIVERS
                NotificationManager notificationManager = new NotificationManager(promotionAssigment);
                TransactionResponse notificationResponse = notificationManager.addNotificationForPromotioAssignement(Membership.GetUser());
                if (!notificationResponse.isSuccessful())
                {
                    msgPanel.Visible = true;
                    WarnDIV.Visible = true;
                    lblWarningMsg.Text = notificationResponse.getMessage() + notificationResponse.getErrorCode();
                }

                //REMOVE THIS TASK FROM HR_MANGERS MAIL BOX
                TransactionResponse delteResponse = notificationManager.deleteNotificationForAssignedPromotion(Membership.GetUser());
                if (!delteResponse.isSuccessful())
                {
                    //check if Warning Message is already logged, if so just add on it
                    if (WarnDIV.Visible)
                    {
                        msgPanel.Visible = true;
                        lblWarningMsg.Text = lblWarningMsg.Text + " and " + delteResponse.getMessage() + delteResponse.getErrorCode();
                    }
                    else
                    {
                        msgPanel.Visible = true;
                        WarnDIV.Visible = true;
                        lblWarningMsg.Text = delteResponse.getMessage() + delteResponse.getErrorCode();
                    }
                }

                Promotion promotion = new Promotion();

                promotion.MinuteNo = promotionAssigment.MinuteNo;

                PromotionManager promotionManager = new PromotionManager(promotion);
                TransactionResponse promotionResponse = promotionManager.updatePromotionStatus(promotion, PromotionConstants.PROMOTION_ASSIGNED);

                if (!promotionResponse.isSuccessful())
                {
                    msgPanel.Visible = true;
                    ErroroDIV.Visible = true;
                    lblErrorMsg.Text = "Error occured while update promotion status. Please contact your system administrator.";
                    return;
                }
            }
            else
            {
                msgPanel.Visible = true;
                WarnDIV.Visible = true;
                lblWarningMsg.Text = response.getMessage() + response.getErrorCode();
            }
        }

    }