コード例 #1
0
        protected void ReeemBut_Click(object sender, EventArgs e)
        {
            if (Request.QueryString["rewardid"] != null && Request.QueryString["promotionid"] != null)
            {
                var db = new ApplicationServices.ApplicationServicesDB();
                using (var scope = db.GetTransaction())
                {
                    int rewardid    = int.Parse(Request.QueryString["rewardid"]);
                    int promotionid = int.Parse(Request.QueryString["promotionid"]);

                    var redemptionMemberClient = ClientManager.getRedemptionMemberClient(
                        (Guid)Membership.GetUser().ProviderUserKey, Config.ClientId);

                    var reward          = ClientManager.getReward(rewardid);
                    var promotion       = ClientManager.getPromotion(promotionid);
                    int newPointBalance = redemptionMemberClient.pointbalance - reward.points;

                    //check before transaction
                    if (newPointBalance >= 0)
                    {
                        int redemptionRewardState = -1;
                        switch (int.Parse(CollectionModeRBL.SelectedValue))
                        {
                        case (int)CollectionMode.PICK_UP:
                            redemptionRewardState = (int)RedemptionRewardState.PENDING_COLLECTION;
                            break;

                        case (int)CollectionMode.DELIVERY:
                            redemptionRewardState = (int)RedemptionRewardState.PENDING_DELIVERY;
                            break;
                        }

                        //insert redemptinoreward item
                        int redemptionrewardid = ClientManager.insertRedemptionReward(
                            Config.ClientId, (Guid)Membership.GetUser().ProviderUserKey,
                            promotion.promotionid, promotion.name,
                            -1, "",
                            reward.rewardid, reward.name, reward.points,
                            int.Parse(CollectionModeRBL.SelectedValue), "", RemarksTB.Text.Trim(),
                            (int)PromotionType.BY_POINT, redemptionRewardState, -1);

                        //reduce qty of reward by 1
                        ClientManager.reduceRewardQtyBy1(reward.rewardid);

                        //add entry to point transactino
                        string notes = "Redemption ID:" + redemptionrewardid +
                                       " | Points:" + reward.points;
                        int RedemptionByPointTransactionid = ClientManager.insertRedemptionByPointTransaction(
                            (Guid)Membership.GetUser().ProviderUserKey,
                            Config.ClientId,
                            (int)RedemptionByPointTransactionType.REDEMPTION,
                            reward.points,
                            newPointBalance,
                            notes);

                        //update redemptionreward the redemption id
                        ClientManager.updateRedemptionRewardTransactionId(
                            redemptionrewardid, RedemptionByPointTransactionid);


                        //update redemptionmember point balance
                        ClientManager.updateRedemptionMemberClientBalance(
                            (Guid)Membership.GetUser().ProviderUserKey,
                            Config.ClientId,
                            newPointBalance);

                        scope.Complete();
                        //send email
                        bool             canSendEmail;
                        RedemptionMember redemptionMember = ClientManager.getRedemptionMember((Guid)Membership.GetUser().ProviderUserKey);

                        Client    client       = ClientManager.getClient(Config.ClientId);
                        string    emailLogoUrl = Config.SiteRootUrl + client.logoimagename;
                        Hashtable values       = new Hashtable();
                        values.Add("[/logo/]", emailLogoUrl);
                        values.Add("[/SubmissionDate/]", DateTime.Now.ToString("dd/MM/yyyy"));
                        values.Add("[/RedemptionNo/]", redemptionrewardid);
                        values.Add("[/ApprovedBy/]", "System");
                        values.Add("[/MemberName/]", redemptionMember.firstname + " " + redemptionMember.lastname);
                        values.Add("[/NRICNo/]", redemptionMember.NRIC);
                        values.Add("[/ContactNo/]", redemptionMember.contactno);
                        values.Add("[/DeliveryAddress/]", redemptionMember.mailingaddress + ", Singapore " + redemptionMember.postalcode);
                        values.Add("[/PointsDeducted/]", reward.points);
                        values.Add("[/BalancePoints/]", newPointBalance);
                        values.Add("[/RedemptionItem/s/]", reward.name);
                        values.Add("[/OutstandingQuantity/]", "1");
                        switch (int.Parse(CollectionModeRBL.SelectedValue))
                        {
                        case (int)CollectionMode.PICK_UP:
                            canSendEmail = EmailManager.SendRedemptionByPointsSelfCollectMail(
                                Membership.GetUser().Email,
                                redemptionMember.firstname,
                                values, this.Response);

                            break;

                        case (int)CollectionMode.DELIVERY:
                            canSendEmail = EmailManager.SendRedemptionByPointsDeliveryMail(
                                Membership.GetUser().Email,
                                redemptionMember.firstname,
                                values, this.Response);
                            break;
                        }

                        Response.Redirect("RedeemByPointsAck.aspx");
                    }
                    else
                    {
                        //not enough points
                    }
                }
            }
        }
