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 } } } }
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"; } } }
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); * }*/ }
/// <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); }