public void SavePurchaseMessages(EmailPurchaseToken token, bool send) { try { SavePurchaseAuthor(token, send); SavePurchaseLearner(token, send); } catch (Exception ex) { Logger.Error("save email message", null, ex, CommonEnums.LoggerObjectTypes.Email); } }
private void SavePurchaseAuthor(EmailPurchaseToken token, bool send) { try { var html = token.PaymentMethod == BillingEnums.ePaymentMethods.Charge_Free && token.Coupon == null?GetTemplateHtml(EmailEnums.eTemplateKinds.PURCHASE_AUTHOR_FREE) : GetTemplateHtml(EmailEnums.eTemplateKinds.PURCHASE_AUTHOR); var authorMessage = new EmailMessageDTO { Subject = String.Format(PURCHASE_AUTHOR_SUBJECT, token.Item.type.ToString().ToLower()) , MessageFrom = FROM , UserId = token.Seller.UserId , ToEmail = token.Seller.Email , ToName = token.Seller.FullName , Status = EmailEnums.eSendInterfaceStatus.Waiting , AddOn = DateTime.Now , MessageBody = html.Replace(EmailEnums.eTemplateFields.COURSE_AUTHOR.ToString().Field2Template(), token.Seller.FullName) .Replace(EmailEnums.eTemplateFields.COURSE_NAME.ToString().Field2Template(), token.Item.name) .Replace(EmailEnums.eTemplateFields.ITEM_TYPE_NAME.ToString().Field2Template(), token.Item.type.ToString().ToLower()) .Replace(EmailEnums.eTemplateFields.FULL_NAME.ToString().Field2Template(), token.Buyer.FullName) .Replace(EmailEnums.eTemplateFields.PURCHASE_DATE.ToString().Field2Template(), token.SentDate.ToShortDateString() + " " + token.SentDate.ToShortTimeString()) }; long emailId; SaveMessage(authorMessage, out emailId); if (emailId < 0 || !send) { return; } string error; _amazonEmailWrapper.SendEmail(emailId, out error); } catch (Exception ex) { Logger.Error("save purchase author email message", null, ex, CommonEnums.LoggerObjectTypes.Email); } }
private void SavePurchaseLearner(EmailPurchaseToken token, bool send) { try { string html; string agreementDescription; var couponName = token.Coupon != null ? "Coupon discount" : string.Empty; string paymentInstrumentDesc = null; if (token.PaymentMethod == BillingEnums.ePaymentMethods.Charge_Free) { html = GetTemplateHtml(token.Coupon != null ? EmailEnums.eTemplateKinds.PURCHASE_LEARNER_WITH_FREE_COUPON : EmailEnums.eTemplateKinds.PURCHASE_LEARNER_FREE); agreementDescription = token.Coupon != null ? (token.PriceLineToken != null ? token.PriceLineToken.PriceLineToken2PurchaseEmailPaymentMethod() : "") : "Free Course"; } else { html = GetTemplateHtml(token.Coupon != null ? EmailEnums.eTemplateKinds.PURCHASE_LEARNER_WITH_COUPON : EmailEnums.eTemplateKinds.PURCHASE_LEARNER); agreementDescription = token.PriceLineToken.PriceLineToken2PurchaseEmailPaymentMethod(); paymentInstrumentDesc = String.Format("{0} {1}", token.PaymentMethod == BillingEnums.ePaymentMethods.Paypal ? "Paypal account" : "credit card", token.PaymentTerm == BillingEnums.ePaymentTerms.EVERY_30 ? "every month" : string.Empty); } var learnerMessage = new EmailMessageDTO { Subject = PURCHASE_LEARNER_SUBJECT , MessageFrom = FROM , UserId = token.Buyer.UserId , ToEmail = token.Buyer.Email , ToName = token.Buyer.FullName , Status = EmailEnums.eSendInterfaceStatus.Waiting , AddOn = token.SentDate , MessageBody = html.Replace(EmailEnums.eTemplateFields.FULL_NAME.ToString().Field2Template(), token.Buyer.FullName) .Replace(EmailEnums.eTemplateFields.COURSE_AUTHOR.ToString().Field2Template(), token.Seller.FullName) .Replace(EmailEnums.eTemplateFields.THUMB_URL.ToString().Field2Template(), token.Item.thumbUrl) .Replace(EmailEnums.eTemplateFields.ITEM_TYPE_NAME.ToString().Field2Template(), token.Item.type.ToString().ToLower()) .Replace(EmailEnums.eTemplateFields.ISO.ToString().Field2Template(), token.PriceLineToken != null ? token.PriceLineToken.Currency.ISO : string.Empty) .Replace(EmailEnums.eTemplateFields.CURRENCY_SYMBOL.ToString().Field2Template(), token.PriceLineToken != null ? token.PriceLineToken.Currency.Symbol : string.Empty) .Replace(EmailEnums.eTemplateFields.AGREEMENT_DESC.ToString().Field2Template(), agreementDescription) .Replace(EmailEnums.eTemplateFields.COUPON_NAME.ToString().Field2Template(), couponName) .Replace(EmailEnums.eTemplateFields.PAYMENT_INSTRUMENT_DESC.ToString().Field2Template(), paymentInstrumentDesc) .Replace(EmailEnums.eTemplateFields.PRICE.ToString().Field2Template(), token.Price != null ? token.Price.FormatPrice2Str(2) : string.Empty) .Replace(EmailEnums.eTemplateFields.DISCOUNT.ToString().Field2Template(), token.Discount != null ? token.Discount.FormatPrice2Str(2) : string.Empty) .Replace(EmailEnums.eTemplateFields.TOTAL_PRICE.ToString().Field2Template(), token.TotalAmount != null ? token.TotalAmount.FormatPrice2Str(2) : string.Empty) .Replace(EmailEnums.eTemplateFields.ITEM_PAGE_URL.ToString().Field2Template(), token.Item.pageUrl) .Replace(EmailEnums.eTemplateFields.COURSE_NAME.ToString().Field2Template(), token.Item.name) //"<a style=\"" + NAME_HTML_STYLE_UNDERLINE + "\" href=\"" + token.Item.pageUrl + "\" >" + token.Item.name + "</a>" }; long emailId; SaveMessage(learnerMessage, out emailId); if (emailId < 0 || !send) { return; } string error; _amazonEmailWrapper.SendEmail(emailId, out error); } catch (Exception ex) { Logger.Error("save purchase learner email message", null, ex, CommonEnums.LoggerObjectTypes.Email); } }