コード例 #2
0
        protected void SignUpBut_Click(object sender, EventArgs e)
        {
            Page.Validate("SignUpVG");
            if (Page.IsValid)
            {
                //add Membership
                MembershipUser aMembershipUser;
                bool           canInsertMembershipUser = false;
                try
                {
                    string username         = (string)Session["Username"];
                    string password         = (string)Session["Password"];
                    bool   memberDisclaimer = (bool)Session["MemberDisclaimerCB"];
                    bool   memberNewsletter = (bool)Session["MemberNewsletterCB"];

                    //find member in rewardhub db or create new user
                    aMembershipUser = Membership.GetUser(username);

                    if (aMembershipUser != null)
                    {
                        Trace.Warn(this.ToString(), "User found in RedemptionDB");
                        canInsertMembershipUser = true;
                    }
                    else
                    {
                        Trace.Warn(this.ToString(), "User not found in RedemptionDB. adding it");
                        aMembershipUser = Membership.CreateUser(username,
                                                                password, username);
                        canInsertMembershipUser = true;
                    }

                    if (!Roles.IsUserInRole(aMembershipUser.UserName, RedemptionData.UserRole.MEMBER.ToString()))
                    {
                        Roles.AddUserToRole(aMembershipUser.UserName, RedemptionData.UserRole.MEMBER.ToString());
                    }


                    if (canInsertMembershipUser)
                    {
                        #region canInsertMembershipUser
                        var redemptionMemberClient = ClientManager.getRedemptionMemberClient(
                            (Guid)aMembershipUser.ProviderUserKey,
                            Config.ClientId);

                        if (redemptionMemberClient == null)
                        {
                            #region add member
                            #region gender
                            bool gender;
                            if (MemberGenderRBL.SelectedValue == "1")
                            {
                                gender = true;
                            }
                            else
                            {
                                gender = false;
                            }
                            #endregion
                            bool canInsertMember = ClientManager.insertRedemptionMember(
                                (Guid)aMembershipUser.ProviderUserKey,
                                MemberFirstnameTB.Text.Trim(),
                                MemberLastnameTB.Text.Trim(),
                                MemberNricTB.Text.Trim(),
                                gender,
                                (DateTime)MemberDOBTB.SelectedDate,
                                MemberMailingAddressTB.Text.Trim(),
                                MemberContactnoTB.Text.Trim(),
                                MemberPostalCodeTB.Text.Trim());
                            //add member to client
                            bool canInsertMemberClient = ClientManager.insertRedemptionMemberClient(
                                (Guid)aMembershipUser.ProviderUserKey,
                                Config.ClientId,
                                memberDisclaimer,
                                memberNewsletter);

                            if (ChildDobTB.SelectedDate != null)
                            {
                                //add child
                                bool childGender;
                                if (ChildGenderRBL.SelectedValue == "1")
                                {
                                    childGender = true;
                                }
                                else
                                {
                                    childGender = false;
                                }
                                bool canInsertChild = ClientManager.insertRedemptionChild(
                                    (Guid)aMembershipUser.ProviderUserKey,
                                    ChildFirstnameTB.Text.Trim(),
                                    ChildLastnameTB.Text.Trim(),
                                    childGender,
                                    (DateTime)ChildDobTB.SelectedDate);
                            }
                            #endregion

                            if (canInsertMember && canInsertMemberClient)
                            {
                                //send email out
                                //get members
                                var    client       = ClientManager.getClient(Config.ClientId);
                                string emailLogoUrl = Config.SiteRootUrl + client.logoimagename;

                                var redemptionMember = ClientManager.getRedemptionMember(
                                    (Guid)aMembershipUser.ProviderUserKey);
                                Hashtable values = new Hashtable();
                                values.Add("[/logo/]", emailLogoUrl);
                                bool canSendEmail = EmailManager.SendSignUpMail(
                                    aMembershipUser.Email,
                                    redemptionMember.firstname,
                                    values, this.Response);

                                if (!canSendEmail)
                                {
                                    //end signupemailerror
                                }
                                Session.Remove("MemberDisclaimerCB");
                                Session.Remove("MemberNewsletterCB");
                                Session.Remove("Username");
                                Session.Remove("Password");

                                Session.Add("SignUpType", "new");
                                Session.Add("MembershipUser", aMembershipUser);
                                FormsAuthentication.SetAuthCookie(username, true);
                                Response.Redirect("SignUpAck.aspx");
                            }
                            else
                            {
                                Trace.Warn(this.ToString(), "Cannot insert member or insert memberclient");
                                ErrorLit.Text = "Cannot insert member or insert memberclient";


                                if (Roles.IsUserInRole(aMembershipUser.UserName, RedemptionData.UserRole.MEMBER.ToString()))
                                {
                                    Roles.RemoveUserFromRole(aMembershipUser.UserName, RedemptionData.UserRole.MEMBER.ToString());
                                }

                                Membership.DeleteUser(aMembershipUser.UserName, true);
                            }
                        }
                        else
                        {
                            Trace.Warn(this.ToString(), "user has already registered");
                            //user has already registered
                            ErrorLit.Text = "You have already registered, Please try to login to continue.";
                        }
                        #endregion
                    }
                    else
                    {
                        Trace.Warn(this.ToString(), "cannot insert MembershipUser");
                        //Cannot insert membership
                        ErrorLit.Text = "cannot insert MembershipUser";
                    }
                }
                catch (MembershipCreateUserException membershipCreateUserException)
                {
                    Trace.Warn(this.ToString(), "cannot insert MembershipUser");
                    Trace.Warn(this.ToString(), "membershipCreateUserException");
                    ErrorLit.Text = "cannot insert MembershipUser membershipCreateUserException";
                }
            }
        }
コード例 #3
0
        protected void RadAsyncUpload1_FileUploaded(object sender, Telerik.Web.UI.FileUploadedEventArgs e)
        {
            //check file size
            //if (e.File.ContentLength < 5000)
            //{
            //}
            string filename = DateTime.Now.ToString("yyyyMMdd") + "_" + Guid.NewGuid().ToString() + e.File.GetExtension();

            var physicalSavePath = MapPath(Config.UploadInvoiceVirtualPath) + filename;

            //Save physical file on disk
            e.File.SaveAs(physicalSavePath, true);

            //Add receipt to uploaded iamge
            //create upload receipt record


            ClientManager.insertRedemptionByPointReceipt(
                (Guid)Membership.GetUser().ProviderUserKey,
                filename,
                Config.ClientId,
                (int)RedemptionByPointReceiptState.PENDING_PROCESS, 0, 0, "", null);

            var    client       = ClientManager.getClient(Config.ClientId);
            string emailLogoUrl = Config.SiteRootUrl + client.logoimagename;

            Hashtable values = new Hashtable();

            values.Add("[/logo/]", emailLogoUrl);
            values.Add("[/SiteRootUrl/]", Config.SiteRootUrl);
            var  redemptionMember = ClientManager.getRedemptionMember((Guid)Membership.GetUser().ProviderUserKey);
            bool canSendEmail     = EmailManager.SendClaimPointAckMail(
                Membership.GetUser().Email,
                redemptionMember.firstname,
                values, this.Response);

            // e.IsValid = true;

            /*
             * BtnSubmit.Visible = false;
             * RefreshButton.Visible = true;
             * RadAsyncUpload1.Visible = false;
             *
             * var liItem = new HtmlGenericControl("li");
             * liItem.InnerText = e.File.FileName;
             *
             *
             * if (totalBytes < MaxTotalBytes)
             * {
             *  // Total bytes limit has not been reached, accept the file
             *  e.IsValid = true;
             *  totalBytes += e.File.ContentLength;
             * }
             * else
             * {
             *  // Limit reached, discard the file
             *  e.IsValid = false;
             * }
             *
             * if (e.IsValid)
             * {
             *
             *  ValidFiles.Visible = true;
             *  ValidFilesList.Controls.AddAt(0, liItem);
             *
             * }
             * else
             * {
             *
             *  InvalidFiles.Visible = true;
             *  InValidFilesList.Controls.AddAt(0, liItem);
             * }*/
        }
コード例 #4
0
        /// <summary>
        /// Send  Password Reset Email
        /// </summary>
        /// <param name="toEmail"></param>
        /// <param name="toDisplayname"></param>
        /// <param name="replaceValues"></param>
        /// <returns></returns>
        public static bool SendSignUpMail(string toEmail, string toDisplayname,
                                          Hashtable replaceValues, HttpResponse httpResponse)
        {
            bool success = false;

            try
            {
                //Setting the mail, from email and to email
                MailMessage Mail     = new MailMessage();
                string      mailTxt  = "";
                string      mailHtml = "";
                if (EmailManager.emailconfig.Count == 0)
                {
                    EmailManager.LoadClientEmailValues(httpResponse);
                }
                Dictionary <string, string> emailconfig = EmailManager.emailconfig;
                //setup email
                Mail.From = new MailAddress(emailconfig["FromEmail"], emailconfig["FromName"]);
                Mail.To.Add(new MailAddress(toEmail, toDisplayname));

                //Get Reset password email setting
                Mail.Subject = emailconfig["EmailSignUpSubject"];

                ICollection replaceValuesKeys = replaceValues.Keys;

                #region build text view format

                mailTxt = System.IO.File.ReadAllText(System.AppDomain.CurrentDomain.BaseDirectory
                                                     + emailconfig["EmailFolder"]
                                                     + emailconfig["EmailSignUpTxt"]);

                foreach (object Key in replaceValuesKeys)
                {
                    mailTxt = mailTxt.Replace(Key.ToString(), replaceValues[Key].ToString());
                }
                AlternateView plainView = AlternateView.CreateAlternateViewFromString(mailTxt, null, "text/plain");
                Mail.AlternateViews.Add(plainView);
                #endregion

                #region build Html text view


                mailHtml = System.IO.File.ReadAllText(System.AppDomain.CurrentDomain.BaseDirectory
                                                      + emailconfig["EmailFolder"]
                                                      + emailconfig["EmailSignUpHtml"]);

                foreach (object Key in replaceValuesKeys)
                {
                    mailHtml = mailHtml.Replace(Key.ToString(), replaceValues[Key].ToString());
                }

                AlternateView htmlView = AlternateView.CreateAlternateViewFromString(mailHtml, null, "text/html");
                Mail.AlternateViews.Add(htmlView);
                Mail.IsBodyHtml = true;
                #endregion

                SmtpClient smtp = new SmtpClient();
                smtp.Send(Mail);
                success = true;
            }
            catch (Exception eee)
            {
                Logger.Log(eee, typeof(EmailManager));
            }
            return(success);
        }